bb-api-platforma 0.1.267 → 0.1.268

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.
@@ -1495,6 +1495,86 @@ export declare class BetBoosterOfficeApi {
1495
1495
  status: number;
1496
1496
  statusText: string;
1497
1497
  }>;
1498
+ /**
1499
+ * Возвращает постраничный отчёт по транзакциям кассиров за указанный период.
1500
+ *
1501
+ * Ответ содержит три набора данных:
1502
+ * - `Rows` — транзакции текущей страницы;
1503
+ * - `Totals` — агрегированные итоги по видам транзакций за весь период;
1504
+ * - метаданные пагинации (`TotalRows`, `TotalPages`, `CurrentPage`, `PageSize`).
1505
+ *
1506
+ * Максимальный диапазон дат — 65 дней.
1507
+ *
1508
+ * @param payload - Параметры запроса.
1509
+ * @param payload.DateStart - Начало периода в формате ISO 8601 UTC.
1510
+ * @param payload.DateEnd - Конец периода в формате ISO 8601 UTC.
1511
+ * @param payload.PointIds - Массив идентификаторов касс (опционально).
1512
+ * @param payload.UserIds - Массив идентификаторов кассиров (опционально).
1513
+ * @param payload.PageNumber - Номер страницы (начиная с 1).
1514
+ * @param payload.PageSize - Размер страницы.
1515
+ * @param payload.SortDesc - Сортировка по убыванию даты транзакции.
1516
+ * @returns Промис с объектом {@link I.ICashiersTransactionsResponse} или `null` в случае ошибки.
1517
+ *
1518
+ * @remarks
1519
+ * Endpoint: `POST /api/v2/report/CashierTransactionsReport`
1520
+ *
1521
+ * @example
1522
+ * ```typescript
1523
+ * const payload: I.ICashiersTransactionsPayload = {
1524
+ * DateStart: "2026-06-01T00:00:00.000Z",
1525
+ * DateEnd: "2026-06-25T23:59:59.999Z",
1526
+ * PointIds: [427, 465],
1527
+ * UserIds: [1012, 1015],
1528
+ * PageNumber: 1,
1529
+ * PageSize: 50,
1530
+ * SortDesc: true
1531
+ * };
1532
+ *
1533
+ * const result = await officeApi.getCashiersTransactions(payload);
1534
+ *
1535
+ * // Response (data содержит I.ICashiersTransactionsResponse)
1536
+ * // {
1537
+ * // "Ok": true,
1538
+ * // "Error": "",
1539
+ * // "Data": {
1540
+ * // "Rows": [
1541
+ * // {
1542
+ * // "TransactionId": 9000123,
1543
+ * // "TransactionDate": "2026-06-24T14:35:00",
1544
+ * // "PointId": 427,
1545
+ * // "PointName": "Point 427",
1546
+ * // "PointCurrency": "USD",
1547
+ * // "CashierUserId": 1012,
1548
+ * // "CashierLogin": "cashier_01",
1549
+ * // "IsExternal": 0,
1550
+ * // "TransactionTypeId": 1,
1551
+ * // "Amount": 500.00,
1552
+ * // "IsAddition": true
1553
+ * // }
1554
+ * // ],
1555
+ * // "Totals": [
1556
+ * // {
1557
+ * // "IsExternal": 0,
1558
+ * // "TransactionTypeId": 1,
1559
+ * // "IsAddition": true,
1560
+ * // "TotalAmount": 15000.00,
1561
+ * // "RowsCount": 30
1562
+ * // }
1563
+ * // ],
1564
+ * // "TotalRows": 30,
1565
+ * // "TotalPages": 1,
1566
+ * // "CurrentPage": 1,
1567
+ * // "PageSize": 50
1568
+ * // }
1569
+ * // }
1570
+ * ```
1571
+ */
1572
+ getCashiersTransactions(payload: I.ICashiersTransactionsPayload): Promise<{
1573
+ data: I.ICashiersTransactionsResponse | null;
1574
+ error: string | null;
1575
+ status: number;
1576
+ statusText: string;
1577
+ }>;
1498
1578
  /**
1499
1579
  * Retrieves the content of a bet by betId.
1500
1580
  * @param betId - The bet identifier.
@@ -2521,6 +2521,85 @@ export class BetBoosterOfficeApi {
2521
2521
  const { data, status, statusText } = await this.request(url).POST(payload).exec();
2522
2522
  return this.responseHandlerData(data, status, statusText);
2523
2523
  }
2524
+ /**
2525
+ * Возвращает постраничный отчёт по транзакциям кассиров за указанный период.
2526
+ *
2527
+ * Ответ содержит три набора данных:
2528
+ * - `Rows` — транзакции текущей страницы;
2529
+ * - `Totals` — агрегированные итоги по видам транзакций за весь период;
2530
+ * - метаданные пагинации (`TotalRows`, `TotalPages`, `CurrentPage`, `PageSize`).
2531
+ *
2532
+ * Максимальный диапазон дат — 65 дней.
2533
+ *
2534
+ * @param payload - Параметры запроса.
2535
+ * @param payload.DateStart - Начало периода в формате ISO 8601 UTC.
2536
+ * @param payload.DateEnd - Конец периода в формате ISO 8601 UTC.
2537
+ * @param payload.PointIds - Массив идентификаторов касс (опционально).
2538
+ * @param payload.UserIds - Массив идентификаторов кассиров (опционально).
2539
+ * @param payload.PageNumber - Номер страницы (начиная с 1).
2540
+ * @param payload.PageSize - Размер страницы.
2541
+ * @param payload.SortDesc - Сортировка по убыванию даты транзакции.
2542
+ * @returns Промис с объектом {@link I.ICashiersTransactionsResponse} или `null` в случае ошибки.
2543
+ *
2544
+ * @remarks
2545
+ * Endpoint: `POST /api/v2/report/CashierTransactionsReport`
2546
+ *
2547
+ * @example
2548
+ * ```typescript
2549
+ * const payload: I.ICashiersTransactionsPayload = {
2550
+ * DateStart: "2026-06-01T00:00:00.000Z",
2551
+ * DateEnd: "2026-06-25T23:59:59.999Z",
2552
+ * PointIds: [427, 465],
2553
+ * UserIds: [1012, 1015],
2554
+ * PageNumber: 1,
2555
+ * PageSize: 50,
2556
+ * SortDesc: true
2557
+ * };
2558
+ *
2559
+ * const result = await officeApi.getCashiersTransactions(payload);
2560
+ *
2561
+ * // Response (data содержит I.ICashiersTransactionsResponse)
2562
+ * // {
2563
+ * // "Ok": true,
2564
+ * // "Error": "",
2565
+ * // "Data": {
2566
+ * // "Rows": [
2567
+ * // {
2568
+ * // "TransactionId": 9000123,
2569
+ * // "TransactionDate": "2026-06-24T14:35:00",
2570
+ * // "PointId": 427,
2571
+ * // "PointName": "Point 427",
2572
+ * // "PointCurrency": "USD",
2573
+ * // "CashierUserId": 1012,
2574
+ * // "CashierLogin": "cashier_01",
2575
+ * // "IsExternal": 0,
2576
+ * // "TransactionTypeId": 1,
2577
+ * // "Amount": 500.00,
2578
+ * // "IsAddition": true
2579
+ * // }
2580
+ * // ],
2581
+ * // "Totals": [
2582
+ * // {
2583
+ * // "IsExternal": 0,
2584
+ * // "TransactionTypeId": 1,
2585
+ * // "IsAddition": true,
2586
+ * // "TotalAmount": 15000.00,
2587
+ * // "RowsCount": 30
2588
+ * // }
2589
+ * // ],
2590
+ * // "TotalRows": 30,
2591
+ * // "TotalPages": 1,
2592
+ * // "CurrentPage": 1,
2593
+ * // "PageSize": 50
2594
+ * // }
2595
+ * // }
2596
+ * ```
2597
+ */
2598
+ async getCashiersTransactions(payload) {
2599
+ const url = this.url(`/report/CashierTransactionsReport`, api.V2);
2600
+ const { data, status, statusText } = await this.request(url).POST(payload).exec();
2601
+ return this.responseHandlerData(data, status, statusText);
2602
+ }
2524
2603
  /**
2525
2604
  * Retrieves the content of a bet by betId.
2526
2605
  * @param betId - The bet identifier.
package/dist/Types.d.ts CHANGED
@@ -1166,6 +1166,76 @@ export interface IGgrReportItem {
1166
1166
  /** Сумма выигрышей в казино */
