Кодове за грешки
Грешките идват в три форми: грешки при удостоверяване като HTTP 401, грешки от бизнес правила в HTTP 200 със success: false и грешки при изпращане на резервация в BookingPushRS.Error. Тази страница изброява всички кодове.
Грешки при удостоверяване#
| HTTP | Отговор | Причина |
|---|---|---|
| 401 | {"success": false, "error": "Authentication required"} | Токенът липсва, е непознат или форматът Bearer е неправилен. |
| 200 | message: partner_is_not_found | Вход: двойката ключове не съвпада. |
| 200 | message: hotel_is_not_found | Вход: няма хотел за hotelSeoUrl. |
| 200 | message: hotel_permission_is_not_found | Вход: партньорът не е оторизиран за хотела. |
Кодове в message#
Текстови кодове в snake_case, които се връщат заедно със success: false.
| message | Крайна точка | Описание |
|---|---|---|
hotel_id_is_not_found | Повечето | hotelID не е изпратен. |
start_date_is_not_found / end_date_is_not_found | Наличност | Липсва параметър за дата. |
online_cupon_is_not_found | Купон | Кодът е непознат, неактивен, изтекъл или не е валиден. |
mail_host_is_not_found | Настройки на имейл | За онлайн канала няма конфигуриран SMTP. |
hotel_company_info_could_not_found | Данни за виртуален POS | За хотела няма конфигуриран доставчик на плащания. |
bank_info_is_not_found | Плащане (тип 3) | Няма банкова сметка, активирана за онлайн продажби. |
required_input_info_not_submitted | Плащане (тип 10) | Липсва задължително поле; errors[] посочва кои. |
country_info_sent_incorrectly | Плащане (тип 10) | countryID не е в списъка с държави. |
there_is_missing_info_in_the_shopping_cart | Плащане (тип 10) | В елемент от кошницата липсва id, name, piece или price; errors[] посочва кой. |
Кодове за грешки в списъка със стаи#
Списъкът със стаи (POST /external/online/roomType) връща числов errorCode и четимо за хора errorMessage. Съобщението се превежда според параметъра language; пишете кода си спрямо errorCode.
| errorCode | Значение | Какво да направите |
|---|---|---|
10001 | Хотелът не е намерен | Проверете hotelID. |
10002 | Липсващ параметър (hotelID, startDate, endDate, adultCount) | Изпратете задължителните полета. |
10003 | Хотелът е затворен за онлайн продажби | Хотелът трябва да активира онлайн канала в панела. |
10004 | Няма тип стая, отворен за каналите | Хотелът трябва да отвори типове стаи за онлайн продажба. |
10022 | Невалидни параметри | Настаняване днес или по-късно, напускане след настаняването, най-много 30 нощувки, 1–40 възрастни, 0–10 деца. |
20001 | Няма достатъчна наличност за възрастни | Предложете други дати или брой гости. |
20002 | Няма достатъчна наличност за деца | Не са останали стаи с капацитет за деца. |
20003 / 20004 | Няма достатъчна наличност за възрастни и деца | Общият капацитет не покрива заявката. |
Когато има наличност, но конкретен тип стая не може да се продаде, неговият roomCount е 0, а причината е в roomRestrictionMessage: closed_to_checkin, closed_to_checkout, passive_sales, minimum_stay, maximum_stay, closed_to_arrival, price_not_found.
Грешки при изпращане на резервация#
Вместо Success: true обектът BookingPushRS съдържа поле Error:
{
"BookingPushRS": {
"Error": "Could not register.",
"BookingConfirmNumbers": [
{
"confirmTime": 1755500000,
"bookingID": 0,
"bookingType": "Book",
"HMS_ID": null
}
]
}
}| Error | Код | Причина |
|---|---|---|
| No available data could be found. | 01 | Празно тяло или JSON, който не може да се анализира; липсва Bookings[0].hotelID. |
| Hotel registration not found on HMS. | 02 | Хотелът не е свързан с онлайн канала или каналът е неактивен. |
| Could not register. | — | Грешка при записа (невалидно ID на тип стая/изхранване, несъгласувани дати). |
| Failed to parse information. | — | В структурата липсват очаквани полета. |
Насоки за повторни опити#
- 401: влезте още веднъж и повторете заявката.
- 500 и мрежови грешки: до 3 опита – след 1 с, 2 с и 4 с. Когато повтаряте изпращане на резервация, използвайте същия
ID;Bookсъс съществуващ код обновява записа, вместо да създаде дубликат. - success: false: не повтаряйте; коригирайте параметъра или предложете на госта алтернатива.
- В сигналите до поддръжката включвайте пълната заявка (с маскирани тайни ключове и данни на карти), отговора и часа.