Notell API Docs
English

Возможности

Управление RTP

RTP (return to player) — доля ставок, которую игры возвращают на дистанции. Платформа позволяет управлять им в диапазоне 60–100 % — для всего проекта и, по желанию, для каждого игрока.

Как раунд получает RTP#

Уровень определяется до списания, в той же транзакции, что и платный раунд, и затем остаётся неизменным для этого раунда. Поэтому изменение действует со следующего раунда; начатые раунды заканчиваются на своём уровне.

  1. RTP провайдера в проекте не задан → игра использует естественную математику, управления RTP нет.
  2. RTP провайдера задан, персональный RTP выключен → раунды всех игроков идут на RTP провайдера проекта.
  3. Персональный RTP включён → у каждого игрока свой уровень (ниже).

Игры, участвующие в управлении RTP, помечены RTP-controlled в админ-панели (экран Games). Раунды фриспинов проходят ту же логику; раунды целевых исходов помечаются как заданные и в адаптивное окно не входят.

Настройки проекта#

В админ-панели: RTP & players → RTP settings (меняет владелец, персонал проекта только смотрит).

НастройкаЗначение
Provider RTP (переключатель Manage RTP of new games и ползунок)RTP проекта, 60–100 %. Это потолок для всех и стартовый уровень каждого нового игрока. Уже зарегистрированные игроки сохраняют свой старт
Enable personal RTPВключает личные уровни игроков. Выключено — все играют на RTP провайдера
Adaptive ruleНеобязательная автоматическая коррекция уровня игрока (ниже)
Bet limits per gameМинимальная / максимальная цена раунда по игре и валюте (Лимиты ставок)

Изменения сохраняются автоматически и действуют со следующего раунда.

Персональный RTP игрока#

  • Новый игрок привязывается в первом раунде к RTP провайдера, актуальному в этот момент (стартовый уровень = текущий).
  • Уровень можно изменить вручную (админ-панель или API оператора, 60–100 %, до двух знаков после запятой, с причиной, которая видна в журнале игрока). Ручной уровень замораживает адаптивное правило для этого игрока, пока вы не вернёте режим auto.
  • В режиме auto игрок играет на текущем уровне, ограниченном RTP провайдера на данный момент (если RTP провайдера опустили ниже уровня игрока, игрок играет на RTP провайдера).
  • Ручной уровень RTP провайдера не ограничивает.
  • Журнал каждого игрока фиксирует, кто, когда и почему менял уровень (привязка, шаги правила, ручные изменения).

Адаптивное правило#

Правило следит за фактическим возвратом последних рассчитанных раундов игрока. Если игроку слишком везёт, оно слегка снижает его уровень; когда везение заканчивается — возвращает, но никогда выше стартового уровня.

ПараметрЗначениеПо умолчанию
Window, roundsСколько последних рассчитанных раундов анализируется (50–100 000)1000
Lower if player RTP is above, %RTP окна выше этого значения снижает уровень150 %
Restore if below, %RTP окна ниже этого значения возвращает уровень90 %
Step, p.p.Изменение за шаг (0.1–20 процентных пунктов)2 п. п.
Not below start minus, p.p.Уровень не опускается ниже старта игрока больше чем на это значение (0–40)6 п. п.
Минимальный оборотПо валюте: правило игнорирует окна с меньшей суммой ставокнет

За окно делается не более одного шага. Уровень не падает ниже 60 %. Игроков с ручным уровнем правило не трогает. Раунды фриспинов учитываются с номинальной ставкой.

Как смотреть фактический возврат#

Админ-панель показывает целевой RTP проекта, фактический RTP по рассчитанным ставкам и фактический возврат по игрокам (за всё время и в окне правила). На коротких выборках наблюдаемое значение может отличаться от целевого — это нормально.

API оператора: POST /playerRtp.do#

Нужны partner, api_key и разрешённый IP. Поля запроса:

ПолеГде используетсяОписание
actionвездеget, set, auto или bet-limit
player_idвездеИгрок
providerвездеendorphina (по умолчанию), pragmatic или nolimitcity. Передавайте явно
rtpsetПроценты, 60–100, не более 2 знаков после запятой, например 94.5
reasonset, autoДо 200 символов, показывается в журнале
currency, min_minor, max_minorbet-limitЛимит игрока в минорных единицах (строки); null в обоих полях снимает лимит
bash
# ручной уровень 94.5 % для игр Pragmatic Play
curl -s -X POST https://notell-api.com/playerRtp.do -H 'Content-Type: application/json' -d '{
  "partner": "YOUR_PARTNER_ID", "api_key": "YOUR_API_KEY",
  "action": "set", "player_id": "player-123", "provider": "pragmatic", "rtp": 94.5, "reason": "VIP agreement"
}'
ДействиеЭффект
getВозвращает состояние игрока
setУстанавливает ручной уровень (режим manual)
autoВозвращает игрока в автоматический режим (адаптивное правило возобновляется)
bet-limitУстанавливает или снимает лимит ставки игрока по валюте (Лимиты ставок)

Любое действие отвечает {"status":"ok","player":{…}}. Основные поля player:

ПолеЗначение
boundУ игрока уже есть уровень для этого провайдера
startBps, currentBpsСтартовый и текущий уровень в базисных пунктах (9450 = 94.50 %)
modeauto или manual
roundsSinceAdjustРаундов с последнего шага правила
providerBpsRTP провайдера проекта в базисных пунктах (или null)
effective{bps, source} — используемый сейчас уровень; source — player, provider-cap или manual
betLimitsЛимиты игрока по валютам
journalПоследние изменения, сначала новые (до 100)

Ошибки: INVALID_ACTION, INVALID_PLAYER, RTP_PROVIDER_UNSUPPORTED, RTP_LEVEL_INVALID, RTP_LEVEL_OUT_OF_RANGE, RTP_POLICY_REQUIRED (в проекте ещё нет RTP провайдера), INVALID_REASON, INVALID_CURRENCY, INVALID_BET_LIMIT, а также UNAUTHORIZED и IP_NOT_ALLOWED. См. справочник ошибок.

Админ-панель#

Всё перечисленное доступно на экране RTP & players — см. Админ: RTP и игроки.

Документация для операторов и интеграторов.Платформа TEST_ONLY: невыводимые единицы, реальные платежи не используются.