bb-api-platforma 0.1.244 → 0.1.245
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/BetBoosterApi.d.ts +180 -0
- package/dist/BetBoosterApi.js +187 -0
- package/dist/BetBoosterApi.min.d.ts +269 -0
- package/dist/BetBoosterApi.min.js +1 -1
- package/dist/BetBoosterApi.min.js.map +1 -1
- package/dist/BetBoosterOfficeApi.d.ts +102 -0
- package/dist/BetBoosterOfficeApi.js +106 -0
- package/dist/Types.d.ts +49 -0
- package/package.json +2 -2
|
@@ -1208,4 +1208,106 @@ export declare class BetBoosterOfficeApi {
|
|
|
1208
1208
|
status: number;
|
|
1209
1209
|
statusText: string;
|
|
1210
1210
|
}>;
|
|
1211
|
+
/**
|
|
1212
|
+
* Получает сохранённый купон по его идентификатору.
|
|
1213
|
+
*
|
|
1214
|
+
* @param savedCouponId - Уникальный числовой идентификатор сохранённого купона.
|
|
1215
|
+
* @returns Данные сохранённого купона.
|
|
1216
|
+
*
|
|
1217
|
+
* @remarks
|
|
1218
|
+
* Endpoint: `GET /portfolio/getcoupon/:savedCouponId` (NV20)
|
|
1219
|
+
*
|
|
1220
|
+
* @example
|
|
1221
|
+
* ```ts
|
|
1222
|
+
* // Запрос
|
|
1223
|
+
* const coupon = await api.getSavedCoupon(12345);
|
|
1224
|
+
*
|
|
1225
|
+
* // Ответ (строка с данными купона)
|
|
1226
|
+
* // "{ ... serialized coupon data ... }"
|
|
1227
|
+
* ```
|
|
1228
|
+
*/
|
|
1229
|
+
getSavedCoupon(savedCouponId: number): Promise<{
|
|
1230
|
+
data: any;
|
|
1231
|
+
error: string | null;
|
|
1232
|
+
status: number;
|
|
1233
|
+
statusText: string;
|
|
1234
|
+
}>;
|
|
1235
|
+
/**
|
|
1236
|
+
* Создаёт новый сохранённый купон на основе переданных данных и списка кодов.
|
|
1237
|
+
*
|
|
1238
|
+
* @param couponData - Объект {@link I.ICouponRequest} с данными купона (коэффициенты, домен, партнёр и т.д.).
|
|
1239
|
+
* @param savedCodesList - Массив строковых кодов, привязываемых к купону.
|
|
1240
|
+
* @returns Результат создания купона.
|
|
1241
|
+
*
|
|
1242
|
+
* @remarks
|
|
1243
|
+
* Endpoint: `POST /portfolio/createcoupon` (NV20)
|
|
1244
|
+
*
|
|
1245
|
+
* @example
|
|
1246
|
+
* ```ts
|
|
1247
|
+
* // Payload запроса
|
|
1248
|
+
* const payload = {
|
|
1249
|
+
* data: {
|
|
1250
|
+
* odds: [
|
|
1251
|
+
* {
|
|
1252
|
+
* ErrorMessage: 0,
|
|
1253
|
+
* Min: 10,
|
|
1254
|
+
* Max: 1000,
|
|
1255
|
+
* MinCurrencyUnit: 1,
|
|
1256
|
+
* IsRound: false,
|
|
1257
|
+
* IsReinvested: false,
|
|
1258
|
+
* MinAdd: 0,
|
|
1259
|
+
* MaxAdd: 0,
|
|
1260
|
+
* Odds: 1.85,
|
|
1261
|
+
* IsLive: false,
|
|
1262
|
+
* LinesID: 456789,
|
|
1263
|
+
* BetVarID: 1,
|
|
1264
|
+
* NameSport: "Football",
|
|
1265
|
+
* NameTeam1: "Team A",
|
|
1266
|
+
* NameTeam2: "Team B",
|
|
1267
|
+
* NameBetShort: "1"
|
|
1268
|
+
* }
|
|
1269
|
+
* ],
|
|
1270
|
+
* domain: "example.com",
|
|
1271
|
+
* partner: "partner1"
|
|
1272
|
+
* },
|
|
1273
|
+
* codes: ["ABC123", "DEF456"]
|
|
1274
|
+
* };
|
|
1275
|
+
*
|
|
1276
|
+
* const result = await api.createSavedCoupon(payload.data, payload.codes);
|
|
1277
|
+
* ```
|
|
1278
|
+
*/
|
|
1279
|
+
createSavedCoupon(couponData: I.ICouponRequest, savedCodesList: string[]): Promise<{
|
|
1280
|
+
data: any;
|
|
1281
|
+
error: string | null;
|
|
1282
|
+
status: number;
|
|
1283
|
+
statusText: string;
|
|
1284
|
+
}>;
|
|
1285
|
+
/**
|
|
1286
|
+
* Получает список сохранённых купонов по массиву кодов.
|
|
1287
|
+
*
|
|
1288
|
+
* @param savedCodesList - Массив строковых кодов для поиска соответствующих купонов.
|
|
1289
|
+
* @returns Массив найденных купонов.
|
|
1290
|
+
*
|
|
1291
|
+
* @remarks
|
|
1292
|
+
* Endpoint: `POST /portfolio/getcoupons` (NV20)
|
|
1293
|
+
*
|
|
1294
|
+
* @example
|
|
1295
|
+
* ```ts
|
|
1296
|
+
* // Payload запроса
|
|
1297
|
+
* const payload = {
|
|
1298
|
+
* codes: ["ABC123", "DEF456"]
|
|
1299
|
+
* };
|
|
1300
|
+
*
|
|
1301
|
+
* const coupons = await api.getCoupons(["ABC123", "DEF456"]);
|
|
1302
|
+
*
|
|
1303
|
+
* // Ответ — массив объектов купонов
|
|
1304
|
+
* // [{ id: 1, odds: [...], domain: "example.com", ... }, ...]
|
|
1305
|
+
* ```
|
|
1306
|
+
*/
|
|
1307
|
+
getCoupons(savedCodesList: string[]): Promise<{
|
|
1308
|
+
data: any;
|
|
1309
|
+
error: string | null;
|
|
1310
|
+
status: number;
|
|
1311
|
+
statusText: string;
|
|
1312
|
+
}>;
|
|
1211
1313
|
}
|
|
@@ -2233,5 +2233,111 @@ export class BetBoosterOfficeApi {
|
|
|
2233
2233
|
const { data, status, statusText } = await this.request(url).POST(payload).exec();
|
|
2234
2234
|
return this.responseHandlerDataData(data, status, statusText);
|
|
2235
2235
|
}
|
|
2236
|
+
/**
|
|
2237
|
+
* Получает сохранённый купон по его идентификатору.
|
|
2238
|
+
*
|
|
2239
|
+
* @param savedCouponId - Уникальный числовой идентификатор сохранённого купона.
|
|
2240
|
+
* @returns Данные сохранённого купона.
|
|
2241
|
+
*
|
|
2242
|
+
* @remarks
|
|
2243
|
+
* Endpoint: `GET /portfolio/getcoupon/:savedCouponId` (NV20)
|
|
2244
|
+
*
|
|
2245
|
+
* @example
|
|
2246
|
+
* ```ts
|
|
2247
|
+
* // Запрос
|
|
2248
|
+
* const coupon = await api.getSavedCoupon(12345);
|
|
2249
|
+
*
|
|
2250
|
+
* // Ответ (строка с данными купона)
|
|
2251
|
+
* // "{ ... serialized coupon data ... }"
|
|
2252
|
+
* ```
|
|
2253
|
+
*/
|
|
2254
|
+
async getSavedCoupon(savedCouponId) {
|
|
2255
|
+
const url = this.url(`/portfolio/getcoupon/:${savedCouponId}`, api.NV20);
|
|
2256
|
+
const { data, status, statusText } = await this.request(url).exec();
|
|
2257
|
+
return this.responseHandlerDataData(data, status, statusText);
|
|
2258
|
+
}
|
|
2259
|
+
/**
|
|
2260
|
+
* Создаёт новый сохранённый купон на основе переданных данных и списка кодов.
|
|
2261
|
+
*
|
|
2262
|
+
* @param couponData - Объект {@link I.ICouponRequest} с данными купона (коэффициенты, домен, партнёр и т.д.).
|
|
2263
|
+
* @param savedCodesList - Массив строковых кодов, привязываемых к купону.
|
|
2264
|
+
* @returns Результат создания купона.
|
|
2265
|
+
*
|
|
2266
|
+
* @remarks
|
|
2267
|
+
* Endpoint: `POST /portfolio/createcoupon` (NV20)
|
|
2268
|
+
*
|
|
2269
|
+
* @example
|
|
2270
|
+
* ```ts
|
|
2271
|
+
* // Payload запроса
|
|
2272
|
+
* const payload = {
|
|
2273
|
+
* data: {
|
|
2274
|
+
* odds: [
|
|
2275
|
+
* {
|
|
2276
|
+
* ErrorMessage: 0,
|
|
2277
|
+
* Min: 10,
|
|
2278
|
+
* Max: 1000,
|
|
2279
|
+
* MinCurrencyUnit: 1,
|
|
2280
|
+
* IsRound: false,
|
|
2281
|
+
* IsReinvested: false,
|
|
2282
|
+
* MinAdd: 0,
|
|
2283
|
+
* MaxAdd: 0,
|
|
2284
|
+
* Odds: 1.85,
|
|
2285
|
+
* IsLive: false,
|
|
2286
|
+
* LinesID: 456789,
|
|
2287
|
+
* BetVarID: 1,
|
|
2288
|
+
* NameSport: "Football",
|
|
2289
|
+
* NameTeam1: "Team A",
|
|
2290
|
+
* NameTeam2: "Team B",
|
|
2291
|
+
* NameBetShort: "1"
|
|
2292
|
+
* }
|
|
2293
|
+
* ],
|
|
2294
|
+
* domain: "example.com",
|
|
2295
|
+
* partner: "partner1"
|
|
2296
|
+
* },
|
|
2297
|
+
* codes: ["ABC123", "DEF456"]
|
|
2298
|
+
* };
|
|
2299
|
+
*
|
|
2300
|
+
* const result = await api.createSavedCoupon(payload.data, payload.codes);
|
|
2301
|
+
* ```
|
|
2302
|
+
*/
|
|
2303
|
+
async createSavedCoupon(couponData, savedCodesList) {
|
|
2304
|
+
const url = this.url(`/portfolio/createcoupon`, api.NV20);
|
|
2305
|
+
const payload = {
|
|
2306
|
+
data: couponData,
|
|
2307
|
+
codes: savedCodesList,
|
|
2308
|
+
};
|
|
2309
|
+
const { data, status, statusText } = await this.request(url).POST(payload).exec();
|
|
2310
|
+
return this.responseHandlerDataData(data, status, statusText);
|
|
2311
|
+
}
|
|
2312
|
+
/**
|
|
2313
|
+
* Получает список сохранённых купонов по массиву кодов.
|
|
2314
|
+
*
|
|
2315
|
+
* @param savedCodesList - Массив строковых кодов для поиска соответствующих купонов.
|
|
2316
|
+
* @returns Массив найденных купонов.
|
|
2317
|
+
*
|
|
2318
|
+
* @remarks
|
|
2319
|
+
* Endpoint: `POST /portfolio/getcoupons` (NV20)
|
|
2320
|
+
*
|
|
2321
|
+
* @example
|
|
2322
|
+
* ```ts
|
|
2323
|
+
* // Payload запроса
|
|
2324
|
+
* const payload = {
|
|
2325
|
+
* codes: ["ABC123", "DEF456"]
|
|
2326
|
+
* };
|
|
2327
|
+
*
|
|
2328
|
+
* const coupons = await api.getCoupons(["ABC123", "DEF456"]);
|
|
2329
|
+
*
|
|
2330
|
+
* // Ответ — массив объектов купонов
|
|
2331
|
+
* // [{ id: 1, odds: [...], domain: "example.com", ... }, ...]
|
|
2332
|
+
* ```
|
|
2333
|
+
*/
|
|
2334
|
+
async getCoupons(savedCodesList) {
|
|
2335
|
+
const url = this.url(`/portfolio/getcoupons`, api.NV20);
|
|
2336
|
+
const payload = {
|
|
2337
|
+
codes: savedCodesList,
|
|
2338
|
+
};
|
|
2339
|
+
const { data, status, statusText } = await this.request(url).POST(payload).exec();
|
|
2340
|
+
return this.responseHandlerDataData(data, status, statusText);
|
|
2341
|
+
}
|
|
2236
2342
|
}
|
|
2237
2343
|
// @workspace /doc в комментарии приведи полный пример payload из I.IConfirmWithdrawalOrderPayload
|
package/dist/Types.d.ts
CHANGED
|
@@ -1866,6 +1866,55 @@ export type TBetslipResponse = {
|
|
|
1866
1866
|
};
|
|
1867
1867
|
BetslipType: EBetslipType;
|
|
1868
1868
|
};
|
|
1869
|
+
/** Одна позиция ставки в купоне */
|
|
1870
|
+
export interface ICouponOdd {
|
|
1871
|
+
ErrorMessage: number;
|
|
1872
|
+
Min: number;
|
|
1873
|
+
Max: number;
|
|
1874
|
+
MinCurrencyUnit: number;
|
|
1875
|
+
IsRound: boolean;
|
|
1876
|
+
IsReinvested: boolean;
|
|
1877
|
+
MinAdd: number;
|
|
1878
|
+
MaxAdd: number;
|
|
1879
|
+
Odds: number;
|
|
1880
|
+
IsLive: boolean;
|
|
1881
|
+
Amount?: number;
|
|
1882
|
+
LinesID?: number;
|
|
1883
|
+
HandSize?: number | null;
|
|
1884
|
+
BetVarID?: number;
|
|
1885
|
+
Add1?: number | null;
|
|
1886
|
+
Add2?: number | null;
|
|
1887
|
+
Score?: string;
|
|
1888
|
+
OddsOld?: number;
|
|
1889
|
+
HandSizeOld?: number;
|
|
1890
|
+
NameSport?: string;
|
|
1891
|
+
NameCountry?: string;
|
|
1892
|
+
NameTurnir?: string;
|
|
1893
|
+
NameTeam1?: string;
|
|
1894
|
+
NameTeam2?: string;
|
|
1895
|
+
PriceNum?: number;
|
|
1896
|
+
/** Дата события в формате ISO 8601 с часовым поясом, например "2026-04-07T22:00:00+03:00" */
|
|
1897
|
+
DateEvent?: string;
|
|
1898
|
+
NameBetShort?: string;
|
|
1899
|
+
NameBetLong?: string;
|
|
1900
|
+
Comment?: string;
|
|
1901
|
+
SportId?: number;
|
|
1902
|
+
DateEventLive?: string | null;
|
|
1903
|
+
BonusType?: number;
|
|
1904
|
+
BetIdentifier?: string | null;
|
|
1905
|
+
}
|
|
1906
|
+
/** Входящий запрос на сохранение купона */
|
|
1907
|
+
export interface ICouponRequest {
|
|
1908
|
+
odds: ICouponOdd[];
|
|
1909
|
+
domain: string;
|
|
1910
|
+
partner: string;
|
|
1911
|
+
id?: number;
|
|
1912
|
+
code?: string;
|
|
1913
|
+
}
|
|
1914
|
+
export type ICreateCouponRequest = {
|
|
1915
|
+
data: ICouponRequest;
|
|
1916
|
+
codes?: string[] | null | undefined;
|
|
1917
|
+
};
|
|
1869
1918
|
export {};
|
|
1870
1919
|
/**
|
|
1871
1920
|
*
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bb-api-platforma",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.245",
|
|
4
4
|
"description": "API module for BetBooster Platform",
|
|
5
5
|
"productName": "BetBooster Platform API",
|
|
6
6
|
"author": "Tomy Bet <tomybet.com@gmail.com>",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"types": "dist/BetBoosterApi.min.d.ts",
|
|
10
10
|
"type": "module",
|
|
11
11
|
"scripts": {
|
|
12
|
-
"release": "
|
|
12
|
+
"release": ".\\release.ps1",
|
|
13
13
|
"build": "rimraf ./dist && tsc --project tsconfig.build.json",
|
|
14
14
|
"build:compress": "npm run build && terser --compress --mangle --source-map \"url='BetBoosterApi.min.js.map'\" --output dist/BetBoosterApi.min.js dist/BetBoosterApi.js",
|
|
15
15
|
"build:types": "dts-bundle-generator -o dist/BetBoosterApi.min.d.ts src/BetBoosterApi.ts",
|