Интеграция
Лимиты запросов
Endpoints оператора ограничены на партнёра в минуту, чтобы одна интеграция не мешала остальным. Квоты применяются к аутентифицированным вызовам (partner и api_key известного проекта) в трёх независимых классах:
| Класс | Endpoint | Квота по умолчанию |
|---|---|---|
| launch | POST /playGame.do | 1200 в минуту |
| actions | POST /gameActions.do (фриспины, целевые исходы, round_cancel) | 600 в минуту |
| reports | POST /gameActions.do с report_* | 120 в минуту |
Квота — «ведро токенов»: полную минуту вызовов можно отправить пачкой, токены возвращаются непрерывно. Текущие значения окружения — в rateLimits метода GET /capabilities; более высокие значения можно согласовать с менеджером аккаунта.
При превышении ответ HTTP 429, ничего не выполняется:
HTTP/1.1 429 Too Many Requests
Retry-After: 7
X-RateLimit-Limit: 600/min
content-type: application/json
{"status":"error","message":"RATE_LIMITED"}Успешные ответы несут X-RateLimit-Limit и X-RateLimit-Remaining для класса.
Рекомендации#
- При 429 подождите
Retry-Afterсекунд и повторите с тем жеIdempotency-Key. - Не опрашивайте отчёты: листайте
report_roundsчерезcursor,report_ggrиreport_reconciliationвызывайте раз в период. - Публичные методы чтения (
/games/catalog,/games/health,/capabilities) можно кэшировать на несколько минут — не вызывайте их на каждого игрока. - Callbacks платформы к вам в эти квоты не входят; пусть ваш кошелёк отвечает в пределах 2 секунд (Callbacks кошелька).