Cereri și răspunsuri
Această pagină descrie formatele corpului cererii, învelișul răspunsului, paginarea, formatul datelor și al sumelor, precum și interpretarea codurilor de stare HTTP.
Corpul cererii#
Endpointurile folosesc unul dintre cele două formate de corp. Pagina de referință a fiecărui endpoint precizează care se aplică.
| Format | Content-Type | Folosit de |
|---|---|---|
| Câmpuri de formular | application/x-www-form-urlencoded sau multipart/form-data | Login, lista de camere, validarea cuponului, țări |
| JSON | application/json | Transmiterea rezervării (BookingPushRQ), inițierea plății |
| Șir de interogare (query string) | — | Toate endpointurile GET |
Câmpurile de tip tablou din corpurile de formular se repetă cu paranteze drepte: childAges[]=7&childAges[]=12. Corpurile JSON trebuie să fie în UTF-8.
Învelișul răspunsului#
Răspunsurile sunt JSON. Majoritatea conțin indicatorul success; listele vin cu count și items:
{
"success": true,
"count": 3,
"items": [
{
"id": 1,
"titleCode": "TRY",
"symbol": "₺",
"price": 1
},
{
"id": 2,
"titleCode": "EUR",
"symbol": "€",
"price": 47.85000000000000142108547152020037174224853515625
}
]
}Verificările de business eșuate returnează success: false și o descriere a erorii, în una dintre cele două forme:
{
"success": false,
"message": "online_cupon_is_not_found"
}{
"success": false,
"errorMessage": "Invalid parameters.",
"errorCode": 10022
}Excepții: endpointul pentru datele de contact returnează un obiect simplu, fără înveliș, iar transmiterea rezervării returnează un obiect BookingPushRS. Ambele sunt prezentate în referință.
Coduri de stare HTTP#
| Cod | Când | Ce trebuie făcut |
|---|---|---|
| 200 | Cerere procesată (succes sau eroare de business) | Verificați success, message / errorCode. |
| 401 | Token lipsă, malformat sau necunoscut | Faceți din nou login; consultați Autentificare. |
| 404 | Un parametru de cale nu corespunde niciunei înregistrări (de ex. /hotel/{hotelID}/…, /payment/type/{paymentType}) | Verificați ID-ul. |
| 405 | Metodă HTTP greșită | Folosiți metoda indicată în referință (țările și lista de camere folosesc POST). |
| 500 | Eroare neașteptată pe server | Reîncercați după o scurtă pauză; dacă problema persistă, deschideți o solicitare de asistență, cu cererea atașată. |
Paginare#
Endpointurile de tip listă (/external/currencies, /external/languages, /external/online/social/media, /external/stock/packages) sunt paginate după numărul paginii:
| Parametru | Descriere | Implicit |
|---|---|---|
limit | Înregistrări pe pagină. | 20 |
page | Numărul paginii, începând de la 1. | 1 |
offset | Numărul de înregistrări omise. Dacă este specificat, page se ignoră. | — |
order | Câmpul de sortare; adăugați prefixul - pentru ordine descrescătoare (-id). Câmpurile permise sunt listate la fiecare endpoint. | — |
count este numărul total de înregistrări; lista este epuizată când page × limit ≥ count.
Date, ore și sume#
| Tip | Format | Exemplu |
|---|---|---|
| Dată în cerere | YYYY-MM-DD | 2026-08-18 |
| Dată pentru disponibilitate | YYYY-MM-DD sau YYYY-MM-DDTHH:MM:SS | 2026-08-18T12:00:00 |
| Data tarifului pe noapte (răspuns) | DD.MM.YYYY (câmpul tarih) | 18.08.2026 |
| Intervalul unei zile de disponibilitate (răspuns) | YYYY-MM-DD HH:MM:SS, de la 12:00 până la 12:00 a doua zi | 2026-08-18 12:00:00 |
| Sumă | Șir cu două zecimale, separator punct | "965.00" |
| Monedă | ISO 4217; din setările canalului online al hotelului | TRY |
| Fus orar | Fusul orar al hotelului | Europe/Istanbul |
Data de check-out nu face parte din sejur: 18–20 august înseamnă două nopți. Nu adunați sumele cu float; folosiți o bibliotecă zecimală sau subunități monetare întregi.
Limbă#
Lista de camere primește un câmp language (ISO 639-1: tr, en, de…) și returnează în acea limbă denumirile camerelor, titlurile facilităților și mesajele de eroare. Lista de pachete așteaptă un languageID; ID-urile provin din endpointul Limbi.