UNPKG

bb-api-platforma

Version:

API module for BetBooster Platform

1,807 lines (1,785 loc) 53.5 kB
export interface IBetslipItems { Add1: number | null; Add2: number | null; BetVarID: number; LinesID: number; HandSize: number | null; IsLive: boolean; Odds: number; } export interface IAddToBasket { eId: number; bId: number; r: number; fs: number | null; a1: number | null; a2: number | null; isLive: boolean; } export interface IRate { Rate: string; IsEnabled?: boolean; SignChange?: string; Id?: string; TID?: string; NameShort?: string; NameLong?: string; BN?: string; BetId?: number; AddToBasket?: IAddToBasket; S?: number; N?: number; TotalSize?: number; ForaSize?: number; } export interface IMainBet { Id: string; Caption?: string; Rates?: IRate[]; } export interface IEventKeys { ID: number; LinesID: number; TurnirID: number; SportID: number; } export interface IEventsHeader { ExtraBetTypesCount: number; MainBets: IMainBet[]; HomeTeamName: string; AwayTeamName: string; SportName: string; TourneyName: string; Comment: string; EventKeys: IEventKeys; Date: string; CountryId: number; PriceNum: number; } export interface GetPrematchTournament { EventsHeaders: IEventsHeader[]; Id: number; Name: string; } export interface IRates { S: string; IsT: boolean; Caption: string; Id: string; Rates: IRate[]; State: number; GroupName: string | null; Comment: string | null; } export interface IRospisGroup { Name: string; IsEnabled: boolean; State: number; Id: number; Rates: IRates[]; } export interface IMinMatch { Minutes: number; Seconds: number; TotalMinutes: number; } export interface ILiveDescription { SportId: number; CountryId: number; TournamentId: number; LinesId: number; CommentId: null | string; PriceNum: number; Comment: string; Score: string; MinMatch: IMinMatch; Date: string; ServingTeam: number; NameTeam1: string; NameTeam2: string; TName: string; SportName: number; } export interface ILiveData { RospisGroups: IRospisGroup[]; TimeStamp: null | string; Id: string; Status: number; CountRospis: number; State: number; Description: ILiveDescription; Statistic: string; ScoreStats: any[]; TVChannels: any[]; Markets: any[]; LineArchive: null | string; } export interface ILiveDataResponce { ts: number; events: ILiveData[]; isFullPackage: boolean; Error?: string | null; } export interface ISport { ID: number; Name: string; } export interface IGetLineSportsResponse { [index: number]: ISport; } export interface ICountry { ID: number; Name: string; } export interface IGetCountriesListResponse { [index: number]: ICountry; } export interface IChangePassword { mailSubject: string; userData: { UserId: number; OldPassword: string; NewPassword: string; /** * offset from GMT in the format * new Date().getTimezoneOffset() / 60 * @type {number} */ Gmt: number; /** * Блять! Id Языка * @type {number} */ Language: number; }; } export interface ISearchPrematch { SportName: string; SportId: number; Id: number; CountryId: number; Name: string; Type: number; TournamentId?: number; Date?: string; TournamentName?: string; PriceNum?: number; } export interface ISearchEventsData { CountryId: number; Date: string; Id: number; Name: string; PriceNum: number; SportId: number; SportName: string; TournamentId: number; TournamentName: string; /** * Types: * * 0 = "Sport"; * * 1 = "Tournament"; * * 2 = "PrematchEvent"; * * 3 = "LiveEvent"; * @type {0|1|2|3} */ Type: 0 | 1 | 2 | 3; isLive: boolean; to: { name: string; params: { prEventId: string; }; }; t1: string; t2: string; } export interface IPayloadWithdrawal { /** * ID платёжной системы (Кассир(5), WebMoney(2), Skrill(10)) * Всю информацию выяснять у программистов * @type {number} */ psType: number; amount: string; /** * Номер кошелька в случае * вывода через кассира - номер кассы * в случае вывода на карту - номер карты * @type {string} */ purse: string; password: string; /** * Хрень */ securityCode?: string; secAnswer?: string; additionalParams?: Record<string, any>; } export interface IPayloadCancelOrderedTransaction { transactionId: number; status: ETransactionInternalStatus; } /** * Represents the payload for retrieving account transactions. * "/account/GetAccountTransactions" */ export interface IGetMovementOfMoneyPayload { /** * Start date format: DDMMYYYY */ begin: string; /** * End date format: DDMMYYYY */ end: string; /** * Transactions types: */ type: ETransactionType; /** * Period types: */ periodType: EPeriodType; /** * Number of page (default 0) */ page: number; /** * Count items per page */ count: number; /** * (optional) Added automatically in the API class */ culture?: string; } export interface ITransaction { Id: number; TransactionDate: string; TransactionDescription: string; TransactionType: number; Bonus: number; Amount: number; Balance: number; IsAddition: boolean; BetId: number; PointName: string; PaymentSystemName: string; BetCode: string; PaymentSystemId: number | null; } export interface ITransactionsPayload { TransactionsCount: number; TransactionsAmount: number; RakebackTransactionsAmount: number; TransactionsDataList: ITransaction[]; } export declare enum ETransactionInternalStatus { /** Пустой, значение по умолчанию для всех транзакций (0) */ None = 0, /** Заказано на вывод, транзакция не обработана (1) */ Ordered = 1, /** Транзакция подтверждена (разрешена) админом к выводу на кассе (2) */ Confirmed = 2, /** Авто-отмена транзакции (нужна для отмены пользовательской транзакции и создания нового заказа) (3) */ AutoReturned = 3, /** Авто-заказ денег на вывод (например, перезаказ на другую сумму) (4) */ AutoOrdered = 4, /** Возвращено (отказ/отмена от выплаты) (5) */ Returned = 5, /** Вывод денег пользователю (6) */ Paid = 6, /** Подтвержденная транзакция отменена (7) */ ConfirmedReturned = 7, /** * Транзакция находится в ожидании * (для платежки DengiOnline транзакция является подстверженной кассиром, но еще находится в ожидании подтверждения/отмены от платежной системы) * можно использовать еще для банковских карточек, там ожидание от 3 до 5 рабочих дней */ Pending = 8 } export type TGetUserBetsPayload = { /** Date format 'DDMMYYYY' */ begin: string; /** Date format 'DDMMYYYY' */ end: string; /** default: 0 */ page: number; /** default: 500 */ count: number; /** hardware: 0 */ periodType: number; showLossBets: boolean; showWinBets: boolean; showWorkBets: boolean; culture?: string; }; export type TGetGameFrameGoldenRacePayload = { /** Идентификатор игры. "gameId" Обязательный параметр. */ game: number; /** URL, на который игра перенаправляет в случае неожиданной ошибки или используется для клиентских конфигураций, таких как URL лобби для мобильных игр. Обязательный параметр. */ backurl: string; /** Режим игры: 0 для виртуального (fun) или 1 для реального (real). По умолчанию: 1. */ mode: 0 | 1; /** Код языка в формате ISO 639-1 alpha-2 для загрузки локализации. По умолчанию: "en". */ language: string | 'en' | 'fr' | 'es' | 'pt' | 'tr'; /** Платформа, с которой была запущена игра: "desktop" или "mobile". Укажите "mobile", если хотите открыть мобильный клиент игры. По умолчанию: "desktop". */ clientPlatform: 'desktop' | 'mobile'; }; export type TGetGameListGoldenRacePayload = { platforms: 'mobile' | 'desktop' | 'retail'; gameTitle?: string; provider?: string[]; type?: string; sub_type?: string; }; export type TPlaceBetPayload = { betAmount: number; doAcceptOddsChanges: boolean; /** * Should look something like this: * `{ * "4084082_132_1.5_null_null": true, * "4083927_39_null_276_null": true * }` */ statuses: Record<string, boolean>; /** * Is system (-1) or size of system (number) * * (`-1`) not a system * * (`system_size`) e.g. 3 events with 2 each, so we pass (2) */ systemIndex: number; }; export type TBetslip = { LinesID: number | string; BetVarID?: number | string; HandSize?: number | string; Add1?: number | string; Add2?: number | string; }; export type TSignUpPayload = { /** * UID Сайта партнера, например, "betbooster.win" */ PartnerSiteUid: string; FirstName?: string; MiddleName?: string; EmailOrPhone: string; /** * @deprecated * Устарело, неорбходимо использовать PointId */ CurrencyId?: number; /** * Новое поле, которое обозначает ID кассы, которое определяет валюту */ PointId?: number; Password: string; PasswordRepeat: string; UrlRedirect?: string; /** * Subject for e-mail */ EmailSubject?: string; /** * e-mail text Body. * Some text with {userHash}, and {userHash} can be in multiple places in {userHash} of this text. * Instead of "{userHash}", the authorisation token must be substituted in all places. */ EmailBody?: string; EmailFrom?: string; ConfirmUrl?: string; Culture?: string; }; export type TGetMovementOfMoney = { result: { income: boolean; sign: string; id: number; typeId: number; typeName: string; date: string; value: number; amount: number; bonus: number; balance: number; }[]; }; /** * Вырианты вызова API * * `v1` - старый API * * `v2` - новый API * * `lbc` - API для работы с авторизацией */ export declare enum api { LINE = "live", LIVE = "line", V1 = "v1", V2 = "v2", NV20 = "nv20", LBC = "lbc", /** /api/v1/office/[LOCALE][/PATH] */ OFFICE = "office", BASE = "base", DIRECT = "direct" } export interface TAddBetslip { culture: string; /** ID События */ eId: number; /** ID Ставыки */ bId: number; /** Коэфициент */ r: number; /** Размер Форы или Тотала */ fs: number | null; /** Доп. параметр */ a1: number | null; /** Доп. параметр */ a2: number | null; isLive: boolean; } export interface TCouponEdited { BetId: number; DoAcceptOddsChanges: boolean; BetContentWeb: IBetContentWeb[]; Culture: string; } export interface IBetContentWeb { BetContent: IOddsEdited; IdOldBet: number; } export interface IOddsEdited { Odds: number; LinesID: number; BetVarID: number; Add1: number; Add2: number; HandSize: number; IsBonus: boolean; IsLive: boolean; } export declare enum EBetFlags { /** Неопределено. ( !!! Нельзя использовать !!! ) */ None = 0, /** Ординар */ Single = 1, /** Экспресс */ Multi = 2, /** Система */ System = 4, /** Условная ставка */ Reinvested = 8, /** Бонус */ Bonus = 16, /** Обычная ставка (до начала матча) */ Ordinary = 32, /** Ставка лайв (по ходу игры) */ Live = 64, /** Комбинированя ставка (лайв и обычная, ставится только в шапках (ставка, экспресс, система) */ Combined = 96 } /** * Коды ошибок при постановке ставки * Значения которые возвращает метод API * `/betting/CashOutReturnBet` */ export declare enum PutBetErrors { /** Успешно */ None = 0, /** Ставка не найдена */ BetNotFound = 1, /** Событие не найдено */ EventNotFound = 2, /** Событие уже началось (для офлайн событий) */ EventStarted = 3, /** Изменился коэффициент */ OddsChange = 4, /** Изменился размер форы/тотала */ HandSizeChange = 5, /** Внутренняя ошибка сохранения ставки */ ErrorSave = 6, /** Не принята букмекером */ BlockedBookmaker = 7, /** Сумма ставки меньше минимальной */ MinSizeAmount = 8, /** Сумма ставки больше максимальной */ MaxSizeAmount = 9, /** Отсутствует информация об авторе ставки */ ErrorAuthorBet = 10, /** Отсутствует информация о содержимом ставки */ ErrorContentBet = 11, /** Нет денег на счету игрока */ ErrorBalance = 12, /** Остановлен прием на событие */ EventStopped = 13, /** Остановлен прием на вариант ставки */ VariantStopped = 14, /** Ставка пустая экспрессе или в системе нет событий) */ BetEmpty = 15, /** Плохое кол-во ординаров экспрессе или в системе не ликвидное число событий) */ BetBadCount = 16, /** В экспрессе или системе одно и тоже событие используется больше одного раза */ MultiUsedEvent = 17, /** Взаимосвязанные события */ ImposibleEvents = 18, /** Не пройдено ограничение по максимальной ставке в обычной линии */ RiskBetMaxBet = 19, /** Не пройдено ограничение по максимальной ставке в лайв линии */ RiskBetMaxBetLive = 20, /** Не пройдено ограничение по наносу в обычной линии */ RiskBetIn = 21, /** Не пройдено ограничение по наносу в лайв линии */ RiskBetInLive = 22, /** Не пройдено ограничение по выплате в обычной линии */ RiskBetOut = 23, /** Не пройдено ограничение по выплате в лайв линии */ RiskBetOutLive = 24, /** Не пройдено ограничение по максимальной ставке в обычной линии */ RiskEventMaxBet = 25, /** Не пройдено ограничение по максимальной ставке в лайв линии */ RiskEventMaxBetLive = 26, /** Не пройдено ограничение по наносу в обычной линии */ RiskEventIn = 27, /** Не пройдено ограничение по наносу в лайв линии */ RiskEventInLive = 28, /** Не пройдено ограничение по выплате в обычной линии */ RiskEventOut = 29, /** Не пройдено ограничение по выплате в лайв линии */ RiskEventOutLive = 30, /** Не пройдено ограничение по максимальной ставке в обычной линии */ RiskTournamentMaxBet = 31, /** Не пройдено ограничение по максимальной ставке в лайв линии */ RiskTournamentMaxBetLive = 32, /** Не пройдено ограничение по наносу в обычной линии */ RiskTournamentIn = 33, /** Не пройдено ограничение по наносу в лайв линии */ RiskTournamentInLive = 34, /** Не пройдено ограничение по выплате в обычной линии */ RiskTournamentOut = 35, /** Не пройдено ограничение по выплате в лайв линии */ RiskTournamentOutLive = 36, /** Не пройдено ограничение по максимальной ставке в обычной линии */ RiskUserMaxBet = 37, /** Не пройдено ограничение по максимальной ставке в лайв линии */ RiskUserMaxBetLive = 38, /** Не пройдено ограничение по наносу в обычной линии */ RiskUserIn = 39, /** Не пройдено ограничение по наносу в лайв линии */ RiskUserInLive = 40, /** Не пройдено ограничение по выплате в обычной линии */ RiskUserOut = 41, /** Не пройдено ограничение по выплате в лайв линии */ RiskUserOutLive = 42, /** Не пройдено ограничение по максимальной ставке в обычной линии */ RiskUserSportMaxBet = 43, /** Не пройдено ограничение по максимальной ставке в лайв линии */ RiskUserSportMaxBetLive = 44, /** Не пройдено ограничение по наносу в обычной линии */ RiskUserSportIn = 45, /** Не пройдено ограничение по наносу в лайв линии */ RiskUserSportInLive = 46, /** Не пройдено ограничение по выплате в обычной линии */ RiskUserSportOut = 47, /** Не пройдено ограничение по выплате в лайв линии */ RiskUserSportOutLive = 48, /** Не пройдено ограничение по максимальной выплате по ставке в ставке в обычной линии */ RiskBetMaxBetOut = 53, /** Не пройдено ограничение по максимальной выплате по ставке в ставке в лайв линии */ RiskBetMaxBetOutLive = 54, /** Не пройдено ограничение по максимальной выплате по ставке в событии в обычной линии */ RiskEventMaxBetOut = 55, /** Не пройдено ограничение по максимальной выплате по ставке в событии в лайв линии */ RiskEventMaxBetOutLive = 56, /** Не пройдено ограничение по максимальной выплате по ставке в турнире в обычной линии */ RiskTournamentMaxBetOut = 57, /** Не пройдено ограничение по максимальной выплате по ставке в турнире в лайв линии */ RiskTournamentMaxBetOutLive = 58, /** Не пройдено ограничение по максимальной выплате по ставке в пользователе в обычной линии */ RiskUserMaxBetOut = 59, /** Не пройдено ограничение по максимальной выплате по ставке в пользователе в лайв линии */ RiskUserMaxBetOutLive = 60, /** Не пройдено ограничение по максимальной выплате по ставке в спорте пользователя в обычной линии */ RiskUserSportMaxBetOut = 61, /** Не пройдено ограничение по максимальной выплате по ставке в спорте пользователя в лайв линии */ RiskUserSportMaxBetOutLive = 62, UserNotFound = 49, PointNotFound = 50, TournamentNotFound = 51, PutBetContentIsNull = 52, LiveBetOfflineEvent = 63, OfflineBetLiveEvent = 64, BadKoefMoney = 65, MultiPutBet = 66, MinMoreThanMax = 67, TopMultiNotFound = 68, AmountOut = 69, BetBadCountExpressOnly = 70, SingleOnly = 71, BetBadCountExpress3 = 73, BetBadCountExpress4 = 74, BetBadCountExpress5 = 75, BetBadCountExpress6 = 76, BetBadCountExpress7 = 77, BetBadCountExpress8 = 78, BetBadCountExpress9 = 79, MaxOddForMulty = 80, LimitForPoint = 81, LimitForUserBets = 82, InvalidSoftType = 777, InvalidCurrency = 778, MaxBetLimitExpired = 779 } /** * Коды ошибок при постановке ставки * Значения которые возвращает метод API * `/betting/CashOutReturnBet` */ export declare const PutBetErrorsDescriptions: Record<number, string>; export interface IUser { UserId?: number; [key: string]: string | number | null | boolean | object | undefined; } /** * типы закладок */ export declare enum EFavoriteType { Tournament = 0, Event = 1, LiveEvent = 2, LineEvent = 3, None = 4 } export declare enum EPaymentSystemTypeEnum { /** Не указана платёжная система */ None = 0, /** Ручной ввод/вывод денег */ Manual = 1, /** Система WebMoney */ WebMoney = 2, /** SmsProxy */ SmsProxy = 3, /** Ваучеры */ Voucher = 4, /** Ввод/вывод денег через кассу */ Cashier = 5, /** Система LiqPay */ LiqPay = 6, /** Не поддерживаем */ UnSupported = 7, /** OSMP system */ Osmp = 8, /** ePay system */ EPay = 9, /** MoneyBookers */ MoneyBookers = 10, /** PayPal */ PayPal = 11, /** MegaPay */ MegaPay = 12, /** Tandem */ Tandem = 13, /** TelCell */ TelCell = 14, /** WalletOne */ WalletOne = 15, /** OkPay */ OkPay = 16, /** EDram */ EDram = 17, /** ArCa */ ArCa = 18, /** TotoCards */ ScratchCardsToto = 19, /** bonus for register */ AccountBonus = 20, /** Pay2pay */ Pay2Pay = 21, /** InterKassa */ InterKassa = 22, /** AlliedWallet Custom Pay(Bank cards) */ AlliedWallet = 23, /** Terminal kz system */ CyberPlat = 24, /** EasyPay */ EasyPay = 25, /** Terminal kz system */ Altel = 26, /** Партнер Нижний Новгород */ PartnerNN = 27, /** BetsStore скачки */ BetsstoreHorseRace = 28, /** BetsStore ставки */ BetsstoreBets = 29, /** BetsStore бонусы */ BetsstoreBonus = 30, /** www.dengionline.com */ DengiOnline = 31, /** DengiOnlineLiqPay */ DengiOnlineLiqPay = 32, /** DengiOnlineIPayMTS */ DengiOnlineIPayMTS = 33, /** DengiOnlineIPayLife */ DengiOnlineIPayLife = 34, /** DengiOnlineQiwi */ DengiOnlineQiwi = 35, /** Golden Race */ GoldenRace = 44, /** qiwi */ QiWi = 45, /** beeline */ Beeline = 46, /** PayTrio */ PayTrio = 47, /** FcPay */ FcPay = 48, /** слоты http://flashslots.s3.amazonaws.com */ FlashSlots = 49, /** XProGamingCasino */ XProGamingCasino = 50, /** BetsStore Kassa24 */ BetsstoreKassa24 = 51, /** BetsStore Wooppay */ BetsstoreWooppay = 52, /** map attack bets */ MapAttackBets = 53 } export declare enum EBetslipType { Ordinar = 0, Express = 1, System = 2 } /**Transactions types */ export declare enum ETransactionType { /** (default) all without internal; */ AllWithoutInternal = 0, /** external deposit */ ExternalDeposit = 1, /** external withdraw */ ExternalWithdraw = 1, /** internal win bets */ InternalWinBets = 3, /** Internal loss bets */ InternalLossBets = 4, /** Internal bets in work */ InternalBetsInWork = 5 } export type TBetslipSettings = { UserId: number; IsOneClick: boolean; OneClickAmount: number; IsAgreeChangeUp: boolean; IsAgreeChangeDown: boolean; IsAgreeChangeTotal: boolean; IsDeleteCupons: boolean; DeleteCuponsTime: number; FavAmount1: number; FavAmount2: number; FavAmount3: number; }; export type TPersonalData = { Country: string; TimeZone: string; PostalCode: string; Region: string; City: string; Address: string; Phone: string; Email: string; Image: string; [key: string]: string; }; export declare enum EPeriodType { /** Не определено (используется для выбора даты) */ None = 0, /** За сегодня */ Today = 1, /** За вчера */ Yesterday = 2, /** За последние 7 дней */ Last7Days = 3, /** За последние 14 дней */ Last14Days = 4, /** За последние 30 дней */ Last30Days = 5, /** За последние 2 дня */ Last2Days = 6, /** За последнюю неделю */ LastWeek = 7, /** За сутки(с начальной даты) */ SelectedDate = 8 } /** * Типы внутренних транзакций */ export declare enum ETransactionInternalType { None = 0, /** * Снятие денег под ставку (1) */ WithdrawForBet = 1, /** * Возврат суммы ставки для расчитаной ставки (2) */ ReturnFromCompiledBet = 2, /** * Заказ вывода денег из системы (3) */ WithdrawOrder = 3, /** * Отмена заказа вывода денег из системы (4) */ WithdrawCancel = 4, /** * Выигрыш ставки (5) */ BetWin = 5, /** * Проигрыш ставки (6) */ BetLoss = 6, /** * Бонус пополнения счета (7) */ Bonus = 7, /** * Подтверждение вывода денег (8) */ WithdrawConfirm = 8, /** * Возврат проигравшей ставки (возврат просчета) (10) */ ReturnCalcBetWin = 10, /** * Возврат выигравшей ставки (возврат просчета) (11) */ ReturnCalcBetLoss = 11, /** * Снятие денег под ставку (возврат просчета) (12) */ ReturnCalcPutBet = 12, /** * Отмена подтвержденного заказа вывода денег из системы (13) */ ConfirmedWithdrawCancel = 13, /** * Удаление принятой ставки (14) */ DeleteBet = 14, /** * Снятие денег под ставку BetgamesTV (15) */ WithdrawForBetgamesTv = 15, /** * Выигрыш ставки BetgamesTV (16) */ BetWinBetgamesTv = 16, /** * Проигрыш ставки BetgamesTV (17) */ BetLossBetgamesTv = 17, /** * Рестарт лимита. (увеличение) (18) */ ResetLimitAdd = 18, /** * Рестарт лимита. (уменьшение) (19) */ ResetLimitDec = 19, /** * Изменение лимита. (увеличение) (20) */ ModifyLimitAdd = 20, /** * Изменение лимита. (уменьшение) (21) */ ModifyLimitDec = 21, /** * Пополнение счета партнером(Нижний Новгород) (22) */ IncreaseMoneyByPartnerNN = 22, /** * Снятие денег со счета партнером(Нижний Новгород) (23) */ WithdrawMoneyByPartnerNN = 23, /** * Снятие денег под ставку GoldenRace (24) */ WithdrawForGoldenRace = 24, /** * Выигрыш ставки GoldenRace (25) */ BetWinGoldenRace = 25, /** * Проигрыш ставки GoldenRace (26) */ BetLossGoldenRace = 26, /** * Проигрыш ставки GoldenRace (27) */ BetCancelGoldenRace = 27, /** * Ставка проиграла но у неё был бонус кассы 5,7,9 по сути Win */ BetWinPointerBonus = 28, /** * Возврат просчёта выигрышной ставки с бонусом 5.7.9 */ ReturnCalcBetWinPointerBonus = 29, /** * Снятие денег под ставку FlashSlots (30) */ WithdrawForFlashSlots = 30, /** * Выигрыш ставки FlashSlots (31) */ BetWinFlashSlots = 31, /** * Проигрыш ставки FlashSlots (32) */ BetLossFlashSlots = 32, /** * Проигрыш ставки FlashSlots (33) */ BetCancelFlashSlots = 33, /** * Игрок отказался от ставки (34) * Удержание суммы при отказе от ставки */ BetDeleteFromUser = 34, /** * Снятие денег под ставку VirtualSport (35) */ WithdrawForVirtualSport = 35, /** * Выигрыш ставки VirtualSport (36) */ BetWinVirtualSport = 36, /** * Проигрыш ставки VirtualSport (37) */ BetLossVirtualSport = 37, /** * Снятие денег под ставку MapAttackBets (38) */ WithdrawForMapAttackBets = 38, /** * Выигрыш ставки MapAttackBets (39) */ BetWinMapAttackBets = 39, /** * Проигрыш ставки MapAttackBets (40) */ BetLossMapAttackBets = 40, /** * Возврат ставки MapAttackBets (41) */ BetCancelMapAttackBets = 41 } /** * Типы внешних транзакций */ export declare enum ETransactionExternalType { /** Все типы */ None = 0, /** * Пополнение счета (1) */ AccountDeposit = 1, /** * Снятие денег со счета (2) */ WithdrawalFromAccount = 2, /** * Продажа ваучера (3) */ VoucherSale = 3, /** * Вывод денег клиентом (4) */ WithdrawByClient = 4, /** * Инкасация. Ввод денег (5) */ EncashmentInput = 5, /** * Инкасация. Вывод денег (6) */ EncashmentWithdraw = 6, /** * Пополнение счета клиенту (7) */ ClientAccountAdd = 7, /** * Вывод денег клиенту (8) */ WithdrawToClient = 8, /** * Отмена пополнения счета (9) */ Cancel = 9, /** * Снятие денег со счета (10) * Используется при выплате кассиром игроку денег по подтвержденному заказу. * Нужна */ WithdrawalFromAccountByCashier = 10, /** * Снятие денег со счета на счет казино (11) */ DepositCasinoAmount = 11, /** * Пополнение счета игрока с счета казино (11) */ WithdrawalCasinoAmount = 12 } export type TPayBetPayload = { BetId: number; AmountOut: number; }; export type TTemplatePayload = {}; export interface IRedeemTheBetPayload { BetId: number; AmountOut: number; } export type TOfficeHandbook = 'Roles' | 'AccessRoles' | 'Pointers' | 'PointersGroups' | 'PlayerLevel' | 'Languages' | 'SearchType' | 'All'; export interface IGetAllHandbooksPayload { Culture: string; HandBooks: TOfficeHandbook[]; } export interface IChangePasswordOfficePayload { UserId: number; OldPassword: string; NewPassword: string; } export interface ISetPasswordOfficePayload { /** ID user */ UserId: number; /** Пароль от лица которого делаются изменения */ CallerPassword: string; /** Пароль для User ID */ NewUserPassword: string; } export type TResponseDataFormat = 'StatusResponse' | null; export interface ILiveResponce { TimeStamp?: number; LEvents?: ILiveData[]; IsChanges?: boolean; Data?: object; Error?: string; Ok?: boolean; } export interface ICashPointBalance { /** Лимит кассы на постановку ставки */ item1: number | null; /** Frozzen balanse */ item2: number | null; [key: string]: any; } export interface IResponseData<T> { data: T; status: number; statusText: string; error?: string | null; } export interface IResponseHandlerData<T = any> { data: T; status: number; error: string; } interface IBetContent { NameBet: string | null; NameTurnir: string | null; TurnirId: number; SportId: number; NameCom1: string; NameCom2: string | null; Result: string | null; CountResults: number; MainResult: string | null; EventStatus: number; OddsDifference: string; DateEvent: string | null; OddsForDisplay: string; ID: number; HeadID: number; ParentID: number | null; LinesID: number; BetFlags: number; Odds: number; OddsOrig: number; HandSize: string | null; BetVarID: number; Add1: number | null; Add2: null; BetStatus: number; AuthorOdds: number; SiteOdds: number | null; AmountIn: number | null; AmountOut: number; AmountItem: number; Score: string; AuthorName: string | null; IsNewRecord: boolean; IsHeadsContent: boolean; LiveFlagForCalcAdditionalBets: number; } interface IBetHead { ID: number; UserID: number; DateID: string; AmountIn: number; AmountOut: number; CashOutUserID: number; DateOut: string; ParentID: number; LiveType: number; BetStatus: number; TranID_In: number; TranID_Return: number; TranID_Calc: number; SoftType: number; BetHash: string; BetHeadFlags: number; CountEvents: number; AmountPosWin: number; StatusCode: number; } export interface IBetCouponeResponse { DomainName: string; LoginName: string; ShortUserName: string; PointName: string; CurrencyName: string; LanguageId: number; BillNumber: string; IsLongNames: boolean; FiscalNumber: null; LocSoftType: number; Head: IBetHead; Content: IBetContent[]; PutBetErrors: number; PercentReturnMoney: number; AmaountOutPercent: number; } export interface IGetUserInfoPayload { userAccount?: number | string; userName?: string; userId?: number | string; } export interface IDepositMoneyPayload { userId: number | string; sum: number; } export interface IWithdrawlMoneyPayload { userId: number | string; amount: number; code?: string; } export interface IWithdrawlMoneyByTransactionPayload { userId: number | string; transactionId: number | string; amount?: number; } export interface IGetUserInfoResponse { UserId: number; UserName: string; FirstName: string; MiddleName: string; LastName: string; ActiveAmount: number; CurrencyName: string; CreatedDate: string; TimeZone: string; } export interface IOrderForWithdrawal { TransactionID: number; CreationDate: string; TransactionDateHtml: string; Amount: number; Currency: string; PaymentSystemType: number; PaymentSystemTypeName: string; PaymentAccount: null | string; PointID: number; PointName: string; UserPointID: number; UserPointName: string; UserID: number; UserBalance: number; UserLogin: string; UserFullName: string; UserIP: string; UserAccNumber: number; OutMoneySum: number; AdditionalParam: null | string; Status: number; } export interface ICashierPlayersPayload { CurrentPage: number; CountItemOnPage: number; } export interface ICashierPlayersList { UserId: number; UserName: string; AccountNum: number; Balance: number; } export interface ICashierPlayersResponse { CountPages: number; CurrentPage: number; CountItemOnPage: number; Users: ICashierPlayersList[]; } export interface IGetUsersListResponse { UserName: string; ShortUserName: string; LastName: string; FirstName: string; MiddleName: string; BirthDate: string; Email: string; ActiveAmount: number; OutMoneyAmount: number; FrozenAmount: number; ShortMoneyName: string; IsOnLine: boolean; Disabled: boolean; CreationDate: string; LastActivityDate: string | null; LastDateMoneyMove: string | null; PointName: string; CurrencyName: string; Passport: string; IPLast: string | null; UserId: number; PointId: number; MessageDate: string | null; Message: string | null; WorkNote: string | null; UnlockTime: string | null; IsPartner: boolean; IsWorkOffline: boolean; SumMain: number; SumRospis: number; IPBind: string; DisplayBetsFormat: number; AccountNum: number; PlayerType: number; RoleId: number; IsNewRecord: boolean; } export interface IGetUsersListData { Users: IGetUsersListResponse[]; CountUsers: number; PageNumber: number; PageSize: number; TotalPages: number; } export interface IApiResponse<T = any> { Data: T; Ok: boolean; Error: string; } export declare enum ESortUser { UserName = 0, CreationDate = 1, UserNameDesc = 2, CreationDateDesc = 3, Balance = 4, BalanceDesc = 5, ID = 6, IDDesc = 7, LastActivityDate = 8, LastActivityDateDesc = 9, Email = 10, EmailDesc = 11 } export declare enum EUserRoles { /** Admin */ Admin = "Admin", /** Group Admin */ SubAdmin = "SubAdmin", /** Owner */ Owner = "Owner", /** Cashier */ Cashier = "Cashier", /** Office Employee */ Office = "Office", /** Content Manager */ ContentManager = "ContentManager", /** Point Plaayer */ ClientPoint = "ClientPoint", /** Online Player */ Client = "Client", /** Risks of point */ FinPoint = "FinPoint" } export interface IGetUsersTransactionsFilter { /** Start date */ DateBeg: string; /** End date */ DateEnd: string; /** User ID */ userId?: number; /** Payment system ID */ paymentSystemsID?: number | null; /** Creator user ID */ creatorUserId?: number | null; /** Cashiers */ /** Is addition */ IsAddition?: boolean | null; /** Is freezing */ IsFreezing?: boolean | null; /** External only */ ExternalOnly?: boolean | null; /** Internal only */ InternalOnly?: boolean | null; pointersId?: number[] | null; } /** for сonfirmWithdrawalOrder */ export interface IConfirmWithdrawalOrderPayload { /** long */ transactionId: number; /** double */ confirmedAmount: number; } /** for cancelWithdrawalOrder */ export interface ICancelWithdrawalOrderPayload { /** long */ transactionId: number; /** emum */ status: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8; } export interface IGetBetContentAdmPayload { id: number; userId: number; culture?: string; } export interface IGetConfirmedWithdrawalOrdersPayload { /** default: pointId = -100 */ pointId?: number; /** Format ddMMyyyy */ begin: string; /** Format ddMMyyyy */ end: string; /** Culture information, e.g., 'en-US'. */ culture?: string; /** periodType Default is 0. Today = 1, Yesterday = 2, Last7Days = 3 */ periodType?: number; /** Username or userId (optional) */ userName?: string | number; } export interface IGetUsersListFilter { /** user ID */ userId?: number | null; /** User account number */ accountNumber?: number | null; /** User email */ emailAddress?: string | null; isMoneyOut?: boolean | null; /** Sort user list */ SortUser?: ESortUser; /** User login */ login?: string | null; RoleName?: EUserRoles | string | null; pointersId?: number[]; pointGroupsId?: number[]; } export interface IGetPointsListFilter { groupId: number | null; pointIds: number[] | null; pointName: string | null; } export interface IPaginationPayload<T = any> { Filter: T; PageNumber: number; PageSize: number; } export interface IUsersBetsAdmPayload { /** Format: "2024-11-01T00:00:00", // in 'Europe/Kiev' timezone */ DateStart: string; /** Format: "2024-11-01T00:00:00", // in 'Europe/Kiev' timezone */ DateEnd: string; UserId?: number | null; PointIds?: number[] | null; RepaymentDate?: number | null; LiveOnly?: number | null; ShowAll?: boolean; ShowWinBets?: boolean | null; ShowLossBets?: boolean | null; ShowWorkBets?: boolean | null; ShowRepaymentBets?: boolean | null; ShowNotRepaymentBets?: boolean | null; ShowPerestavBets?: boolean | null; ShowKontoraBets?: boolean | null; ShowReturnBets?: boolean | null; IsKontoraMoney?: boolean | null; InServerCurrency?: boolean | null; BetSum?: number | null; FiscalBill?: number | null; /** Sort: 0 | null - Date DESC; 1 - Amount DESC */ SortType?: 0 | 1 | null; HideRemoved?: boolean | null; Amount?: number | null; ShowRemoved?: boolean; } export interface IGetUsersListPayload { Filter: IGetUsersListFilter; PageNumber: number; PageSize: number; } export interface IAccountMoneyPayload { userId: number; amount: number; comment: string; paySystem: EPaymentSystemTypeEnum; } export interface IBetsPointsPayload { Filter: IBetsPointsFilter; PageNumber: number; PageSize: number; } export interface IBetsStatisticPayload { DateStart: string | Date; DateEnd: string | Date; /** Предоставляет отчёт в валюте сервера * @default false */ InServerCurrency?: boolean; /** Список id-касс */ PointIds: number[]; } export declare enum LiveOnly { All = 0, Live = 1, Prematch = 2 } export declare enum EBetsPointsSorts { Date = "Date", Amount = "Amount", PayAsc = "PayAsc", PayDesc = "PayDesc" } export declare enum ELocales { en = "en-US", pt = "pt-PT", fr = "fr-FR", es = "es-ES", tr = "tr-TR", uk = "uk-UA", cr = "cr-HA", ru = "ru-RU" } export interface IBetsPointsFilter { DateStart: string | Date; DateEnd: string | Date; /** Список id-касс */ PointIds: number[]; /** IsKontoraMoney ХЗ что это * @default false */ IsKontoraMoney: boolean; /** @default екгу */ ShowAll: boolean; /** Сортировать */ SortType: EBetsPointsSorts | number; /** Скрыть удаленные ставки * @default true */ HideRemoved: boolean; /** Показывать удаленные ставки default: false*/ ShowRemoved: boolean; /** Предоставляет отчёт в валюте сервера * @default false */ InServerCurrency: boolean; RepaymentDate?: number; LiveOnly?: LiveOnly; ShowWinBets?: boolean; ShowLossBets?: boolean; ShowWorkBets?: boolean; ShowRepaymentBets?: boolean; ShowNotRepaymentBets?: boolean; ShowPerestavBets?: boolean; ShowKontoraBets?: boolean; ShowReturnBets?: boolean; /** Ищет по сумме если не 0 */ BetSum?: number; FiscalBill?: number; /** @default null */ Amount?: number; } export type TBRResponceDataFormat1 = { Data: any; Ok: boolean; Error: string[] | string | null; }; export type TTakedBetsData = { Items: any[]; CountBets: number; BetsSum: number; OutSum: number; PageNumber: number; PageSize: number; TotalPages: number; }; export type TTakedBetsResponce = TBRResponceDataFormat1 & { Data: TTakedBetsData; }; export interface IPoint { Point_ID: number; GroupID: number; Name: string; TimeZone: number; Koef: number; Nazv: string; Vrwork: string; Adres: string; KoefMoney: number; MaxViplotaForPoint: number; ProcDo: number; ProcPosle: number; ModificationKoef: number; LangPoint: number; IsWork: boolean; IsInternetClient: boolean; IsSiteClient: boolean; CurrencyID: number; CurrencyName: string; MinAmountMulti: number; MinAmountSystem: number; MaxSizeMulti: number; MaxSizeSystem: number; MinCurrencyUnit: number; IsRound: boolean; IsAllowCardsSale: boolean; EntryLimit: number; AutoConfirmAmount: number; IsWithdrawal: boolean; SiteId: number; Franchising: number; FranchisingRate: number; IsUseFinance: boolean; Info: string; PlayerTypeId: number; PercentReturnMoney: number; CityId: number; IsNewRecord: boolean; ChoosePoint: boolean; GeoLocation: string | null; GeoX: number; GeoY: number; } export interface IPointPages { Elements: IPoint[]; Count: number; PageNumber: number; PageSize: number; TotalPages: number; } export interface IIntgrGetGamesListPayload { /** Suppliers */ suppliers?: number[]; /** Group ID to which the site is linked */ groupId: number; /** Specific games */ games?: string[]; /** String to search games by name */ searchName?: string; /** List of providers */ providers?: { Name: string; CountGames: number; }[]; /** List of game types */ types?: string[]; /** Platform (e.g., mobile, desktop) */ platforms: 'mobile' | 'desktop'; /** Maximum number of items */ maxItems?: number; } export interface IIntgrInitGamePayload { /** ID of the integrator partner SQ:2, SI:1, CH:?, PP:? */ suppliers: number; gameid: number | string; /** url to which the page is returned after the game is closed */ backurl: string; /** Game mode: 0 for virtual (fun) or 1 for real (real). Default: 1. */ mode: number; /** Language code in ISO 639-1 alpha-2 format for downloading localisation. Default: "en". */ language: string; /** The platform from which the game was launched: "desktop" or "mobile". Specify "mobile" if you want to open the mobile client of the game. Default: "desktop". */ clientPlatform: "mobile" | "desktop" | "retail"; } export interface RedisPrematchSearchParams { locale?: string; searchString?: string | null; negativeString?: string | null; sportId?: number | null; tournamentId?: number | null; LIMIT?: { from: number; size: number; } | null; } /** * Represents a value that can be used as a parameter in Redis search operations. * * @remarks * This type union allows for flexible parameter handling in Redis search queries, * supporting single values, arrays of values, or null/undefined states. * * @example * ```typescript * const stringParam: RedisSearchParamValue = "user123"; * const numberParam: RedisSearchParamValue = 42; * const arrayParam: RedisSearchParamValue = ["tag1", "tag2", 100]; * const nullParam: RedisSearchParamValue = null; * ``` */ export type RedisSearchParamValue = string | number | (string | number)[] | null | undefined; /** * Options for sorting Redis data structures. * * @remarks * When defined, specifies the field to sort by and the sort direction. * Can be null or undefined to indicate no sorting should be applied. * * @example * ```typescript * const sortOptions: RedisSortOptions = { * BY: 'score', * DIRECTION: 'DESC' * }; * ``` */ export type RedisSortOptions = { BY: string; DIRECTION: 'ASC' | 'DESC'; } | null | undefined; /** * Type definition for Redis search parameters used to query prematch event IDs. * * @remarks * This type defines the structure for search parameters when querying Redis for prematch events. * All search parameters except locale are optional and can be used to filter results. * * @example * ```typescript * const searchParams: TRedisSearchPrematchIds = { * locale: 'en', * sportId: 1, * countryId: 'US', * LIMIT: { from: 0, size: 50 } * }; * ``` */ export type TRedisSearchPrematchIds = { locale: string; sportId?: RedisSearchParamValue; countryId?: RedisSearchParamValue; tournamentId?: RedisSearchParamValue; teams?: RedisSearchParamValue; LIMIT?: { from: number; size: number; } | null; SORT?: RedisSortOptions; }; export {}; /** * /// <summary> /// Date start. /// </summary> [Required] public DateTime DateStart = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day); /// <summary> /// Date end. /// </summary> [Required] public DateTime DateEnd = DateTime.Now; /// <summary> /// Date of repayment /// </summary> public short? RepaymentDate { get; set; } /// <summary> /// Live only. Possible values: None, Ordinary, Live or null by default. /// </summary> public BetLiveType? LiveOnly { get; set; } /// <summary> /// ShowAll /// </summary> public bool ShowAll { get; set; } /// <summary> /// ShowWinBets. /// </summary> public bool? ShowWinBets { get; set; } /// <summary> /// ShowLoseBets. Default value null. /// </summary> public bool? ShowLossBets { get; set; } /// <summary> /// ShowWorkBets, show bets in work. Default value null. /// </summary> public bool? ShowWorkBets { get; set; } /// <summary> /// ShowRepaymentsBets. Default value null. /// </summary> public bool? ShowRepaymentBets { get; set; } /// <summary> /// ShowNotRepaymentBets. Default value null. /// </summary> public bool? ShowNotRepaymentBets { get; set; } /// <summary> /// ShowPerestavBets.???? Default null. /// </summary> public bool? ShowPerestavBets { get; set; } /// <summary> /// ShowKontoraBets. ???? Default null. /// </summary> public bool? ShowKontoraBets { get; set; } /// <summary> /// ShowReturnBets. Default null. /// </summary> public bool? ShowReturnBets { get; set; } /// <summary> /// IsKontoraMoney. ????? Default false. /// </summary> public bool IsKontoraMoney { get; set; } /// <summary> /// InServerCurrency. Default false. /// </summary> public bool InServerCurrency { get; set; } /// <summary> /// BetSum. Filtering AmountIn * KoefMoney >=BetSum". Default value null. /// </summary> public decimal? BetSum { get; set; } /// <summary> /// FiscalBill. Default null. /// </summary> public int? FiscalBill { get; set; } /// <summary> /// BetSortTypeEnum. Sorting order, possible values: Date, Sum. /// </summary> public BetSortTypeEnum SortType { get; set; } /// <summary> /// HideRemoved. Default false. /// </summary> public bool HideRemoved { get; set; } private decimal? _amount = null; /// <summary> /// Amount. Default null. /// </summary> public decimal? Amount { get => _amount > 0 ? _amount : null; set => _amount = value; } /// <summary> /// ShowRemoved. Default false. /// </summary> public bool ShowRemoved { get; set; } */