bb-api-platforma
Version:
API module for BetBooster Platform
1,807 lines (1,785 loc) • 53.5 kB
TypeScript
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; }
*/