UNPKG

bb-api-platforma

Version:

API module for BetBooster Platform

1,134 lines (1,133 loc) 53.4 kB
import { AxiosInstance } from 'axios'; import * as I from './Types.js'; import { api } from './Types.js'; export declare function routeNameId(id: number | string, text?: string): string; export declare function clearPhone(draftPhoneNumber: number | string, prefix?: string, suffix?: string): string; export declare class BetBoosterOfficeApi { private _baseUrl; private _srv_tag; /** * A clean superagent instance that can be used for http requests */ axi: AxiosInstance; private _locale; private _locales; private _languageIdsRemote; private EXIST_LANGUAGES; private _languageId; private _lang; private _APIv1; private _APIv2; private _API_LBC; private _ENDPOINT_DOMAIN; private _TOKEN?; private _USER_DATA; private LANG_DEFAULT; private LOCALE_DEFAULT; private LANG_ID_DEFAULT; private maxTimeExecutionMs; liveTimestamp: string | number; private _liveTimestampReset; liveRecivedIsFullPackage?: boolean; isNotActive?: boolean; /** * Represents the BetBoosterApi class. * @constructor * @param {AxiosInstance} axiosInstance - The Axios instance to be used for making HTTP requests. Aka axios.create() * @param {string} baseUrl - The base URL of the API. * @param {string} [lang='en'] - The language to be used for API requests. Defaults to 'en'. * @param {number} [maxTimeExecutionMs=15000] - The maximum time allowed for API request execution in milliseconds. Defaults to 15000. * @param {boolean} [isDev=false] - Indicates whether the API is running in development mode. Defaults to false. */ constructor(axiosInstance: AxiosInstance, baseUrl: string, lang?: string, maxTimeExecutionMs?: number, isDev?: boolean); get locale(): string; get isSinged(): boolean; get user(): I.IUser; set user(value: I.IUser); get lang(): string; get baseUrl(): string; get languageId(): number; get srvTag(): string | number; set srvTag(value: string | number); setServerTag(value: string | number): void; get token(): string | undefined; set token(value: string | undefined); /** * Обрабатывает данные ответа и возвращает объект с данными, ошибкой, статусом и текстом статуса. * * @template T - Тип данных, возвращаемых в поле `data`. * @param {any} rawData - Сырые данные ответа. * @param {number} status - HTTP статус ответа. * @param {string} statusText - Текст статуса HTTP ответа. * @returns {{ data: T, error: string | null, status: number, statusText: string }} Объект, содержащий данные ответа, ошибку, статус и текст статуса. */ responseHandlerData<T = any | null>(rawData: any, status: number, statusText: string): { data: T | null; error: string | null; status: number; statusText: string; }; /** * Processes the response data and returns an object with data, error, status and status text. * Same as `this.responseHandlerData` only corrects the nesting of `Data.Data` * * @template T - Тип данных, возвращаемых в поле `data`. * @param {any} rawData - Сырые данные ответа. * @param {number} status - HTTP статус ответа. * @param {string} statusText - Текст статуса HTTP ответа. * @returns {{ data: T, error: string | null, status: number, statusText: string }} Объект, содержащий данные ответа, ошибку, статус и текст статуса. */ responseHandlerDataData<T = any | null>(rawData: any, status: number, statusText: string): { data: T | null; error: string | null; status: number; statusText: string; }; setDevMode(devMode?: boolean | undefined): void; checkLanguage(lang?: string): string; setLanguage(lang?: string): string; /** * Устанавливает язык и локаль для удаленного API. * @param lang Язык (по умолчанию 'en'). * @returns Возвращает true, если язык и локаль успешно установлены, в противном случае возвращает false. */ setLanguageRemoteLocale(lang?: string): Promise<boolean>; private setBaseUrl; private statusHandler; /** * Обработчик строки запроса. Заменяет значения * * `null` на `'null'` * * `false` на `'false'` * * `true` на `'true'` * * `undefined` на `''` * @param queryStringData - queryString Record<string, any> * @returns Обработанные данные строки запроса. */ private queryStringHandler; private responseHandler; /** * Обработчик ошибок для Axios. * * @param error - Объект ошибки AxiosError. * @returns Объект с данными об ошибке, включая статус и текст ошибки. */ private axiosErrorHandler; /** * Возвращает URL для указанного пути API и версии. * * @param apiPath - Путь API. * @param apiVersion - Версия API. * @returns URL для указанного пути API и версии. */ url(apiPath: string, apiVersion?: api): string; /** * Выполняет HTTP-запрос с заданными параметрами. * @param url - URL-адрес для выполнения запроса. * @returns Объект, содержащий методы для настройки запроса и выполнения запроса. */ request(url: string): { /** * Выполняет запрос с заданными параметрами. * @param queryParams - Параметры запроса. * @returns Экземпляр класса BetBoosterOfficeApi. */ query(queryParams?: Record<string, unknown> | object): any; /** * Устанавливает заголовки запроса. * @param headers - Объект с заголовками запроса. * @returns Экземпляр класса BetBoosterOfficeApi. */ headers(headers?: Record<string, string>): any; deleteAllHeaders(): any; setTimeout(timeout?: number): any; /** * Устанавливает метод запроса GET. * @returns Экземпляр класса BetBoosterOfficeApi. */ GET(): any; /** * Устанавливает метод запроса POST. * @param payload - Полезная нагрузка для запроса. * @returns Экземпляр класса BetBoosterOfficeApi. */ POST(payload?: Record<string, unknown> | object): any; /** * Устанавливает метод запроса PUT и устанавливает тело запроса. * @param payload - Данные, которые будут отправлены в теле запроса. * @returns Экземпляр класса BetBoosterOfficeApi с установленным методом запроса PUT и телом запроса. */ PUT(payload?: Record<string, unknown> | object): any; /** * Устанавливает метод запроса PATCH и устанавливает тело запроса. * @param payload - Данные, которые будут отправлены в теле запроса. * @returns Экземпляр класса BetBoosterOfficeApi с установленным методом запроса PATCH и телом запроса. */ PATCH(payload?: Record<string, unknown> | object): any; /** * Устанавливает метод запроса DELETE. * @param payload Данные запроса в формате объекта или записи. * @returns Экземпляр класса BetBoosterOfficeApi. */ DELETE(payload?: Record<string, unknown> | object): any; /** * Выполняет запрос к API. * * @returns Объект, содержащий данные, статус и текст статуса ответа. * ``` * { data, status, statusText } * ``` */ exec<T>(): Promise<I.IResponseData<T>>; /** * Получает значение. * @returns Промис, который разрешается с данными. */ value<T>(): Promise<void>; }; /** * Sends a GET request to the specified endpoint with optional query parameters and options. * @param url - The endpoint to send the GET request to. * @param queryParams - The query parameters to include in the request URL. Defaults to an empty object. * @param headers - The options to include in the request. Defaults to an empty object. * @returns A Promise that resolves to the response body of the GET request. */ GET(url: string, queryParams?: Record<string, unknown> | object, headers?: Record<string, string>): Promise<any>; POST(url: string, payload?: Record<string, unknown> | object, queryParams?: Record<string, unknown> | object, headers?: Record<string, string>): Promise<any>; DELETE(url: string, payload?: Record<string, unknown> | object, queryParams?: Record<string, unknown> | object, headers?: Record<string, string>): Promise<any>; PUT(url: string, payload?: Record<string, unknown> | object, queryParams?: Record<string, unknown> | object, headers?: Record<string, string>): Promise<any>; /** * Асинхронно выполняет вход в систему. * @description Если логин успешен, сохраняет токен в свойстве класса token * и сохраняет объект, представляющий пользователя в свойстве класса user * в последствии эти свойства используем для обработки запроса * @param login Логин пользователя. * @param password Пароль пользователя. * @returns Объект, представляющий пользователя, если вход выполнен успешно. В противном случае, возвращает пустой объект. */ login({ login, password }: { login: string; password: string; }): Promise<I.IUser>; /** * Получает данные пользователя. * @returns Данные пользователя или null, если пользователь не найден. */ getUserData(): Promise<any>; getOfficeUserData(): Promise<any>; /** * Returns the list of prematch sports * * @param minutes The number of minutes to consider for the data retrieval. Defaults to 0. * @returns {Promise<Array<any>>} A promise that resolves to an array of line sports data. */ getLineSports(minutes?: number): Promise<I.ISport[]>; /** * Получает список стран для указанного идентификатора спорта. * @param sportId - Идентификатор спорта. * @param minutes - Опциональный параметр, количество минут. * @returns Промис, который разрешается в массив объектов типа ICountry. */ getCountriesList(sportId: number, minutes?: number): Promise<I.ICountry[]>; /** * Retrieves prematch tournaments based on the specified sport ID, country ID, and minutes. * @param sportId - The ID of the sport. * @param countryId - The ID of the country. * @param minutes - The number of minutes ago for which data is to be retrieved. * @returns A promise that resolves to an array of prematch tournaments. */ getPrematchTournaments(sportId: number, countryId: number, minutes?: number): Promise<I.GetPrematchTournament[]>; /** * Retrieves prematch events based on the specified parameters. * @param sportId - The ID of the sport. * @param countryId - The ID of the country. * @param tournamentId - The ID of the tournament. * @param minutes - The number of minutes ago for which data is to be retrieved. * @returns A Promise that resolves to an array of prematch events. */ getPrematchEvents(sportId: number, countryId: number, tournamentId: number, minutes: number): Promise<any>; /** * Retrieves the hot prematch events * @returns {Promise<Array<any>>} A promise that resolves to an array of hot events. */ getHotEvents(): Promise<any[]>; /** * Получает предматчевое событие по его ID. * @param eventId - Идентификатор события. * @returns Объект предматчевого события. */ getEventPrematch(eventId: number | string): Promise<any>; /** * Retrieves prematch tournaments based on the specified sport ID and minutes. * @param sportId - The ID of the sport. * @param minutes - The number of minutes ago for which data is to be retrieved. * @returns A filtered list of prematch tournaments. */ getPrematchTournamentsByMinutes(sportId?: number, minutes?: number): Promise<any>; /** * Retrieves the headers of prematch tournaments based on the specified sport ID and minutes. * @param sportId The ID of the sport. Defaults to 0 if not provided. * @param minutes - The number of minutes ago for which data is to be retrieved. * @returns A promise that resolves to an array of tournament headers. */ getPrematchTournamentsHeadersByMinutes(sportId?: number, minutes?: number): Promise<any>; /** * Sets or resets the live timestamp reset flag. * * @param value - Whether to enable live timestamp reset. Defaults to true. */ liveTimestampReset(value?: boolean): void; /** * Получает массив заголовков live событий с главными ставки. * @description Для интервального выполнения запроса используется параметр ```this.liveTimestamp``` * который хранится в этом классе. После выполнения запроса, ```this.liveTimestamp``` * обновляется из ответа. * @param requestFullEventsList - Флаг, указывающий, нужно ли запрашивать * полный список событий или только изменения после предыдущего запроса. * @param events - Массив ID live событий. В этом случае выбранные live события возвращаются со всеми ставками. * @returns Промис, который разрешается в массив данных о live событиях. */ getLive(requestFullEventsList?: boolean, events?: (number | string)[]): Promise<I.ILiveDataResponce>; /** * Возвращает массив из одного полного лайв события со всеми ставками по ID . * @param eventId - ID полного live события. * @returns Массив с информацией о событии. */ getLiveEventsAndFullEvent(eventId: number | string): Promise<I.ILiveData[]>; /** * Возвращает полное лайв событие со всеми ставками по ID . * @param eventId - ID полного live события. * @returns Массив с информацией о событии. */ getLiveEventFull(eventId: number | string): Promise<I.ILiveData>; /** * Получает ограничения на ставку. * @returns Объект с минимальным и максимальным значением ограничений на ставки. */ getBetsLimits(): Promise<any>; /** * Добавляет ставку в купон. * @param basket - Корзина с информацией о ставке. * @returns Результат операции добавления в бетслип или null, если операция не удалась. */ addToBetslip(basket: I.TAddBetslip): Promise<any>; /** * Добавляет бонус в купон. * @param odd - Коэффициент, к которому добавляется бонус. * @returns Результат операции или null, если результат не определен. */ addBonus(odd: number): Promise<any>; /** * Удаляет бонус из купона. * @returns {Promise<boolean>} Возвращает true, если бонус успешно удален, в противном случае возвращает false. */ removeBonus(): Promise<boolean>; /** * Удаляет ставку из купона. * @param basket - Объект, содержащий информацию о купоне. * @returns Возвращает true, если элемент успешно удален, в противном случае возвращает false. */ removeFromBetslip(basket: I.TAddBetslip): Promise<any>; /** * Обновляет ставку в купоне. * @param basket - Корзина с информацией о ставке. * @returns Возвращает true, если ставка была успешно обновлена, в противном случае возвращает false. */ updateBet(basket: I.TAddBetslip): Promise<boolean>; /** * Получает информацию о билете. * @description Требует авторизации. * @returns {Promise<Betslip | null>} Объект с информацией о билете или null, если токен не установлен. * @example * ```typescript { BetslipType: 0, Bets: [], RecommendedAmount: 0, bonuses: [ [ 'Koef', 9, 1.01 ], [ 'Koef', 20, 1.02 ], [ 'Koef', 50, 1.03 ], [ 'Koef', 100, 1.04 ], [ 'Koef', 200, 1.05 ], [ 'Koef', 500, 1.06 ], [ 'Kolvo', 5, 1.01 ], [ 'Kolvo', 9, 1.02 ], [ 'Kolvo', 22, 1.03 ], [ 'Kolvo', 11, 1.04 ], [ 'Kolvo', 13, 1.05 ], [ 'Kolvo', 15, 1.06 ], [ 'Perestavka', true, 1.03 ], [ 'MinOdds', true, 1.02 ] ] } * ``` */ getBetslip(): Promise<any>; /** * Очищает купон. * @returns Промис, который разрешается в логическое значение, указывающее на успешность операции. */ clearBetslip(): Promise<boolean>; /** * Изменяет тип купона. * @param betslipType - Тип купона. * @returns Возвращает true, если тип купона успешно изменен, в противном случае возвращает false. */ changeBetslipType(betslipType: I.EBetslipType): Promise<boolean>; /** * Создает купон для размещения ставки. * @param betslip - Массив с информацией о ставках. * @param amount - Сумма ставки. * @param acceptCahngeCoefs - Флаг, указывающий, принимать ли изменения коэффициентов. * @param systemIndex - Размер системы (например, из 3-х событий по 2, значит передаем 2). Значение по умолчанию: -1 (если не система). * @returns Созданный купон для размещения ставки. */ createCoupon(betslip: any[], amount: number, acceptCahngeCoefs: boolean, systemIndex?: number): I.TPlaceBetPayload; /** * Ставит ставку. * @param payload - Параметры размещения ставки. * @returns Результат размещения ставки. */ placeCoupon(payload: I.TPlaceBetPayload): Promise<any>; /** * Удаляет купон по указанному коду в течении 10 минут. * * @param {string} code - Код купона, который необходимо удалить. * @returns {Promise<any | null>} Объект ответа или null, если пользователь не авторизован. */ deleteCoupon(code: string): Promise<{ data: boolean | null; error: string | null; status: number; statusText: string; }>; /** * Устанавливает настройки корзины ставок. * @param betslipSettings - Настройки купона ставок. * @returns Массив результатов или пустой массив, если пользователь не авторизован. */ setBetslipSettings(betslipSettings: I.TBetslipSettings): Promise<any>; /** * Получает список ставок пользователя, доступных для кэшаута. * @returns Список ставок пользователя, доступных для кэшаута. */ getUserCashoutBets(): Promise<any>; /** * Метот делает попытку сделать CashOut для ставки * @param betId - ID ставки. * @returns Объект с ошибками, если возникли ошибки при выполнении запроса, или null, если запрос выполнен успешно. */ returnCashOutBet(betId: number): Promise<I.PutBetErrors | null>; payBet(payload: I.TPayBetPayload): Promise<I.PutBetErrors | null>; /** * Retrieves the user's balance. * @returns A promise that resolves to the user's balance. */ balance(): Promise<{ Amount: number; } | {}>; /** * * @returns * item1 = Лимит кассы на постановку ставки * item2 = Frozzen balanse * ``` * { item1: 10000, currence1: '₴', item2: 2371, currence2: '₴' } * ``` */ balanceCashPoint(): Promise<I.IResponseData<I.ICashPointBalance | null>>; /** * Возвращает подробности ставки по номеру купона * @param code * @returns Объект, содержащий данные, статус и текст статуса ответа. * ``` * { data, status, statusText } * * ``` * */ getBetByCoupon(code: number | string, locale?: I.ELocales): Promise<I.IResponseData<I.IBetCouponeResponse>>; /** * Выполняет погашение ставки. * @param payload - Параметры для погашения ставки. * ``` * { * BetId: number; * AmountOut: number; * } * ``` * @returns Результат выполнения погашения ставки. */ redeemTheBet(payload: I.IRedeemTheBetPayload): Promise<I.IResponseData<boolean>>; getLimitForPoint(): Promise<any>; /** * Выполняет выход пользователя из системы. * @returns Объект, содержащий информацию об успешности выхода и статусе авторизации пользователя. */ logout(): Promise<{ ok: boolean; isLogged: any; }>; /** * Изменяет пароль пользователя. * @param payload - Объект, содержащий данные для изменения пароля. Doc: https://betseller.gitlab.io/bb-api-platforma/interfaces/Types.IChangePasswordOfficePayload.html * @returns Возвращает `null` в случае, если пользователь не авторизован. */ changePassword(payload: I.IChangePasswordOfficePayload): Promise<{ ok: boolean; status: any; }>; setRemoteLanguage(lang?: string): Promise<boolean>; /** * Получает содержимое ставки по идентификатору. * @param betId - Идентификатор ставки. * @returns Содержимое ставки. */ getBetContent(betId: number): Promise<any>; /** * Получает содержимое ставки по идентификатору. * @param betId - Идентификатор ставки. * @returns Содержимое ставки. */ getBetContentByLang(betId: number, lang?: string): Promise<any>; /** * Получает ставки пользователя. * @param payload - Параметры запроса. * @returns Промис, который разрешается с результатом запроса. * @note Размер страницы должен быть не больше 20 строк на страницу * @deprecated Use getUserBets02 method */ getUserBets(payload: I.TGetUserBetsPayload): Promise<any>; /** * Получает ставки пользователя. * @param payload - Параметры запроса. * @returns Промис, который разрешается с результатом запроса. * @note Размер страницы должен быть не больше 20 строк на страницу * @deprecated Use getUserBets02 method */ getUserBets02(payload: I.TGetUserBetsPayload): Promise<{ data: any; error: string | string[] | null; status: number; statusText: string; }>; /** * Fetches user bets with administrative filters and pagination. * * @param payload - The payload containing pagination and filter information. * @returns A promise that resolves to an object containing the data, error, status, and statusText. * * @template I.IPaginationPayload<I.IUsersBetsAdmPayload> - The type of the pagination payload. * @template { data: any; error: string | string[] | null; status: number; statusText: string; } - The return type of the promise. * * @example * ```typescript * const payload = { * Filter: { * DateStart: "2024-11-01T00:00:00", // in 'Europe/Kiev' timezone * DateEnd: "2024-11-16T00:00:00", // in 'Europe/Kiev' timezone * UserId: 123, * // other filter fields... * }, * PageNumber: 1, * PageSize: 20, * }; * const result = await getUserBetsAdm(payload); * console.log(result.data); * ``` */ getUserBetsAdm(payload: I.IPaginationPayload<I.IUsersBetsAdmPayload>): Promise<{ data: any; error: string | string[] | null; status: number; statusText: string; }>; /** Конвертирует различные представления корзины в единый формат * @param betslipItem - элемент корзины */ convertBasketToPost(betslipItem: I.IBetslipItems): I.IAddToBasket; /** * Преобразует бонусы в массив. * @param bonus Объект, содержащий бонусы. * @returns Массив бонусов. */ convertBonuses(bonus: Record<string, any>): any[]; /** * Получает полные данные о текущих событиях в режиме реального времени без сохранения временной метки. * @returns Промис, который разрешается в массив объектов типа I.ILiveData. */ private getFullLiveWithoutSaveTimeStamp; /** * Retrieves sports events (live & prematch) based on the provided search text. * @param searchText - The text to search for. * @returns A promise that resolves to an array of ISearchEventsData. */ getSportsEventsSearch(searchText: string): Promise<I.ISearchEventsData[]>; /** * Проверяет авторизацию пользователя. * @returns Объект, содержащий информацию о состоянии авторизации. */ checkAuth(): Promise<{ isSinged: boolean; status: number; statusText: string; }>; /** * Получает информацию о пользователе. * * @param {I.IGetUserInfoPayload} payload - Параметры запроса, которые могут содержать: * @param {number | string} payload.userAccount - Учетная запись пользователя (необязательный параметр). * @param {string} payload.userName - Имя пользователя (необязательный параметр). * @param {number | string} payload.userId - Идентификатор пользователя (необязательный параметр). * * @returns {Promise<{ userInfo: I.IGetUserInfoResponse | null; error: string | null; status: number; statusText: string; }>} Объект, содержащий информацию о пользователе, статус и текст статуса. * * @example * const payload = { * userAccount: 12345, * userName: 'JohnDoe', * userId: '67890' * }; * const result = await getUserInfo(payload); * // Возвращает объект с информацией о пользователе, статусом и текстом статуса. */ getUserInfo(payload: I.IGetUserInfoPayload): Promise<{ userInfo: I.IGetUserInfoResponse | null; error: string | null; status: number; statusText: string; }>; /** * Получает информацию о пользователе с транзакциями вывода средств. * @param payload - Параметры запроса. * @returns Объект, содержащий информацию о пользователе, статус и текст статуса. * @example ``` IGetUserInfoPayload { userAccount?: number | string; userName?: string; userId?: number | string; } ``` */ getUserInfoWithWithdrawalTrans(payload: I.IGetUserInfoPayload): Promise<{ userInfo: I.IGetUserInfoResponse | null; error: string | null; status: number; statusText: string; }>; /** * Получает список заказов для вывода заказы для вывода. * @returns Объект, содержащий данные о заказах для вывода, статус и текст статуса. */ getOrdersForWithdrawal(): Promise<{ withdrawalData: I.IOrderForWithdrawal; status: number; statusText: string; }>; /** * Вносит деньги на счет игрока. * * @param {I.IDepositMoneyPayload} payload - Параметры для внесения денег. * @returns {Promise<{ depositInfo: boolean | null; error: string | null; status: number; statusText: string; }>} Объект, содержащий данные, статус и текст статуса. * * @example * const payload = { * userId: 1, * sum: 100 * }; * const result = await depositMoney(payload); * // Возвращает объект с данными, статусом и текстом статуса. */ depositMoney(payload: I.IDepositMoneyPayload): Promise<{ depositInfo: boolean | null; error: string | null; status: number; statusText: string; }>; /** * Метод для вывода денег с баланса игрока. * * @param {I.IWithdrawlMoneyPayload} payload - Параметры вывода денег. * @returns {Promise<{ withdrawlInfo: boolean | null; error: string | null; status: number; statusText: string; }>} Объект, содержащий данные, статус и текст статуса. * * @example * const payload = { * userId: 1, * amount: 100, * code: 'ABC123' * }; * const result = await withdrawlMoney(payload); * // Возвращает объект с данными, статусом и текстом статуса. */ withdrawlMoney(payload: I.IWithdrawlMoneyPayload): Promise<{ withdrawlInfo: boolean | null; error: string | null; status: number; statusText: string; }>; /** * Метод для вывода денег с баланса игрока с использованием ID транзакции. * * @param {I.IWithdrawlMoneyByTransactionPayload} payload - Параметры вывода денег. * @returns {Promise<{ data: boolean | null; error: string | null; status: number; statusText: string; }>} Объект, содержащий данные, статус и текст статуса. * * @example * const payload = { * userId: 1, * transactionId: 1, * }; * const result = await withdrawlMoney(payload); * // Возвращает объект с данными, статусом и текстом статуса. */ withdrawlMoneyByTransaction(payload: I.IWithdrawlMoneyByTransactionPayload): Promise<{ data: I.IApiResponse<boolean> | null; error: string | null; status: number; statusText: string; }>; /** * Проверяет, существует ли пользователь с указанным логином. * @param userName - Логин пользователя. * @returns Объект, содержащий информацию о наличии пользователя. */ isUserExists(userName: string): Promise<{ data: boolean; status: number; statusText: string; }>; /** * Создает интернет пользователя для кассы !!! напрямую в БД * @param payload - Параметры регистрации пользователя. * @returns Объект, содержащий информацию о результате операции. * @example * const SignUpPayloadDirect: I.TSignUpPayload = { * PartnerSiteUid: "partner.win", * EmailOrPhone: "380671110000", // телефон записываем без "+" * PointId: 85, * Password: "Password", * PasswordRepeat: "Password", * } */ createInternetUser(payload: I.TSignUpPayload): Promise<{ created: boolean | null; error: string | null; status: number; statusText: string; }>; /** * Получает GUID кассира для автологина в офисе . * @returns Объект, содержащий GUID кассира, ошибку, статус и текст статуса. */ getCashierGuid(): Promise<{ guid: string | null; error: string | null; status: number; statusText: string; }>; /** * Получает список игроков кассира. * @param {I.ICashierPlayersPayload} payload - Параметры запроса. * @returns {Promise<{ data: I.ICashierPlayersResponse; status:number; statusText:string; }>} - Объект с данными, статусом и текстом статуса. * @example * const payload = { * CurrentPage: 1, * CountItemOnPage: 10 * }; * const response = await getCashierPlayers(payload); * console.log(response.data); // Выводит данные игроков * console.log(response.status); // Выводит статус ответа * console.log(response.statusText); // Выводит текст статуса ответа */ getCashierPlayers({ CurrentPage, CountItemOnPage }: I.ICashierPlayersPayload): Promise<{ data: I.ICashierPlayersResponse; status: number; statusText: string; }>; /** Получает фильтрованный список ставок на кассе */ getTakedBets(getBetsPayload: I.IBetsPointsPayload): Promise<{ betsData: I.TTakedBetsData; error: string | string[] | null; status: number; statusText: string; }>; getBetsStatistic(betsStatisticPayload: I.IBetsStatisticPayload): Promise<{ data: any; error: string | string[] | null; status: number; statusText: string; }>; getMainFinanceReport(betsStatisticPayload: I.IBetsStatisticPayload): Promise<{ data: any; error: string | string[] | null; status: number; statusText: string; }>; /** Возвращает справочники * @example * ``` * { Culture: string; HandBooks: ('Roles' | 'AccessRoles' | 'Pointers' | 'PointersGroups' | 'PlayerLevel' | 'Languages' | 'SearchType' | 'All')[]; } * ``` * */ getAllHandbooks(payload: I.IGetAllHandbooksPayload): Promise<{ data: any; error: string | string[] | null; status: number; statusText: string; }>; getAvailableHandBooks(): Promise<{ data: any; error: any; status: number; statusText: string; }>; /** Создаёт пользователя из Temp таблицы */ createUserFromTempGetInfo(userName: string): Promise<{ data: any; error: any; status: number; statusText: string; }>; /** Возвращает данные незарегистрированного пользователя из временной таблицы */ getUserInfoFromTemp(userName: string): Promise<{ data: I.IApiResponse<any> | null; error: string | null; status: number; statusText: string; }>; getBaseRates(baseCurrency: string): Promise<{ data: any; status: number; statusText: string; }>; /** * Асинхронно получает список пользователей. * * @param {I.IPaginationPayload<I.IGetUsersListFilter>} payload - Параметры запроса для получения списка пользователей. https://betseller.gitlab.io/bb-api-platforma/interfaces/Types.IGetUsersListPayload.html * @returns {Promise<I.IApiResponse<I.IGetUsersListData> | null>} Объект ответа API, содержащий данные списка пользователей, или null в случае ошибки. */ getUsersList(payload: I.IPaginationPayload<I.IGetUsersListFilter>): Promise<{ data: I.IApiResponse<I.IGetUsersListData> | null; error: string | null; status: number; statusText: string; }>; /** * Асинхронно получает список Касс. * * @param payload - Параметры пагинации и фильтрации для получения списка точек. * @returns Обработанный ответ API, содержащий страницы точек или null. */ getPointsList(payload: I.IPaginationPayload<I.IGetPointsListFilter>): Promise<{ data: I.IApiResponse<I.IPointPages> | null; error: string | null; status: number; statusText: string; }>; /** * Выполняет запрос на снятие денег с аккаунта. * * @param payload - Объект, содержащий данные для снятия денег с аккаунта. https://betseller.gitlab.io/bb-api-platforma/interfaces/Types.IAccountMoneyPayload.html * @returns Промис, который разрешается с данными ответа или null в случае ошибки. */ accountMoneyWithdraw(payload: I.IAccountMoneyPayload): Promise<{ data: I.IApiResponse<boolean> | null; error: string | null; status: number; statusText: string; }>; /** * Асинхронный метод для добавления денег на счет. * * @param payload - Объект, содержащий данные для добавления денег на счет. https://betseller.gitlab.io/bb-api-platforma/interfaces/Types.IAccountMoneyPayload.html * @returns Обработанный ответ, содержащий данные типа boolean или null. */ accountMoneyAdd(payload: I.IAccountMoneyPayload): Promise<{ data: I.IApiResponse<boolean> | null; error: string | null; status: number; statusText: string; }>; /** * Sets a password for a cashier on behalf of an Admin, SubAdmin, or Owner. * @param payload - An object containing the data for changing the password. Doc: https://betseller.gitlab.io/bb-api-platforma/interfaces/Types.ISetPasswordOfficePayload.html * @returns Returns `null` if the user is not authorized. */ setPassword(payload: I.ISetPasswordOfficePayload): Promise<{ data: boolean | null; error: string | null; status: number; statusText: string; }>; pingApi(): Promise<{ data: any; error: string | null; status: number; statusText: string; }>; /** * Retrieves a list of user transactions. * * @param payload - The payload containing pagination and filter information. * @returns A promise that resolves to the API response containing user transactions or null. * * @remarks * This method sends a POST request to the `/GetUserTransactions` endpoint of the OFFICE API. * * (102) * * @example * ```typescript * const payload = { * page: 0, * pageSize: 10, * Filter: { * DateBeg: string * DateEnd: string; * ... * } * }; * const transactions = await api.getUserTransactions(payload); * console.log(transactions); * ``` */ getUserTransactions(payload: I.IPaginationPayload<I.IGetUsersTransactionsFilter>): Promise<{ data: I.IApiResponse<any> | null; error: string | null; status: number; statusText: string; }>; /** * Выводит список подтверждённых заказов на вывод средств. * * @remarks * Endpoint: `/api/v1/office/en-US/ConfirmWithdrawalOrder` * * @param payload - Параметры для подтверждения заказа на вывод средств. * @returns Возвращает `true`, если заказ успешно подтвержден, иначе `null`. * * @example * Пример запроса: * ```typescript * const payload: I.IConfirmWithdrawalOrderPayload = { * transactionId: 123456, // ID транзакции * confirmedAmount: 100.50 // Подтвержденная сумма * }; * * const result = await api.confirmWithdrawalOrder(payload); * console.log(result); // true или null * ``` */ getConfirmedWithdrawalOrders(payload: I.IGetConfirmedWithdrawalOrdersPayload): Promise<{ data: I.IApiResponse<any> | null; error: string | null; status: number; statusText: string; }>; /** only Admin & SubAdmin */ getWithdrawalOrdersForConfirmed(payload?: { culture?: string; userId?: number; }): Promise<{ data: I.IApiResponse<any> | null; error: string | null; status: number; statusText: string; }>; сonfirmWithdrawalOrder(payload: I.IConfirmWithdrawalOrderPayload): Promise<{ data: I.IApiResponse<any> | null; error: string | null; status: number; statusText: string; }>; /** * Cancels a withdrawal order. * * @param payload - The payload containing the details required to cancel the withdrawal order. * * @remarks * This method sends a POST request to the `/api/v2/orders/CancelOrderedTransaction` endpoint of the OFFICE API. * * (102) * * @returns A promise that resolves to the API response. */ cancelWithdrawalOrder(payload: I.ICancelWithdrawalOrderPayload): Promise<{ data: I.IApiResponse<any> | null; error: string | null; status: number; statusText: string; }>; /** Возвращает содержание ставки по betId и userId */ getBetContentAdm(payload: I.IGetBetContentAdmPayload): Promise<{ data: I.IApiResponse<any> | null; error: string | null; status: number; statusText: string; }>; /** * Retrieves a list of user sites from the slider API endpoint. * * Makes a GET request to the `/usersites` endpoint using the NV30 API version. * * @returns {Promise<I.IApiResponse<any> | null>} A promise that resolves to the API response containing the sites list data, or null if the request fails * * @async */ sliderGetSitesList(): Promise<{ data: I.IApiResponse<any> | null; error: string | null; status: number; statusText: string; }>; sliderGetSectionData({ siteTag, groupTag }: { siteTag: string; groupTag: string; }): Promise<{ data: I.IApiResponse<any> | null; error: string | null; status: number; statusText: string; }>; /** * Retrieves section data for a slider component based on site and group tags. * * @param siteTag - The site identifier tag used to specify which site's data to retrieve * @param groupTag - The group identifier tag used to specify which group's data within the site * @returns A promise that resolves to the API response containing section data or null * * @example * ```typescript * const sectionData = await api.sliderGetSectionData('main-site', 'featured-games'); * ``` */ sliderPutImage(payload: I.TSliderPutImagePayload): Promise<{ data: I.IApiResponse<any> | null; error: string | null; status: number; statusText: string; }>; /** * Deletes an image from the storage by making a DELETE request to the file endpoint. * * @param payload - The payload containing deletion parameters * @param payload.siteTag - The site tag identifier * @param payload.groupTag - The group tag identifier * @param payload.fileName - The name of the file to delete * @param payload.fileId - Optional file ID that speeds up deletion when provided * @returns Promise that resolves to the API response containing deletion result or null * @throws May throw an error if the DELETE request fails or if required parameters are missing */ sliderDeleteImage(payload: I.TSliderDeleteImagePayload): Promise<{ data: I.IApiResponse<any> | null; error: string | null; status: number; statusText: string; }>; /** * Sets or updates a slide in the slider component. * * @param payload - The slide configuration payload * @param payload.siteTag - Site identifier tag for the slide * @param payload.groupTag - Group identifier tag for categorizing the slide * @param payload.fileName - File name for the slide image/content. Optional, uses default if not provided * @param payload.direction - Sets the movement of a slide in the list. Can be 'up', 'down', '1', or '-1' * @returns Promise resolving to API response with slide operation result * @throws Will throw an error if the API request fails or returns an error status */ sliderMoveSlide(payload: I.TSliderSetSlidePayload): Promise<{ data: I.IApiResponse<any> | null; error: string | null; status: number; statusText: string; }>; /** * Searches for prematch events using the NV20 API. * * @param searchString - The search string to query events. * (Note: that all words containing cvr and words with one letter are removed from the searchString) * @param options - Optional parameters to refine the search. * @param options.LIMIT - Specifies the number of results to return. Defaults to `{ from: 0, size: 30 }` if not provided. * @param options.negativeString - Excludes results containing this string. * @param options.sportId - Filters events by the specified sport ID. * @param options.tournamentId - Filters events by the specified tournament ID. * @returns A promise that resolves with the search results or `null` if the request fails. */ searchPrematchEventsNv20(searchString: string, options?: I.RedisPrematchSearchParams): Promise<{ data: any; error: string | null; status: number; statusText: string; }>; /** * Updates or creates a slider slide configuration. * * @param payload - The slider slide configuration data * @param payload.siteTag - Site identifier tag * @param payload.groupTag - Group identifier tag * @param payload.fileName - File name for the slide. Optional. If not present, the default value will be used. * @param payload.eventId - ID of the sport event. If eventId is specified, additional parameters will be added: Teams Start date and main bets * @param payload.finish - The date when the slide will stop displaying * @param payload.to - Target page transition when clicking on a slide in vue router format * @param payload.direction - Sets the movement of a slide in the list. Can be 'up', 'down', '1', or '-1' * @returns Promise that resolves to the API response containing the slide data or null */ sliderSetSlide(payload: I.TSliderSetSlidePayload): Promise<{ data: I.IApiResponse<any> | null; error: string | null; status: number; statusText: string; }>; /** * Removes a slide from the slider. * * @param payload - The payload containing slide information to remove * @param payload.siteTag - Site tag identifier * @param payload.groupTag - Group tag identifier * @param payload.fileName - File name of the slide to remove * @returns Promise that resolves to API response data or null * @throws Will throw an error if the request fails */ sliderRemoveSlide(payload: I.TSliderSetSlidePayload): Promise<{ data: I.IApiResponse<any> | null; error: string | null; status: number; statusText: string; }>; /** * Retrieves bonuses from the API with optional filtering parameters. * * @param {Object} options - The request options * @param {string} [options.start] - The start date in format ISO string for filtering bonuses (optional) * @param {string} [options.finish] - The end date in format ISO string for filtering bonuses (optional) * @param {string} [options.code] - The bonus code to filter by (optional) * * @returns {Promise<any>} A promise that resolves to the API response containing bonuses data, * or null if the response is invalid * * @throws {Error} May throw an error if the API request fails */ getBonuses({ start, finish, code }: { start?: string; finish?: string; code?: string; }): Promise<{ data: I.IApiResponse<any> | null; error: string | null; status: number; statusText: string; } | { data: {}; error: string; status: number; statusText: string; }>; /** Special methods */ getUserForwardedUrl(payload: I.TPayloadUserForwardedUrl): Promise<{ data: I.IApiResponse<any> | null; error: string | null; status: number; statusText: string; }>; }