Интеграция
Запуск игры
POST https://notell-api.com/playGame.do создаёт сессию игрока и возвращает ссылку на клиент игры.
Запрос#
{
"provider": "own",
"partner": "YOUR_PARTNER_ID",
"api_key": "YOUR_API_KEY",
"player_id": "player-123",
"symbol": "gates-of-olympus",
"currency": "UAH",
"gametype": "demo",
"lang": "de",
"client_platform": "mobile"
}| Поле | Обязательно | Описание |
|---|---|---|
provider | да | Всегда "own". |
partner | да | id вашего проекта. |
api_key | да | API-ключ вашего проекта. |
player_id | да | id вашего игрока, 1–128 символов. |
symbol | да | id игры из /games/health (game_id) или из списка игр. Неизвестный id даёт UNSUPPORTED_GAME (404). |
currency | да | UAH, USD, EUR или RUB. |
gametype | да | Всегда "demo" (см. ниже). |
lang | нет | Стандартный код языка, например en, de, pt-BR, zh-Hant. Если не указан — язык проекта по умолчанию. См. Языки. |
client_platform | нет | desktop (по умолчанию) или mobile. Выбирает десктопную или мобильную сборку клиента игр Pragmatic Play; на других провайдеров не влияет. |
region | нет | RU или NONE. Принимается для совместимости; на сессию не влияет. |
Любое другое поле приводит к ошибке INVALID_REQUEST; старое поле freespins отклоняется с PROMO_UNSUPPORTED — используйте фриспины через /gameActions.do. Параметра lobby или адреса возврата нет: навигацию обратно на ваш сайт организуйте в собственной странице вокруг игры.
Необязательный заголовок: Idempotency-Key (см. Соглашения).
Demo и real#
Платформа работает в режиме TEST_ONLY. gametype должен быть demo; любое другое значение даёт HTTP 400 REAL_MODE_DISABLED. Используется баланс, который ваш кошелёк возвращает в session_info.
Ответ#
{
"status": "ok",
"link": "https://notell-api.com/… (адрес клиента игры с токеном сессии)",
"meta": {
"session_id": "9d0c3f7e-…",
"currency": "UAH",
"language": "de"
}
}| Поле | Описание |
|---|---|
link | URL, который нужно открыть в браузере игрока. Содержит токен сессии: отдавайте только этому игроку и не логируйте. |
meta.session_id | id сессии; он же есть в callbacks вашего кошелька. |
meta.currency, meta.language | Валюта и стандартный код языка сессии. |
В meta могут быть дополнительные информационные поля о сборке игры; неизвестные игнорируйте.
Что происходит при запуске#
- Проверяется ключ (иначе
UNAUTHORIZED) и валидируется тело. - Платформа вызывает ваш кошелёк с
session_infoпо игроку. Если вызов не успешен, запуск завершаетсяBALANCE_UNAVAILABLE, сессия не создаётся. - Сессия сохраняется (истекает через 2 часа после создания), возвращается ссылка.
Повторный запуск и незавершённые раунды#
- Игрок с незавершённым раундом в той же игре всегда продолжает его: запуск возвращает ссылку на сессию, которой принадлежит раунд (истёкшая сессия возобновляется с новым токеном и сроком).
- Если вы запускаете игру повторно на другом языке при незавершённом раунде, сессия переключается на новый язык.
- Если незавершённый раунд в другой валюте, запуск вернёт
ROUND_IN_PROGRESS; запускайте в исходной валюте. - Повтор вызова с тем же
Idempotency-Keyи телом возвращает ту же ссылку.
Ошибки#
| Код | HTTP | Причина |
|---|---|---|
UNAUTHORIZED | 401 | Неизвестный partner или неверный api_key |
INVALID_REQUEST | 400 | Нет/неверное поле, неизвестное поле, player_id пустой или длиннее 128 |
UNSUPPORTED_GAME | 404 | symbol не опубликован |
UNSUPPORTED_LANGUAGE | 400 | lang некорректен или игра его не поддерживает |
REAL_MODE_DISABLED | 400 | gametype не равен demo |
PROMO_UNSUPPORTED | 400 | Передано устаревшее поле freespins |
BALANCE_UNAVAILABLE | 400 | Ваш кошелёк не ответил успешно на session_info |
ROUND_IN_PROGRESS | 400 | Незавершённый раунд в другой валюте |
INVALID_IDEMPOTENCY_KEY / IDEMPOTENCY_CONFLICT | 400 / 409 | См. Соглашения |
Все коды: справочник ошибок.