1167
1167
  CasinoWin: number;
1168
1168
  }
1169
+ /** Параметры запроса отчёта по транзакциям кассиров */
1170
+ export interface ICashiersTransactionsPayload {
1171
+ /** Начало периода (ISO 8601 UTC) */
1172
+ DateStart: string;
1173
+ /** Конец периода (ISO 8601 UTC) */
1174
+ DateEnd: string;
1175
+ /** Массив идентификаторов касс (опционально) */
1176
+ PointIds?: number[];
1177
+ /** Массив идентификаторов пользователей-кассиров (опционально) */
1178
+ UserIds?: number[];
1179
+ /** Номер страницы (начиная с 1) */
1180
+ PageNumber: number;
1181
+ /** Размер страницы */
1182
+ PageSize: number;
1183
+ /** Сортировка по убыванию */
1184
+ SortDesc: boolean;
1185
+ }
1186
+ /** Одна транзакция в отчёте кассира */
1187
+ export interface ICashierTransactionRow {
1188
+ /** Идентификатор транзакции */
1189
+ TransactionId: number;
1190
+ /** Дата и время транзакции (ISO 8601) */
1191
+ TransactionDate: string;
1192
+ /** Идентификатор кассы */
1193
+ PointId: number;
1194
+ /** Наименование кассы */
1195
+ PointName: string;
1196
+ /** Код валюты кассы */
1197
+ PointCurrency: string;
1198
+ /** Идентификатор пользователя-кассира */
1199
+ CashierUserId: number;
1200
+ /** Логин кассира */
1201
+ CashierLogin: string;
1202
+ /** Признак внешней транзакции (0 — внутренняя, 1 — внешняя) */
1203
+ IsExternal: number;
1204
+ /** Тип транзакции */
1205
+ TransactionTypeId: number;
1206
+ /** Сумма транзакции */
1207
+ Amount: number;
1208
+ /** true — пополнение, false — выплата */
1209
+ IsAddition: boolean;
1210
+ }
1211
+ /** Агрегированный итог по виду транзакции за период */
1212
+ export interface ICashierTransactionTotal {
1213
+ /** Признак внешней транзакции */
1214
+ IsExternal: number;
1215
+ /** Тип транзакции */
1216
+ TransactionTypeId: number;
1217
+ /** true — пополнение, false — выплата */
1218
+ IsAddition: boolean;
1219
+ /** Итоговая сумма */
1220
+ TotalAmount: number;
1221
+ /** Количество строк */
1222
+ RowsCount: number;
1223
+ }
1224
+ /** Ответ отчёта по транзакциям кассиров */
1225
+ export interface ICashiersTransactionsResponse {
1226
+ /** Список транзакций на текущей странице */
1227
+ Rows: ICashierTransactionRow[];
1228
+ /** Итоги по видам транзакций за период */
1229
+ Totals: ICashierTransactionTotal[];
1230
+ /** Общее количество строк */
1231
+ TotalRows: number;
1232
+ /** Общее количество страниц */
1233
+ TotalPages: number;
1234
+ /** Текущая страница */
1235
+ CurrentPage: number;
1236
+ /** Размер страницы */
1237
+ PageSize: number;
1238
+ }
1169
1239
  export type TResponseDataFormat = 'StatusResponse' | null;
1170
1240
  export interface ILiveResponce {
1171
1241
  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.268",
4
4
  "description": "API module for BetBooster Platform",
5
5
  "productName": "BetBooster Platform API",
6
6
  "author": "Tomy Bet <tomybet.com@gmail.com>",