Anfragen und Antworten

Diese Seite beschreibt die Formate des Request-Bodys, den Antwort-Envelope, die Paginierung, Datums- und Betragsformate sowie die Auswertung der HTTP-Statuscodes.

Request-Bodys#

Die Endpunkte verwenden eines von zwei Body-Formaten. Welches gilt, steht auf der Referenzseite des jeweiligen Endpunkts.

FormatContent-TypeVerwendet von
Formularfelderapplication/x-www-form-urlencoded oder multipart/form-dataAnmeldung, Zimmerliste, Gutscheinprüfung, Länder
JSONapplication/jsonBuchungsübermittlung (BookingPushRQ), Start der Zahlung
Query-StringAlle GET-Endpunkte

Array-Felder werden in Formular-Bodys mit eckigen Klammern wiederholt: childAges[]=7&childAges[]=12. JSON-Bodys müssen UTF-8-kodiert sein.

Antwort-Envelope#

Antworten sind JSON. Die meisten enthalten ein success-Flag; Listen werden mit count und items zurückgegeben:

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

Schlägt eine Prüfung der Geschäftsregeln fehl, wird success: false mit einer Fehlerbeschreibung in einer von zwei Formen zurückgegeben:

message-Form
{
    "success": false,
    "message": "online_cupon_is_not_found"
}
errorCode-Form (Zimmerliste)
{
    "success": false,
    "errorMessage": "Invalid parameters.",
    "errorCode": 10022
}

Ausnahmen: Der Endpunkt für Kontaktdaten gibt ein einfaches Objekt ohne Envelope zurück, die Buchungsübermittlung ein BookingPushRS-Objekt. Beide sind in der Referenz dargestellt.

HTTP-Statuscodes#

CodeWannWas tun
200Anfrage verarbeitet (Erfolg oder Fehler aus Geschäftsregeln)success, message / errorCode prüfen.
401Token fehlt, ist fehlerhaft oder unbekanntErneut anmelden; siehe Authentifizierung.
404Ein Pfadparameter passt zu keinem Datensatz (z. B. /hotel/{hotelID}/…, /payment/type/{paymentType})ID prüfen.
405Falsche HTTP-MethodeDie in der Referenz angegebene Methode verwenden (Länder und Zimmerliste sind POST).
500Unerwarteter ServerfehlerNach kurzer Wartezeit erneut versuchen; besteht der Fehler weiter, ein Support-Ticket mit der Anfrage eröffnen.

Paginierung#

Listen-Endpunkte (/external/currencies, /external/languages, /external/online/social/media, /external/stock/packages) werden nach Seitennummer paginiert:

ParameterBeschreibungStandard
limitDatensätze pro Seite.20
pageSeitennummer, beginnend bei 1.1
offsetAnzahl zu überspringender Datensätze. Wenn angegeben, wird page ignoriert.
orderSortierfeld; für absteigende Reihenfolge - voranstellen (-id). Die zulässigen Felder sind je Endpunkt aufgeführt.

count ist die Gesamtzahl der Datensätze; die Liste ist vollständig abgerufen, wenn page × limit ≥ count gilt.

Datum, Uhrzeit und Beträge#

TypFormatBeispiel
Datum in der AnfrageYYYY-MM-DD2026-08-18
VerfügbarkeitsdatumYYYY-MM-DD oder YYYY-MM-DDTHH:MM:SS2026-08-18T12:00:00
Datum des Preises pro Nacht (Antwort)DD.MM.YYYY (Feld tarih)18.08.2026
Tageszeitraum der Verfügbarkeit (Antwort)YYYY-MM-DD HH:MM:SS, 12:00 Uhr bis 12:00 Uhr am Folgetag2026-08-18 12:00:00
BetragString mit zwei Nachkommastellen, Punkt als Dezimaltrennzeichen"965.00"
WährungISO 4217; aus den Einstellungen des Online-Kanals des HotelsTRY
ZeitzoneDie Zeitzone des HotelsEurope/Istanbul

Der Abreisetag gehört nicht zum Aufenthalt: 18. bis 20. August sind zwei Nächte. Addieren Sie Beträge nicht mit float; verwenden Sie eine Dezimal-Bibliothek oder ganzzahlige kleinste Währungseinheiten.

Sprache#

Die Zimmerliste akzeptiert ein Feld language (ISO 639-1: tr, en, de…) und gibt Zimmernamen, Ausstattungsbezeichnungen und Fehlermeldungen in dieser Sprache zurück. Die Paketliste erwartet eine languageID; die IDs liefert der Endpunkt Sprachen.

Zuletzt aktualisiert: 21. September 2026Fehler gefunden? Schreiben Sie uns