bb-api-platforma 0.1.267 → 0.1.269

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.
@@ -1436,6 +1436,61 @@ export declare class BetBoosterOfficeApi {
1436
1436
  status: number;
1437
1437
  statusText: string;
1438
1438
  }>;
1439
+ /**
1440
+ * Возвращает отчёт о движении денежных средств по кассам за указанный период.
1441
+ *
1442
+ * Каждая запись в ответе соответствует одному дню работы конкретной кассы:
1443
+ * сумма принятых и выплаченных ставок, а также суммы депозитных операций.
1444
+ *
1445
+ * @param payload - Параметры запроса.
1446
+ * @param payload.DateStart - Начало периода в формате ISO 8601 UTC (например, `"2026-05-31T21:00:00.000Z"`).
1447
+ * @param payload.DateEnd - Конец периода в формате ISO 8601 UTC (например, `"2026-06-13T20:59:59.999Z"`).
1448
+ * @param payload.PointIds - Массив идентификаторов касс.
1449
+ * @param payload.Offset - Смещение часового пояса клиента в минутах (UTC+2 → `120`).
1450
+ * @returns Промис с массивом записей {@link I.ICashiersCashflowItemV2} или `null` в случае ошибки.
1451
+ *
1452
+ * @remarks
1453
+ * Endpoint: `POST /api/v2/report/CashFlow`
1454
+ *
1455
+ * @example
1456
+ * ```typescript
1457
+ * // Request payload
1458
+ * const payload: I.ICashiersCashflowPayload = {
1459
+ * DateStart: "2026-05-31T21:00:00.000Z",
1460
+ * DateEnd: "2026-06-13T20:59:59.999Z",
1461
+ * PointIds: [427, 465, 531, 539],
1462
+ * Offset: 120
1463
+ * };
1464
+ *
1465
+ * const result = await officeApi.cashiersCashflowV2(payload);
1466
+ *
1467
+ * // Response (data содержит массив I.ICashiersCashflowItemV2[])
1468
+ * // {
1469
+ * // "Ok": true,
1470
+ * // "Error": "",
1471
+ * // "Data": [
1472
+ * // {
1473
+ * // "Date": "2026-06-11T00:00:00",
1474
+ * // "CashierName": "bepanda01",
1475
+ * // "PointId": 545,
1476
+ * // "PointName": "bepanda01",
1477
+ * // "PointCurrency": "XAF",
1478
+ * // "BetsPlaced": 0,
1479
+ * // "BetsPayout": 0,
1480
+ * // "DepositsPlaced": 171700,
1481
+ * // "DepositsPayout": 38910.43,
1482
+ * // "CashierID": 123
1483
+ * // }
1484
+ * // ]
1485
+ * // }
1486
+ * ```
1487
+ */
1488
+ cashiersCashflowV2(payload: I.ICashiersCashflowPayload): Promise<{
1489
+ data: I.ICashiersCashflowItemV2[] | null;
1490
+ error: string | null;
1491
+ status: number;
1492
+ statusText: string;
1493
+ }>;
1439
1494
  /**
1440
1495
  * Возвращает GGR-отчёт по пунктам за указанный период.
1441
1496
  *
@@ -1495,6 +1550,86 @@ export declare class BetBoosterOfficeApi {
1495
1550
  status: number;
1496
1551
  statusText: string;
1497
1552
  }>;
1553
+ /**
1554
+ * Возвращает постраничный отчёт по транзакциям кассиров за указанный период.
1555
+ *
1556
+ * Ответ содержит три набора данных:
1557
+ * - `Rows` — транзакции текущей страницы;
1558
+ * - `Totals` — агрегированные итоги по видам транзакций за весь период;
1559
+ * - метаданные пагинации (`TotalRows`, `TotalPages`, `CurrentPage`, `PageSize`).
1560
+ *
1561
+ * Максимальный диапазон дат — 65 дней.
1562
+ *
1563
+ * @param payload - Параметры запроса.
1564
+ * @param payload.DateStart - Начало периода в формате ISO 8601 UTC.
1565
+ * @param payload.DateEnd - Конец периода в формате ISO 8601 UTC.
1566
+ * @param payload.PointIds - Массив идентификаторов касс (опционально).
1567
+ * @param payload.UserIds - Массив идентификаторов кассиров (опционально).
1568
+ * @param payload.PageNumber - Номер страницы (начиная с 1).
1569
+ * @param payload.PageSize - Размер страницы.
1570
+ * @param payload.SortDesc - Сортировка по убыванию даты транзакции.
1571
+ * @returns Промис с объектом {@link I.ICashiersTransactionsResponse} или `null` в случае ошибки.
1572
+ *
1573
+ * @remarks
1574
+ * Endpoint: `POST /api/v2/report/CashierTransactionsReport`
1575
+ *
1576
+ * @example
1577
+ * ```typescript
1578
+ * const payload: I.ICashiersTransactionsPayload = {
1579
+ * DateStart: "2026-06-01T00:00:00.000Z",
1580
+ * DateEnd: "2026-06-25T23:59:59.999Z",
1581
+ * PointIds: [427, 465],
1582
+ * UserIds: [1012, 1015],
1583
+ * PageNumber: 1,
1584
+ * PageSize: 50,
1585
+ * SortDesc: true
1586
+ * };
1587
+ *
1588
+ * const result = await officeApi.getCashiersTransactions(payload);
1589
+ *
1590
+ * // Response (data содержит I.ICashiersTransactionsResponse)
1591
+ * // {
1592
+ * // "Ok": true,
1593
+ * // "Error": "",
1594
+ * // "Data": {
1595
+ * // "Rows": [
1596
+ * // {
1597
+ * // "TransactionId": 9000123,
1598
+ * // "TransactionDate": "2026-06-24T14:35:00",
1599
+ * // "PointId": 427,
1600
+ * // "PointName": "Point 427",
1601
+ * // "PointCurrency": "USD",
1602
+ * // "CashierUserId": 1012,
1603
+ * // "CashierLogin": "cashier_01",
1604
+ * // "IsExternal": 0,
1605
+ * // "TransactionTypeId": 1,
1606
+ * // "Amount": 500.00,
1607
+ * // "IsAddition": true
1608
+ * // }
1609
+ * // ],
1610
+ * // "Totals": [
1611
+ * // {
1612
+ * // "IsExternal": 0,
1613
+ * // "TransactionTypeId": 1,
1614
+ * // "IsAddition": true,
1615
+ * // "TotalAmount": 15000.00,
1616
+ * // "RowsCount": 30
1617
+ * // }
1618
+ * // ],
1619
+ * // "TotalRows": 30,
1620
+ * // "TotalPages": 1,
1621
+ * // "CurrentPage": 1,
1622
+ * // "PageSize": 50
1623
+ * // }
1624
+ * // }
1625
+ * ```
1626
+ */
1627
+ getCashiersTransactions(payload: I.ICashiersTransactionsPayload): Promise<{
1628
+ data: I.ICashiersTransactionsResponse | null;
1629
+ error: string | null;
1630
+ status: number;
1631
+ statusText: string;
1632
+ }>;
1498
1633
  /**
1499
1634
  * Retrieves the content of a bet by betId.
1500
1635
  * @param betId - The bet identifier.
@@ -2463,6 +2463,60 @@ export class BetBoosterOfficeApi {
2463
2463
  const { data, status, statusText } = await this.request(url).POST(payload).exec();
2464
2464
  return this.responseHandlerData(data, status, statusText);
2465
2465
  }
2466
+ /**
2467
+ * Возвращает отчёт о движении денежных средств по кассам за указанный период.
2468
+ *
2469
+ * Каждая запись в ответе соответствует одному дню работы конкретной кассы:
2470
+ * сумма принятых и выплаченных ставок, а также суммы депозитных операций.
2471
+ *
2472
+ * @param payload - Параметры запроса.
2473
+ * @param payload.DateStart - Начало периода в формате ISO 8601 UTC (например, `"2026-05-31T21:00:00.000Z"`).
2474
+ * @param payload.DateEnd - Конец периода в формате ISO 8601 UTC (например, `"2026-06-13T20:59:59.999Z"`).
2475
+ * @param payload.PointIds - Массив идентификаторов касс.
2476
+ * @param payload.Offset - Смещение часового пояса клиента в минутах (UTC+2 → `120`).
2477
+ * @returns Промис с массивом записей {@link I.ICashiersCashflowItemV2} или `null` в случае ошибки.
2478
+ *
2479
+ * @remarks
2480
+ * Endpoint: `POST /api/v2/report/CashFlow`
2481
+ *
2482
+ * @example
2483
+ * ```typescript
2484
+ * // Request payload
2485
+ * const payload: I.ICashiersCashflowPayload = {
2486
+ * DateStart: "2026-05-31T21:00:00.000Z",
2487
+ * DateEnd: "2026-06-13T20:59:59.999Z",
2488
+ * PointIds: [427, 465, 531, 539],
2489
+ * Offset: 120
2490
+ * };
2491
+ *
2492
+ * const result = await officeApi.cashiersCashflowV2(payload);
2493
+ *
2494
+ * // Response (data содержит массив I.ICashiersCashflowItemV2[])
2495
+ * // {
2496
+ * // "Ok": true,
2497
+ * // "Error": "",
2498
+ * // "Data": [
2499
+ * // {
2500
+ * // "Date": "2026-06-11T00:00:00",
2501
+ * // "CashierName": "bepanda01",
2502
+ * // "PointId": 545,
2503
+ * // "PointName": "bepanda01",
2504
+ * // "PointCurrency": "XAF",
2505
+ * // "BetsPlaced": 0,
2506
+ * // "BetsPayout": 0,
2507
+ * // "DepositsPlaced": 171700,
2508
+ * // "DepositsPayout": 38910.43,
2509
+ * // "CashierID": 123
2510
+ * // }
2511
+ * // ]
2512
+ * // }
2513
+ * ```
2514
+ */
2515
+ async cashiersCashflowV2(payload) {
2516
+ const url = this.url(`/report/CashFlowV2`, api.V2);
2517
+ const { data, status, statusText } = await this.request(url).POST(payload).exec();
2518
+ return this.responseHandlerData(data, status, statusText);
2519
+ }
2466
2520
  /**
2467
2521
  * Возвращает GGR-отчёт по пунктам за указанный период.
2468
2522
  *
@@ -2521,6 +2575,85 @@ export class BetBoosterOfficeApi {
2521
2575
  const { data, status, statusText } = await this.request(url).POST(payload).exec();
2522
2576
  return this.responseHandlerData(data, status, statusText);
2523
2577
  }
2578
+ /**
2579
+ * Возвращает постраничный отчёт по транзакциям кассиров за указанный период.
2580
+ *
2581
+ * Ответ содержит три набора данных:
2582
+ * - `Rows` — транзакции текущей страницы;
2583
+ * - `Totals` — агрегированные итоги по видам транзакций за весь период;
2584
+ * - метаданные пагинации (`TotalRows`, `TotalPages`, `CurrentPage`, `PageSize`).
2585
+ *
2586
+ * Максимальный диапазон дат — 65 дней.
2587
+ *
2588
+ * @param payload - Параметры запроса.
2589
+ * @param payload.DateStart - Начало периода в формате ISO 8601 UTC.
2590
+ * @param payload.DateEnd - Конец периода в формате ISO 8601 UTC.
2591
+ * @param payload.PointIds - Массив идентификаторов касс (опционально).
2592
+ * @param payload.UserIds - Массив идентификаторов кассиров (опционально).
2593
+ * @param payload.PageNumber - Номер страницы (начиная с 1).
2594
+ * @param payload.PageSize - Размер страницы.
2595
+ * @param payload.SortDesc - Сортировка по убыванию даты транзакции.
2596
+ * @returns Промис с объектом {@link I.ICashiersTransactionsResponse} или `null` в случае ошибки.
2597
+ *
2598
+ * @remarks
2599
+ * Endpoint: `POST /api/v2/report/CashierTransactionsReport`
2600
+ *
2601
+ * @example
2602
+ * ```typescript
2603
+ * const payload: I.ICashiersTransactionsPayload = {
2604
+ * DateStart: "2026-06-01T00:00:00.000Z",
2605
+ * DateEnd: "2026-06-25T23:59:59.999Z",
2606
+ * PointIds: [427, 465],
2607
+ * UserIds: [1012, 1015],
2608
+ * PageNumber: 1,
2609
+ * PageSize: 50,
2610
+ * SortDesc: true
2611
+ * };
2612
+ *
2613
+ * const result = await officeApi.getCashiersTransactions(payload);
2614
+ *
2615
+ * // Response (data содержит I.ICashiersTransactionsResponse)
2616
+ * // {
2617
+ * // "Ok": true,
2618
+ * // "Error": "",
2619
+ * // "Data": {
2620
+ * // "Rows": [
2621
+ * // {
2622
+ * // "TransactionId": 9000123,
2623
+ * // "TransactionDate": "2026-06-24T14:35:00",
2624
+ * // "PointId": 427,
2625
+ * // "PointName": "Point 427",
2626
+ * // "PointCurrency": "USD",
2627
+ * // "CashierUserId": 1012,
2628
+ * // "CashierLogin": "cashier_01",
2629
+ * // "IsExternal": 0,
2630
+ * // "TransactionTypeId": 1,
2631
+ * // "Amount": 500.00,
2632
+ * // "IsAddition": true
2633
+ * // }
2634
+ * // ],
2635
+ * // "Totals": [
2636
+ * // {
2637
+ * // "IsExternal": 0,
2638
+ * // "TransactionTypeId": 1,
2639
+ * // "IsAddition": true,
2640
+ * // "TotalAmount": 15000.00,
2641
+ * // "RowsCount": 30
2642
+ * // }
2643
+ * // ],
2644
+ * // "TotalRows": 30,
2645
+ * // "TotalPages": 1,
2646
+ * // "CurrentPage": 1,
2647
+ * // "PageSize": 50
2648
+ * // }
2649
+ * // }
2650
+ * ```
2651
+ */
2652
+ async getCashiersTransactions(payload) {
2653
+ const url = this.url(`/report/CashierTransactionsReport`, api.V2);
2654
+ const { data, status, statusText } = await this.request(url).POST(payload).exec();
2655
+ return this.responseHandlerData(data, status, statusText);
2656
+ }
2524
2657
  /**
2525
2658
  * Retrieves the content of a bet by betId.
2526
2659
  * @param betId - The bet identifier.
package/dist/Types.d.ts CHANGED
@@ -1122,6 +1122,11 @@ export interface ICashiersCashflowItem {
1122
1122
  /** Сумма выплат депозитов */
