Коды ошибок API
Обзор
Все ошибки GuestMe API возвращаются в JSON-формате с кодом ошибки, сообщением и дополнительными параметрами.
Формат ошибки
Структура
[
{
"message": "Описание ошибки на русском языке",
"code": "error_code_name",
"params": {
"key": "value"
}
}
]
Пример
[
{
"message": "Booking date is incorrect: cannot be created in the past",
"code": "booking_incorrect_date",
"params": {
"date": "2025-08-01T10:00:00"
}
}
]
Ошибки бронирования
booking_incorrect_date
Описание: Указанная дата резерва некорректна (в прошлом или не попадает в расписание).
HTTP статус: 400 Bad Request
Причины:
- Дата в прошлом
- Дата не попадает в расписание работы ресторана
- Дата не попадает в расписание приёма резервов
Решение:
- Проверьте расписание работы ресторана
- Выберите корректную дату и время
- Убедитесь, что время указано с правильным часовым поясом
Пример:
{
"message": "Booking date is incorrect: cannot be created in the past",
"code": "booking_incorrect_date",
"params": {
"date": "2025-08-01T10:00:00"
}
}
booking_incompatible_state
Описание: Попытка отменить резерв в неподходящем статусе.
HTTP статус: 409 Bad Request
Детали: Отмена возможна только в статусах CREATED или SENT
Решение:
- Проверьте текущий статус резерва
- Отменять можно только резервы в статусе
CREATEDилиSENT
guest_have_not_closed_booking
Описание: На один номер телефона может быть только одна активная бронь в ресторане.
HTTP статус: 409 Bad Request
Решение:
- Проверьте существующие резервы для этого номера телефона
- Отмените или завершите предыдущий резерв
- Создайте новый резерв после закрытия старого
Ошибки ресторана
restaurant_guest_acquisition_is_disabled
Описание: Канал привлечения гостей в ресторане отключен.
HTTP статус: 409 Bad Request
Причина: У ресторана отключена возможность онлайн-бронирования (guestAcquisitionChannelEnabled = false)
Решение:
- Проверьте поле
properties.guestAcquisitionChannelEnabledв объекте ресторана - Выберите другой ресторан с включённым онлайн-бронированием
- Обратитесь к менеджеру ресторана для включения функции
Ошибки подтверждения телефона
restaurant_code_confirmation_is_disabled
Описание: Шлюз подтверждения номера телефона по коду отключен в ресторане.
HTTP статус: 409 Bad Request
Решение:
- Используйте собственную систему подтверждения телефонов
- Обратитесь к менеджеру ресторана для включения шлюза
mobile_confirmation_code_is_incorrect
Описание: Неверный код подтверждения телефона.
HTTP статус: 409 Bad Request
Решение:
- Попросите пользователя ввести код заново
- Проверьте, что пользователь вводит последний полученный код
- При необходимости отправьте код повторно
mobile_confirmation_code_is_not_expired
Описание: Код подтверждения телефона ещё не истёк, нельзя отправить новый.
HTTP статус: 409 Bad Request
Решение:
- Подождите истечения срока действия текущего кода (обычно 5 минут)
- Используйте текущий код для подтверждения
Ошибки аутентификации
401 Unauthorized
Описание: Неверные учётные данные или истёк срок действия токена.
Причины:
- Неверный
client_idилиclient_secret - Токен доступа истёк
- Токен доступа недействителен
Решение:
- Проверьте правильность
client_idиclient_secret - Получите новый токен доступа
- Убедитесь, что используете актуальный токен
Ошибки сервера
500 Internal Server Error
Описание: Внутренняя ошибка сервера.
Решение:
- Повторите запрос через несколько секунд
- Если ошибка повторяется, обратитесь в техподдержку
503 Service Unavailable
Описание: Сервис временно недоступен.
Причины:
- Плановое техническое обслуживание
- Перегрузка сервера
Решение:
- Повторите запрос через несколько минут
- Реализуйте exponential backoff для повторных запросов
- Подпишитесь на уведомления о техническом обслуживании
Таблица ошибок
| Код | HTTP | Описание | Действие |
|---|---|---|---|
booking_incorrect_date | 400 | Некорректная дата резерва | Выбрать корректную дату |
booking_incompatible_state | 409 | Неподходящий статус для отмены | Проверить статус |
guest_have_not_closed_booking | 409 | Уже есть активный резерв | Закрыть старый резерв |
restaurant_guest_acquisition_is_disabled | 409 | Онлайн-бронирование отключено | Выбрать другой ресторан |
restaurant_code_confirmation_is_disabled | 409 | Подтверждение по SMS отключено | Использовать свою систему |
mobile_confirmation_code_is_incorrect | 409 | Неверный код подтверждения | Ввести код заново |
mobile_confirmation_code_is_not_expired | 409 | Код ещё действителен | Использовать текущий код |
unauthorized | 401 | Ошибка аутентификации | Обновить токен |
forbidden | 403 | Недостаточно прав | Проверить scope |
internal_server_error | 500 | Ошибка сервера | Повторить запрос |
service_unavailable | 503 | Сервис недоступен | Повторить позже |
Нужна помощь? Написать в поддержку