Notell API Docs
English

Справочник

Справочник ошибок

Ошибки возвращаются как {"status":"error","message":"<CODE>"} с HTTP-статусом из таблицы. Ориентируйтесь на код, а не только на HTTP-статус. Для поиска по коду или тексту используйте фильтр.

КодHTTPГдеЗначениеЧто делать
UNAUTHORIZED401API (любой метод)Неизвестный partner или неверный api_key.Проверьте partner и api_key. Если ключ перевыпускали, установите новый.
IP_NOT_ALLOWED403API (любой метод)IP вызывающего сервера не входит в список разрешённых для проекта (/gameActions.do, /playerRtp.do).Попросите владельца платформы добавить вашу сеть (CIDR) в админке, раздел IP Whitelist.
INVALID_REQUEST400API (любой метод)Тело запроса некорректно: нет обязательного поля, неверный тип или передано неизвестное поле (запуск принимает только описанные поля).Сверьте запрос с описанием метода, уберите лишние поля.
INVALID_IDEMPOTENCY_KEY400API (любой метод)Заголовок Idempotency-Key не состоит из 1–128 печатных ASCII-символов (или передан дважды).Используйте UUID или короткий ключ без пробелов.
IDEMPOTENCY_CONFLICT409API (любой метод)Тот же Idempotency-Key уже использован с другим телом запроса.Для нового запроса берите новый ключ; повтор с тем же телом вернёт первый ответ.
REQUEST_FAILED400API (любой метод)Запрос не выполнен по причине, для которой нет публичного кода.Повторите один раз; если повторяется, обратитесь к владельцу платформы, указав время запроса.
FORBIDDEN403API (любой метод)Действие недоступно этому вызывающему.Не повторяйте; проверьте права (админка) или параметры запуска.
UNSUPPORTED_GAME404/playGame.dosymbol не является id опубликованной игры.Берите id из GET /games/health (game_id).
UNSUPPORTED_LANGUAGE400/playGame.dolang задан неверно или не поддерживается этой игрой.Используйте код из списка languages игры или не передавайте lang (будет язык проекта).
REAL_MODE_DISABLED400/playGame.dogametype не равен demo. Режим реальных денег недоступен.Передавайте "gametype": "demo".
PROMO_UNSUPPORTED400/playGame.doВ запуск передано устаревшее поле freespins.Уберите его и выдавайте фриспины через /gameActions.do (freespins_create).
ROUND_IN_PROGRESS400/playGame.doУ игрока есть незавершённый раунд в этой игре в другой валюте.Запустите игру в валюте незавершённого раунда (или дождитесь его завершения).
BALANCE_UNAVAILABLE400/playGame.doЗапрос session_info к вашему кошельку не выполнен, сессия не создана.Проверьте адрес callback и формат ответа (см. «Callbacks кошелька»); используйте «Test connection» в админке.
INVALID_METHOD400/gameActions.domethod не входит в список поддерживаемых.Используйте методы freespins_* или outcome_* из этой документации.
METHOD_RETIRED400/gameActions.doВызван устаревший метод (freespins_set, freespins_delete или freespins_get без id).Перейдите на freespins_create, freespins_get, freespins_list, freespins_cancel.
GAME_NOT_FOUND404/gameActions.dosymbol не является опубликованной игрой.Берите id из GET /games/health.
DUPLICATE_EXTERNAL_ID409/gameActions.doexternal_id уже занят другой записью проекта.Используйте уникальный external_id или прочитайте существующую запись по нему.
PROJECT_BET_LIMIT400/gameActions.doСтавка вне лимитов проекта, игры или игрока. Также возвращается игрой при ставке вне лимитов.Выберите ставку в пределах лимитов (см. «Лимиты ставок») или измените лимиты в админке.
INVALID_COUNT400Фриспиныcount не целое число от 1 до 1000.Передайте значение 1–1000.
INVALID_FREE_SPIN_BET400Фриспиныbet не является допустимой ставкой базового режима игры (или не десятичная строка).Используйте одну из ставок игры десятичной строкой, например "1.00".
INVALID_EXPIRY400Фриспиныexpires_at не дата ISO 8601 с часовым поясом или вне допустимого диапазона (фриспины: от +1 часа до +30 дней; целевые исходы: от +1 часа до +90 дней).Передайте значение вида 2026-11-01T12:00:00Z в диапазоне или опустите поле (по умолчанию 7 дней).
FREE_SPINS_UNSUPPORTED400ФриспиныДля провайдера этой игры фриспины недоступны.Проверьте флаг free_spins в GET /games/health.
GRANT_NOT_FOUND404ФриспиныВ проекте нет выдачи фриспинов с таким grant_id / external_id.Проверьте id; получите список через freespins_list.
FORCED_OUTCOMES_UNSUPPORTED400Целевые исходыДля провайдера этой игры целевые исходы недоступны.Проверьте флаг target_outcomes в GET /games/health.
GAME_HAS_NO_BONUS400Целевые исходыkind равен bonus, но в игре нет бонусного раунда.Используйте kind: "spin".
INVALID_MULTIPLIER400Целевые исходыmultiplier не положительное число максимум с 2 знаками после точки (до 7 цифр до точки).Передайте, например, 50 или "12.5".
MULTIPLIER_ABOVE_MAX_WIN400Целевые исходыmultiplier выше максимального выигрыша игры (в ставках).Уменьшите множитель.
INVALID_SPIN_NUMBER400Целевые исходыspin_number не целое число от 1 до 100000.Передайте значение 1–100000.
INVALID_KIND400Целевые исходыkind не равен spin или bonus.Используйте spin или bonus.
OUTCOME_NOT_FOUND404Целевые исходыВ проекте нет целевого исхода с таким outcome_id / external_id.Проверьте id; получите список через outcome_list.
INVALID_ACTION400/playerRtp.doaction не равен get, set, auto или bet-limit.Используйте одно из четырёх действий.
RTP_PROVIDER_UNSUPPORTED400/playerRtp.doprovider не равен endorphina, pragmatic или nolimitcity.Передайте поддерживаемый id провайдера.
RTP_LEVEL_INVALID400/playerRtp.dortp не число максимум с 2 знаками после точки.Передайте, например, 94.5.
RTP_LEVEL_OUT_OF_RANGE400/playerRtp.doRTP вне диапазона 60–100 %.Передайте значение от 60 до 100.
RTP_POLICY_REQUIRED400/playerRtp.doВ проекте ещё не задан RTP провайдера, поэтому нового игрока нельзя привязать.Задайте RTP провайдера в админке: RTP & players.
INVALID_REASON400/playerRtp.doreason длиннее 200 символов или не строка.Сократите причину.
INVALID_CURRENCY400/playerRtp.docurrency не трёхбуквенный код в верхнем регистре.Передайте, например, EUR.
INVALID_BET_LIMIT400/playerRtp.domin_minor / max_minor не строки из цифр, min меньше 1 или max меньше min.Передайте минорные единицы строками, min ≥ 1, max ≥ min; либо оба null, чтобы снять лимит.
INVALID_PLAYER400/playerRtp.doplayer_id отсутствует или некорректен.Передайте id игрока, с которым делали запуск.
INSUFFICIENT_FUNDS200Ваш кошелёкВаш ответ на bet, когда баланса игрока не хватает: {"status":"error","message":"INSUFFICIENT_FUNDS",…}. Раунд отклоняется, ничего не списывается.Возвращайте его только при реальной нехватке средств; любая другая ошибка приводит к повторам со стороны платформы.
CALLBACK_HTTP_ERROR—Ваш кошелёкВстречается в API Logs админки: ваш кошелёк ответил HTTP-статусом не 2xx.Возвращайте HTTP 200 с JSON-ответом (в том числе для INSUFFICIENT_FUNDS).
INVALID_CALLBACK_RESPONSE—Ваш кошелёкВстречается в API Logs админки: ответ не JSON, status не ok/error или currency не совпадает с валютой запроса.Отвечайте {"status":"ok","balance":<число>,"currency":"<та же валюта>"}.
GAME_MODE_DISABLED400В игреРежим игры (например, покупка бонуса или ante) отключён для проекта.Включите флаг в админке: Projects, Providers.
PROJECT_GAME_DISABLED400В игреИгра или её провайдер отключены для проекта.Включите провайдера в админке: Projects, Providers.
CURRENCY_REQUIRED400В игреНужна валюта из списка поддерживаемых.Передайте UAH, USD, EUR или RUB.
FREE_SPINS_ACTIVE—В игреУ игрока есть активные фриспины в этой игре, а он попытался сделать платный спин, ante или покупку бонуса. Показывается игровым клиентом, оператору по API не возвращается.Игрок сначала доигрывает фриспины; они заканчиваются, когда использованы, истекли или отменены.
UNKNOWN_PROJECT404API админкиПроект (partner) не существует.Проверьте id проекта.
INVALID_ADMIN_ORIGIN403API админкиЗапрос на изменение к API админки пришёл без ожидаемых заголовков Origin / X-Admin-Request.Работайте через саму админку; API админки не является публичным API интеграции.
PROJECT_SETTINGS_CONFLICT409API админкиНастройки проекта уже сохранил кто-то другой.Обновите страницу и повторите изменение.
UNSUPPORTED_BY_RUNTIME400API админкиНастройка, которую платформа не может выполнить (устаревшая политика RTP, уведомления, стратегия удержания).Оставьте её выключенной; вместо устаревшей политики используйте персональный RTP.
INVALID_CALLBACK_URL400API админкиАдрес callback недопустим.Используйте https://, без завершающего слэша, без логина/пароля, query и фрагмента, только порт 443, не длиннее 512 символов, публичное имя хоста.
CONFIRMATION_REQUIRED400API админкиДля перевыпуска ключа нужно ввести id проекта как подтверждение.Введите id проекта в поле подтверждения.
CREDENTIALS_CHANGED409API админкиПока вы работали, ключ API изменил кто-то другой.Обновите страницу и примите решение заново.
PARTNER_LOCKED403API админкиПроект служебный (демо или кошелёк сайта); ключ и callback доступны только для чтения.Ничего не делайте; работайте в своём проекте.
CREDENTIALS_NOT_ENABLED503API админкиИзменение ключей и адресов callback пока не включено на сервере.Обратитесь к владельцу платформы.

Общие советы#

  • 4xx: исправьте запрос; повтор без изменений снова завершится ошибкой (кроме IDEMPOTENCY_CONFLICT, где повтор исходного запроса вернёт первый ответ).
  • Сетевая ошибка или тайм-аут: повторите с тем же Idempotency-Key (Соглашения).
  • REQUEST_FAILED: повторите один раз, затем обратитесь к владельцу платформы.
  • Сбои на стороне кошелька видны в API Logs админ-панели с теми же кодами (Админ: операции).
Документация для операторов и интеграторов.Платформа TEST_ONLY: невыводимые единицы, реальные платежи не используются.