1123
1123
  DepositsPayout: number;
1124
1124
  }
1125
+ /** Одна запись кассового движения средств */
1126
+ export interface ICashiersCashflowItemV2 extends ICashiersCashflowItem {
1127
+ /** Дополнительные поля для версии 2 */
1128
+ CashierID: number;
1129
+ }
1125
1130
  /** Payload для GGR отчёта по пунктам за период */
1126
1131
  export interface IGgrReportPayload {
1127
1132
  /** Начало периода (ISO 8601 UTC) */
@@ -1166,6 +1171,76 @@ export interface IGgrReportItem {
1166
1171
  /** Сумма выигрышей в казино */
1167
1172
  CasinoWin: number;
1168
1173
  }
1174
+ /** Параметры запроса отчёта по транзакциям кассиров */
1175
+ export interface ICashiersTransactionsPayload {
1176
+ /** Начало периода (ISO 8601 UTC) */
1177
+ DateStart: string;
1178
+ /** Конец периода (ISO 8601 UTC) */
1179
+ DateEnd: string;
1180
+ /** Массив идентификаторов касс (опционально) */
1181
+ PointIds?: number[];
1182
+ /** Массив идентификаторов пользователей-кассиров (опционально) */
1183
+ UserIds?: number[];
1184
+ /** Номер страницы (начиная с 1) */
1185
+ PageNumber: number;
1186
+ /** Размер страницы */
1187
+ PageSize: number;
1188
+ /** Сортировка по убыванию */
1189
+ SortDesc: boolean;
1190
+ }
1191
+ /** Одна транзакция в отчёте кассира */
1192
+ export interface ICashierTransactionRow {
1193
+ /** Идентификатор транзакции */
1194
+ TransactionId: number;
1195
+ /** Дата и время транзакции (ISO 8601) */
1196
+ TransactionDate: string;
1197
+ /** Идентификатор кассы */
1198
+ PointId: number;
1199
+ /** Наименование кассы */
1200
+ PointName: string;
1201
+ /** Код валюты кассы */
1202
+ PointCurrency: string;
1203
+ /** Идентификатор пользователя-кассира */
1204
+ CashierUserId: number;
1205
+ /** Логин кассира */
1206
+ CashierLogin: string;
1207
+ /** Признак внешней транзакции (0 — внутренняя, 1 — внешняя) */
1208
+ IsExternal: number;
1209
+ /** Тип транзакции */
1210
+ TransactionTypeId: number;
1211
+ /** Сумма транзакции */
1212
+ Amount: number;
1213
+ /** true — пополнение, false — выплата */
1214
+ IsAddition: boolean;
1215
+ }
1216
+ /** Агрегированный итог по виду транзакции за период */
1217
+ export interface ICashierTransactionTotal {
1218
+ /** Признак внешней транзакции */
1219
+ IsExternal: number;
1220
+ /** Тип транзакции */
1221
+ TransactionTypeId: number;
1222
+ /** true — пополнение, false — выплата */
1223
+ IsAddition: boolean;
1224
+ /** Итоговая сумма */
1225
+ TotalAmount: number;
1226
+ /** Количество строк */
1227
+ RowsCount: number;
1228
+ }
1229
+ /** Ответ отчёта по транзакциям кассиров */
1230
+ export interface ICashiersTransactionsResponse {
1231
+ /** Список транзакций на текущей странице */
1232
+ Rows: ICashierTransactionRow[];
1233
+ /** Итоги по видам транзакций за период */
1234
+ Totals: ICashierTransactionTotal[];
1235
+ /** Общее количество строк */
1236
+ TotalRows: number;
1237
+ /** Общее количество страниц */
1238
+ TotalPages: number;
1239
+ /** Текущая страница */
1240
+ CurrentPage: number;
1241
+ /** Размер страницы */
1242
+ PageSize: number;
1243
+ }
1169
1244
  export type TResponseDataFormat = 'StatusResponse' | null;
1170
1245
  export interface ILiveResponce {
1171
1246
  TimeStamp?: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bb-api-platforma",
3
- "version": "0.1.267",
3
+ "version": "0.1.269",
4
4
  "description": "API module for BetBooster Platform",
5
5
  "productName": "BetBooster Platform API",
6
6
  "author": "Tomy Bet <tomybet.com@gmail.com>",