Verzoeken en antwoorden

Deze pagina behandelt de formaten van de body van een verzoek, de envelop van het antwoord, paginering, de notatie van datums en bedragen, en hoe je HTTP-statuscodes interpreteert.

Body van het verzoek#

Endpoints gebruiken een van twee body-formaten. Op de referentiepagina van elk endpoint staat welk formaat geldt.

FormaatContent-TypeGebruikt door
Formulierveldenapplication/x-www-form-urlencoded of multipart/form-dataLogin, kamerlijst, validatie van kortingscodes, landen
JSONapplication/jsonBoeking doorsturen (BookingPushRQ), betaling starten
QuerystringAlle GET-endpoints

Arrayvelden in een formulierbody worden herhaald met vierkante haken: childAges[]=7&childAges[]=12. Een JSON-body moet UTF-8 zijn.

Envelop van het antwoord#

Antwoorden zijn JSON. De meeste bevatten een success-veld; lijsten komen terug met count en items:

Lijstantwoord (ingekort)
{
    "success": true,
    "count": 3,
    "items": [
        {
            "id": 1,
            "titleCode": "TRY",
            "symbol": "₺",
            "price": 1
        },
        {
            "id": 2,
            "titleCode": "EUR",
            "symbol": "€",
            "price": 47.85000000000000142108547152020037174224853515625
        }
    ]
}

Mislukte controles van de bedrijfslogica geven success: false terug met een foutbeschrijving, in een van twee vormen:

Vorm met message
{
    "success": false,
    "message": "online_cupon_is_not_found"
}
Vorm met errorCode (kamerlijst)
{
    "success": false,
    "errorMessage": "Invalid parameters.",
    "errorCode": 10022
}

Uitzonderingen: het endpoint voor contactgegevens geeft een los object zonder envelop terug, en het doorsturen van een boeking geeft een BookingPushRS-object terug. Beide staan in de referentie.

HTTP-statuscodes#

CodeWanneerWat te doen
200Verzoek verwerkt (succes of fout in de bedrijfslogica)Controleer success en message / errorCode.
401Token ontbreekt, is ongeldig opgebouwd of onbekendLog opnieuw in; zie Authenticatie.
404Een padparameter komt niet overeen met een record (bijv. /hotel/{hotelID}/…, /payment/type/{paymentType})Controleer de ID.
405Verkeerde HTTP-methodeGebruik de methode uit de referentie (landen en kamerlijst zijn POST).
500Onverwachte serverfoutProbeer het na een korte pauze opnieuw; blijft de fout, open dan een supportticket met het verzoek.

Paginering#

Lijstendpoints (/external/currencies, /external/languages, /external/online/social/media, /external/stock/packages) zijn gepagineerd op paginanummer:

ParameterBeschrijvingStandaard
limitAantal records per pagina.20
pagePaginanummer, vanaf 1.1
offsetAantal records dat wordt overgeslagen. Als dit is opgegeven, wordt page genegeerd.
orderSorteerveld; zet er - voor om aflopend te sorteren (-id). De toegestane velden staan per endpoint vermeld.

count is het totale aantal records; de lijst is volledig doorlopen wanneer page × limit ≥ count.

Datums, tijden en bedragen#

TypeFormaatVoorbeeld
Datum in verzoekYYYY-MM-DD2026-08-18
Datum voor beschikbaarheidYYYY-MM-DD of YYYY-MM-DDTHH:MM:SS2026-08-18T12:00:00
Datum van prijs per nacht (antwoord)DD.MM.YYYY (het veld tarih)18.08.2026
Dagbereik bij beschikbaarheid (antwoord)YYYY-MM-DD HH:MM:SS, van 12:00 tot 12:00 de volgende dag2026-08-18 12:00:00
BedragString met twee decimalen, punt als scheidingsteken"965.00"
ValutaISO 4217; uit de instellingen van het online kanaal van het hotelTRY
TijdzoneDe tijdzone van het hotelEurope/Istanbul

De uitcheckdatum hoort niet bij het verblijf: 18–20 augustus is twee nachten. Tel bedragen niet op met float; gebruik een decimal-bibliotheek of gehele bedragen in de kleinste munteenheid.

Taal#

De kamerlijst accepteert een veld language (ISO 639-1: tr, en, de…) en geeft kamernamen, namen van voorzieningen en foutmeldingen in die taal terug. De pakketlijst verwacht een languageID; de ID’s komen van het endpoint Talen.

Laatst bijgewerkt: 21 september 2026Fout gevonden? Laat het ons weten