Richieste e risposte

Questa pagina descrive i formati del corpo della richiesta, l’envelope della risposta, la paginazione, i formati di date e importi e come interpretare i codici di stato HTTP.

Corpo della richiesta#

Gli endpoint usano uno di due formati per il corpo. La pagina di riferimento di ogni endpoint indica quale si applica.

FormatoContent-TypeUsato da
Campi formapplication/x-www-form-urlencoded o multipart/form-dataLogin, elenco camere, convalida dei coupon, paesi
JSONapplication/jsonInvio della prenotazione (BookingPushRQ), avvio del pagamento
Query stringTutti gli endpoint GET

Nei corpi form i campi array si ripetono con le parentesi quadre: childAges[]=7&childAges[]=12. I corpi JSON devono essere in UTF-8.

Envelope della risposta#

Le risposte sono in JSON. La maggior parte contiene un flag success; gli elenchi tornano con count e items:

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

Se un controllo di logica applicativa non va a buon fine, la risposta contiene success: false e una descrizione dell’errore, in una di queste due forme:

Forma con message
{
    "success": false,
    "message": "online_cupon_is_not_found"
}
Forma con errorCode (elenco camere)
{
    "success": false,
    "errorMessage": "Invalid parameters.",
    "errorCode": 10022
}

Eccezioni: l’endpoint dei contatti restituisce un oggetto semplice senza envelope, mentre l’invio della prenotazione restituisce un oggetto BookingPushRS. Entrambi sono mostrati nel riferimento API.

Codici di stato HTTP#

CodiceQuandoCosa fare
200Richiesta elaborata (successo o errore di logica applicativa)Controlla success, message / errorCode.
401Token mancante, non valido o sconosciutoRipeti il login; vedi Autenticazione.
404Un parametro di percorso non corrisponde ad alcun record (ad es. /hotel/{hotelID}/…, /payment/type/{paymentType})Controlla l’ID.
405Metodo HTTP erratoUsa il metodo indicato nel riferimento API (paesi ed elenco camere sono POST).
500Errore imprevisto del serverRiprova dopo una breve attesa; se l’errore persiste, apri un ticket di supporto allegando la richiesta.

Paginazione#

Gli endpoint che restituiscono elenchi (/external/currencies, /external/languages, /external/online/social/media, /external/stock/packages) sono paginati per numero di pagina:

ParametroDescrizionePredefinito
limitRecord per pagina.20
pageNumero di pagina, a partire da 1.1
offsetRecord da saltare. Se indicato, page viene ignorato.
orderCampo di ordinamento; anteponi - per l’ordine decrescente (-id). I campi ammessi sono indicati per ogni endpoint.

count è il numero totale di record; l’elenco è terminato quando page × limit ≥ count.

Date, orari e importi#

TipoFormatoEsempio
Data nella richiestaYYYY-MM-DD2026-08-18
Data di disponibilitàYYYY-MM-DD o YYYY-MM-DDTHH:MM:SS2026-08-18T12:00:00
Data della tariffa per notte (risposta)DD.MM.YYYY (campo tarih)18.08.2026
Intervallo giornaliero di disponibilità (risposta)YYYY-MM-DD HH:MM:SS, dalle 12:00 alle 12:00 del giorno successivo2026-08-18 12:00:00
ImportoStringa con due decimali e punto come separatore"965.00"
ValutaISO 4217; dalle impostazioni del canale online dell’hotelTRY
Fuso orarioIl fuso orario dell’hotelEurope/Istanbul

La data di check-out non fa parte del soggiorno: dal 18 al 20 agosto sono due notti. Non sommare gli importi con float; usa una libreria decimale o numeri interi nell’unità minima della valuta.

Lingua#

L’elenco camere accetta un campo language (ISO 639-1: tr, en, de…) e restituisce in quella lingua i nomi delle camere, i titoli delle caratteristiche e i messaggi di errore. L’elenco dei pacchetti richiede invece un languageID; gli ID provengono dall’endpoint Lingue.

Ultimo aggiornamento: 21 settembre 2026Hai trovato un errore? Segnalacelo