Ошибки
Формат ошибок, таблица статусов и рекомендации по повторным попыткам.
AISAR API возвращает ошибки в стандартном для Laravel формате JSON. Любая ошибка содержит как минимум поле message с человекочитаемым описанием.
Базовый формат
{
"message": "Not found"
}Ошибки валидации (422) дополнительно содержат поле errors — объект, где ключ это имя поля, а значение — массив сообщений об ошибках по этому полю:
Пример ошибки валидации
{
"message": "The channel_id field is required.",
"errors": {
"channel_id": ["The channel_id field is required."]
}
}Таблица статусов
| Код | Когда возникает |
|---|---|
200 OK | Запрос выполнен успешно (чтение или действие без создания ресурса, например POST /messages/send). |
201 Created | Ресурс создан, например POST /v1/api-tokens. |
401 Unauthorized | Bearer-токен отсутствует, невалиден или отозван. |
403 Forbidden | У токена нет нужного разрешения (например conversation.create), либо на тарифе компании выключена нужная фича — тогда в теле дополнительно приходят error: "feature_not_available", feature и required_plan. |
404 Not Found | Ресурс не найден или не принадлежит компании токена (например, channel_id из другой компании). |
422 Unprocessable Entity | Ошибка валидации тела запроса или логического ограничения (например, is_group: true для канала, где группы не поддерживаются). |
429 Too Many Requests | Превышен лимит частоты запросов для токена (см. раздел «Аутентификация»). |
5xx | Внутренняя ошибка сервера. Не связана с содержимым вашего запроса. |
Пример: ошибка прав доступа
Если у компании нет тарифа Business (фича api), запрос к API-эндпоинтам, требующим её, будет отклонён:
Ответ 403 — фича недоступна
{
"message": "Feature not available on your plan.",
"error": "feature_not_available",
"feature": "api",
"required_plan": "business"
}Рекомендации по повторным попыткам
401,403,404,422— не повторяйте запрос без изменений: сначала исправьте причину (токен, права, тело запроса, идентификатор ресурса).429— повторите послеretry_afterсекунд из тела ответа (или заголовкаRetry-After); при повторных429увеличивайте задержку экспоненциально.5xx— временная проблема на стороне сервера, безопасно повторить с экспоненциальной задержкой (например 1с, 2с, 4с, 8с…). Для операций, создающих сущность (например, отправку сообщения), убедитесь, что запрос идемпотентен на вашей стороне, чтобы повтор не создал дубликат.