iBusAPI

Ограничения и ошибки

Ограничения#

КтоВ минуту (всплеск)В сутки, UTCВ месяц, UTCОдновременноТяжёлые: в минуту / в сутки
Проект, «пробный»30 (10)1 00020 0002—
Проект, «стандарт»120 (30)20 000400 0004—
Проект, индивидуально (пример)120 (30)20 000400 00046 / 300
Без ключа: только старые адреса, на адрес (переходный режим)60 (30)20 000400 000620 / 600

Формат ошибки#

Любой ответ не из 2xx имеет одно и то же тело JSON:

Ошибка
{"code": "RATE_LIMITED", "detail": "", "source_state": null}

code - для вашей программы, detail - короткая техническая подсказка (часто пустая), source_state = unavailable, если отказал источник данных.

Коды ошибок#

codeHTTPЧто значит и что делать
BAD_REQUEST400Параметр в неверном виде (проверка шлюза). Исправьте запрос, повтор не поможет.
UPSTREAM_422422Параметр запроса отсутствует или вне диапазона (например, limit=0). Исправьте запрос.
NOT_FOUND404Такого пути нет или код в неверном виде.
UPSTREAM_404404Объекта нет в источнике (например, Stop not found или сообщение, которое уже закончилось).
METHOD_NOT_ALLOWED405Принимаются только GET и HEAD.
RATE_LIMITED429Слишком много запросов в минуту - у проекта (с ключом) или у вашей сети (без ключа). Подождите Retry-After секунд.
UPSTREAM_UNAVAILABLE502 / 503Внутренний сервис или источник данных недоступен. Повторите позже с растущей паузой.
UPSTREAM_TIMEOUT504Источник данных ответил слишком медленно. Повторите позже.
GATEWAY_BUSY503Шлюз на пределе одновременных запросов. Повторите после короткой паузы.
UPSTREAM_BAD_ANSWER502Внутренний сервис ответил не JSON. Повторите позже; если повторяется - сообщите нам.

У отказов проверки доступа (ключ, IP-адрес, проект, лимиты) свои коды: ошибки доступа.

Повторы#

Тайм-ауты#

Шлюз ждёт прибытия до 12 секунд, дневное расписание - до 20 секунд, затем отвечает 504. Ставьте в клиенте тайм-аут чуть больше, например 15-25 секунд.

Руководство
↑ ↓ перейтиEnter открытьEsc закрыть