Коды ошибок
При работе с API GuestMe вы можете столкнуться с ошибками. В этом разделе описаны стандартные HTTP-коды и специфические коды ошибок API.
HTTP-коды ответов
| Код | Статус | Описание |
|---|---|---|
200 | OK | Запрос выполнен успешно |
400 | Bad Request | Некорректные параметры запроса |
401 | Unauthorized | Отсутствует или недействителен токен авторизации |
403 | Forbidden | Недостаточно прав для выполнения операции |
404 | Not Found | Ресурс не найден |
409 | Conflict | Конфликт — например, дублирование бронирования |
500 | Internal Server Error | Внутренняя ошибка сервера |
Коды ошибок API
В теле ответа с ошибкой содержится код, позволяющий определить причину:
| Код ошибки | HTTP-статус | Описание |
|---|---|---|
booking_incorrect_date | 400 | Дата бронирования в прошлом или вне расписания ресторана |
restaurant_guest_acquisition_is_disabled | 400 | Ресторан не подключил канал привлечения гостей |
restaurant_code_confirmation_is_disabled | 400 | Шлюз подтверждения телефона отключён для ресторана |
mobile_confirmation_code_is_incorrect | 400 | Неверный код подтверждения телефона |
mobile_confirmation_code_is_not_expired | 400 | Код подтверждения ещё действителен, повторный запрос невозможен |
booking_incompatible_state | 409 | Попытка отменить бронирование в статусе, не допускающем отмену |
guest_have_not_closed_booking | 409 | У гостя уже есть активное бронирование в этом ресторане |
restaurant_not_found | 404 | Ресторан с указанным ID не найден |
booking_not_found | 404 | Бронирование с указанным ID не найдено |
invalid_phone_number | 400 | Некорректный формат номера телефона |
unauthorized | 401 | Токен отсутствует, истёк или недействителен |
Рекомендации по обработке
- При получении 401 — обновите access_token и повторите запрос
- При получении 400 — проверьте параметры запроса, обратите внимание на код ошибки в ответе
- При получении 409 — конфликт бизнес-логики, проверьте текущее состояние ресурса
- При получении 500 — повторите запрос через некоторое время
Формат ответа с ошибкой
Ответ с ошибкой содержит JSON с полем error (код ошибки) и message (описание на английском языке).