Возможности
API отчётов
Три метода POST https://notell-api.com/gameActions.do только для чтения отчитываются по вашему проекту: история раундов, валовый игровой доход и сверка по игрокам с вашим учётом.
- Они аутентифицируются, как и любой метод оператора:
partner,api_keyи разрешённый IP. Они ничего не меняют. - У них своя, меньшая квота частоты (отчёты считаются отдельно от остальных действий), заголовок
Idempotency-Keyони игнорируют. - Неизвестные поля отклоняются с
INVALID_REQUEST. Общие ошибки (UNAUTHORIZED,IP_NOT_ALLOWED,RATE_LIMITED) перечислены в Ошибках и ниже не повторяются. - Основа отчётов — список операций кошелька, которые платформа отправила вам (
bet,win,refund). Деньги двигают только операции, которые ваш кошелёк подтвердил; остальные показываются как ожидающие. Суммы — десятичные строки в валюте раунда; время — UTC, ISO 8601. - Даты:
fromиtoпринимают дату ISO (2027-02-01, полночь UTC) или дату-время с часовым поясом (2027-02-01T08:00:00Zили+02:00). Дата-время без пояса отклоняется.fromвключительно,toне включительно. - Раунды демо-режима в отчёты никогда не попадают.
report_rounds#
POST
/gameActions.domethodreport_roundsИстория раундов, сначала новые, с состоянием каждой операции кошелька.
Запрос#
curl -s -X POST https://notell-api.com/gameActions.do \
-H 'Content-Type: application/json' \
-d '{
"method": "report_rounds",
"partner": "demo-casino",
"api_key": "YOUR_API_KEY",
"player_id": "player-1024",
"from": "2027-02-01",
"to": "2027-02-16",
"limit": 100
}'{
"method": "report_rounds",
"partner": "demo-casino",
"api_key": "YOUR_API_KEY",
"player_id": "player-1024",
"from": "2027-02-01",
"to": "2027-02-16",
"limit": 100
}| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
player_id | string | нет | Только этот игрок. До 128 символов. |
symbol | string | нет | Только этот id игры. |
currency | string | нет | Только эта валюта ISO 4217. |
round_id | string | нет | Только этот раунд (UUID). Любое другое значение даёт пустой список. |
state | enum | нет | settled, pending, cancelled или rejected. |
from, to | string | нет | Период по началу раунда. from должен быть раньше to. |
limit | integer | нет | Размер страницы, 1–500. По умолчанию: 100. |
cursor | string | нет | next_cursor предыдущей страницы. |
Ответ#
{
"status": "ok",
"rounds": [
{
"round_id": "b2a74c1e-5d90-4f3a-8c21-0e9b7a6d4f12",
"player_id": "player-1024",
"symbol": "gates-of-olympus",
"currency": "EUR",
"mode": "spin",
"state": "settled",
"free_spin": false,
"bet": {"amount": "1.50", "status": "confirmed"},
"win": {"amount": "12.75", "status": "confirmed"},
"refund": {"amount": null, "status": null},
"cancel_reason": null,
"created_at": "2027-02-15T12:00:00.000Z",
"settled_at": "2027-02-15T12:00:03.000Z"
}
],
"next_cursor": null
}| Поле | Тип | Описание |
|---|---|---|
rounds | array<object> | Раунды, сначала новые. |
rounds[].round_id | string | Id раунда (UUID). |
rounds[].player_id, rounds[].symbol, rounds[].currency | string | Игрок, id игры, валюта раунда. |
rounds[].mode | string | Режим ставки раунда (например, spin, либо режим покупки бонуса или анте). |
rounds[].state | enum | settled, debit_pending, in_progress, credit_pending, rejected (кошелёк отклонил ставку), cancelled (отмена и возврат) или reconciliation_required. |
rounds[].free_spin | boolean | true для раунда фриспина; его bet.amount равен 0.00. |
rounds[].bet, .win, .refund | object | {amount, status}. amount — null, если такой операции нет. status — planned, sent, unknown, confirmed или rejected (null, если операции нет). |
rounds[].cancel_reason | string or null | wallet_unconfirmed или operator_cancel для отменённого раунда. |
rounds[].created_at, rounds[].settled_at | string | ISO 8601, UTC; settled_at — null, пока раунд не рассчитан. |
next_cursor | string or null | Передайте как cursor для следующей страницы; null на последней. |
Выигрыши выдачи фриспинов зачисляются один раз в конце выдачи, поэтому суммы win по отдельным раундам фриспинов не совпадают с кошельком один в один; для сравнения итогов используйте report_reconciliation.
Ошибки#
| Код | HTTP | Когда |
|---|---|---|
INVALID_REQUEST | 400 | Неизвестное поле или неверный тип. |
INVALID_PLAYER_ID | 400 | player_id — не строка до 128 символов без управляющих символов. |
INVALID_SYMBOL | 400 | symbol некорректен. |
INVALID_CURRENCY | 400 | currency — не поддерживаемая валюта. |
INVALID_ROUND_ID | 400 | round_id — не строка до 64 символов. |
INVALID_STATE | 400 | state — не одно из четырёх значений. |
INVALID_FROM | 400 | from — не дата ISO и не дата-время с поясом. |
INVALID_TO | 400 | to — не дата ISO и не дата-время с поясом. |
INVALID_PERIOD | 400 | from не раньше to. |
INVALID_LIMIT | 400 | limit — не целое число от 1 до 500. |
INVALID_CURSOR | 400 | cursor — не значение, выданное этим методом. |
report_ggr#
POST
/gameActions.domethodreport_ggrВаловый игровой доход по подтверждённым операциям кошелька: ggr = ставки − возвраты − выигрыши.
Запрос#
curl -s -X POST https://notell-api.com/gameActions.do \
-H 'Content-Type: application/json' \
-d '{
"method": "report_ggr",
"partner": "demo-casino",
"api_key": "YOUR_API_KEY",
"from": "2027-02-01",
"to": "2027-03-01",
"group_by": ["day", "symbol", "currency"]
}'{
"method": "report_ggr",
"partner": "demo-casino",
"api_key": "YOUR_API_KEY",
"from": "2027-02-01",
"to": "2027-03-01",
"group_by": ["day", "symbol", "currency"]
}| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
from, to | string | нет | Период по началу раунда (UTC). По умолчанию: to — ближайшая следующая полночь UTC, from — за 31 день до to. Не более 366 дней. |
group_by | array<enum> | нет | Любые из day, symbol, currency. По умолчанию: все три. Меньше ключей — более крупные итоги. |
symbol, currency | string | нет | Фильтры. |
Ответ#
{
"status": "ok",
"period": {"from": "2027-02-01T00:00:00.000Z", "to": "2027-03-01T00:00:00.000Z"},
"group_by": ["day", "symbol", "currency"],
"rows": [
{
"day": "2027-02-15",
"symbol": "gates-of-olympus",
"currency": "EUR",
"rounds": 120,
"cancelled_rounds": 1,
"free_spin_rounds": 4,
"bets": "180.00",
"wins": "171.30",
"refunds": "1.50",
"ggr": "7.20",
"pending_operations": 0
}
],
"note": "ggr = bets - refunds - wins, confirmed wallet operations only; amounts per row currency (do not add across currencies)."
}| Поле | Тип | Описание |
|---|---|---|
period | object | Фактические from и to. |
group_by | array<string> | Применённые ключи группировки. |
rows | array<object> | Одна строка на группу, не более 20 000 (лишние строки отбрасываются без сообщения; сузьте период или фильтры). |
rows[].day, .symbol, .currency | string | Только ключи, названные в group_by. |
rows[].rounds | integer | Раундов в группе. |
rows[].cancelled_rounds | integer | Из них отменённых. |
rows[].free_spin_rounds | integer | Из них раундов фриспинов. |
rows[].bets, .wins, .refunds, .ggr | money | Подтверждённые суммы в валюте строки. Суммы разных валют не складывайте. |
rows[].pending_operations | integer | Раундов группы, у которых ещё есть неподтверждённая операция; их деньги пока не в итогах. |
note | string | Фиксированное пояснение формулы. |
Ошибки#
| Код | HTTP | Когда |
|---|---|---|
INVALID_REQUEST | 400 | Неизвестное поле или неверный тип. |
INVALID_FROM | 400 | from — не дата ISO и не дата-время с поясом. |
INVALID_TO | 400 | to — не дата ISO и не дата-время с поясом. |
INVALID_PERIOD | 400 | from не раньше to либо период длиннее 366 дней. |
INVALID_GROUP_BY | 400 | group_by — не массив из day, symbol, currency. |
INVALID_SYMBOL | 400 | symbol некорректен. |
INVALID_CURRENCY | 400 | currency — не поддерживаемая валюта. |
report_reconciliation#
POST
/gameActions.domethodreport_reconciliationИтоги по игрокам и валютам для сверки с вашим учётом. Период применяется ко времени операции кошелька, а не раунда.
Запрос#
curl -s -X POST https://notell-api.com/gameActions.do \
-H 'Content-Type: application/json' \
-d '{
"method": "report_reconciliation",
"partner": "demo-casino",
"api_key": "YOUR_API_KEY",
"from": "2027-02-15",
"to": "2027-02-16",
"limit": 200
}'{
"method": "report_reconciliation",
"partner": "demo-casino",
"api_key": "YOUR_API_KEY",
"from": "2027-02-15",
"to": "2027-02-16",
"limit": 200
}| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
player_id | string | нет | Только этот игрок. |
currency | string | нет | Только эта валюта. |
from, to | string | нет | Период операций кошелька. from должен быть раньше to. |
limit | integer | нет | Размер страницы, 1–1000. По умолчанию: 200. |
cursor | string | нет | next_cursor предыдущей страницы. |
Ответ#
{
"status": "ok",
"players": [
{
"player_id": "player-1024",
"currency": "EUR",
"bets": "7.00",
"wins": "3.50",
"refunds": "5.00",
"net_wallet_change": "1.50",
"bet_count": 2,
"win_count": 1,
"refund_count": 1,
"pending": {"operations": 0, "refunds": "0.00", "wins": "0.00"}
}
],
"next_cursor": null,
"note": "net_wallet_change = wins + refunds - bets (confirmed operations): the change your wallet must show for the period; compare it with your own ledger per player and currency."
}| Поле | Тип | Описание |
|---|---|---|
players[].player_id, players[].currency | string | Одна строка на игрока и валюту. |
players[].bets, .wins, .refunds | money | Подтверждённые итоги. |
players[].net_wallet_change | money | выигрыши + возвраты − ставки: изменение вашего кошелька от операций платформы. Если оно расходится с вашим учётом по тому же игроку, валюте и периоду, смотрите pending и report_rounds. |
players[].bet_count, .win_count, .refund_count | integer | Число подтверждённых операций. |
players[].pending | object | Неподтверждённые операции: их число operations и суммы refunds и wins. |
next_cursor | string or null | Передайте как cursor для следующей страницы; null на последней. |
note | string | Фиксированное пояснение формулы. |
Ошибки#
| Код | HTTP | Когда |
|---|---|---|
INVALID_REQUEST | 400 | Неизвестное поле или неверный тип. |
INVALID_PLAYER_ID | 400 | player_id некорректен. |
INVALID_CURRENCY | 400 | currency — не поддерживаемая валюта. |
INVALID_FROM | 400 | from — не дата ISO и не дата-время с поясом. |
INVALID_TO | 400 | to — не дата ISO и не дата-время с поясом. |
INVALID_PERIOD | 400 | from не раньше to. |
INVALID_LIMIT | 400 | limit — не целое число от 1 до 1000. |
INVALID_CURSOR | 400 | cursor — не значение, выданное этим методом. |
См. также#
- Отмена раунда и возвраты, Колбэки кошелька.
- Соглашения: формат денег и ограничения частоты.