Coduri de eroare
Erorile apar în trei forme: erorile de autentificare ca HTTP 401, erorile de logică de business într-un HTTP 200 cu success: false, iar erorile de transmitere a rezervării în BookingPushRS.Error. Această pagină listează toate codurile.
Erori de autentificare#
| HTTP | Răspuns | Cauză |
|---|---|---|
| 401 | {"success": false, "error": "Authentication required"} | Token lipsă sau necunoscut ori format Bearer malformat. |
| 200 | message: partner_is_not_found | Login: perechea de chei nu corespunde. |
| 200 | message: hotel_is_not_found | Login: niciun hotel pentru hotelSeoUrl. |
| 200 | message: hotel_permission_is_not_found | Login: partenerul nu este autorizat pentru hotel. |
Coduri message#
Coduri text în format snake_case, returnate împreună cu success: false.
| message | Endpoint | Descriere |
|---|---|---|
hotel_id_is_not_found | Majoritatea | hotelID nu a fost trimis. |
start_date_is_not_found / end_date_is_not_found | Disponibilitate | Lipsește parametrul de dată. |
online_cupon_is_not_found | Cupon | Cod necunoscut, inactiv, expirat sau indisponibil. |
mail_host_is_not_found | Setări de e-mail | Niciun server SMTP configurat pentru canalul online. |
hotel_company_info_could_not_found | Datele POS-ului virtual | Niciun furnizor de plăți configurat pentru hotel. |
bank_info_is_not_found | Plată (tipul 3) | Niciun cont bancar activat pentru vânzarea online. |
required_input_info_not_submitted | Plată (tipul 10) | Lipsește un câmp obligatoriu; errors[] indică despre care este vorba. |
country_info_sent_incorrectly | Plată (tipul 10) | countryID nu se află în lista de țări. |
there_is_missing_info_in_the_shopping_cart | Plată (tipul 10) | Unui element din coș îi lipsește id, name, piece sau price; errors[] indică elementul. |
Coduri de eroare pentru lista de camere#
Lista de camere (POST /external/online/roomType) returnează un errorCode numeric și un errorMessage lizibil. Mesajul este tradus în funcție de parametrul language; în cod, bazați-vă pe errorCode.
| errorCode | Semnificație | Ce trebuie făcut |
|---|---|---|
10001 | Hotel negăsit | Verificați hotelID. |
10002 | Parametru lipsă (hotelID, startDate, endDate, adultCount) | Trimiteți câmpurile obligatorii. |
10003 | Hotel închis pentru vânzarea online | Hotelul trebuie să activeze canalul online în panou. |
10004 | Niciun tip de cameră deschis pentru canale | Hotelul trebuie să deschidă tipuri de camere pentru vânzarea online. |
10022 | Parametri nevalizi | Check-in astăzi sau mai târziu, check-out după check-in, cel mult 30 de nopți, între 1 și 40 de adulți, între 0 și 10 copii. |
20001 | Disponibilitate insuficientă pentru adulți | Propuneți alte date sau alt număr de persoane. |
20002 | Disponibilitate insuficientă pentru copii | Nu mai există camere cu capacitate pentru copii. |
20003 / 20004 | Disponibilitate insuficientă pentru adulți și copii | Capacitatea totală nu poate acoperi cererea. |
Când există disponibilitate, dar un anumit tip de cameră nu poate fi vândut, roomCount al acestuia este 0, iar motivul se află în roomRestrictionMessage: closed_to_checkin, closed_to_checkout, passive_sales, minimum_stay, maximum_stay, closed_to_arrival, price_not_found.
Erori la transmiterea rezervării#
În loc de Success: true, BookingPushRS conține un câmp Error:
{
"BookingPushRS": {
"Error": "Could not register.",
"BookingConfirmNumbers": [
{
"confirmTime": 1755500000,
"bookingID": 0,
"bookingType": "Book",
"HMS_ID": null
}
]
}
}| Error | Cod | Cauză |
|---|---|---|
| No available data could be found. | 01 | Corp gol sau JSON imposibil de parsat; lipsește Bookings[0].hotelID. |
| Hotel registration not found on HMS. | 02 | Hotelul nu este conectat la canalul online sau canalul este inactiv. |
| Could not register. | — | Eroare la salvare (ID nevalid de tip de cameră/masă, date inconsecvente). |
| Failed to parse information. | — | Structurii îi lipsesc câmpurile așteptate. |
Recomandări pentru reîncercări#
- 401: faceți încă o dată login și reîncercați cererea.
- 500 și erori de rețea: cel mult 3 încercări, la 1 s, 2 s și 4 s. Când reîncercați transmiterea unei rezervări, folosiți același
ID; unBookcu un cod existent actualizează înregistrarea în loc să creeze un duplicat. - success: false: nu reîncercați; corectați parametrul sau oferiți oaspetelui o alternativă.
- În solicitările de asistență, includeți cererea completă (cu secretele și datele de card mascate), răspunsul și ora.