Permintaan dan respons

Halaman ini membahas format body permintaan, envelope respons, paginasi, format tanggal dan jumlah uang, serta cara menafsirkan kode status HTTP.

Body permintaan#

Endpoint menggunakan salah satu dari dua format body. Halaman referensi setiap endpoint menyebutkan format yang berlaku.

FormatContent-TypeDigunakan oleh
Field formapplication/x-www-form-urlencoded atau multipart/form-dataLogin, daftar kamar, validasi kupon, negara
JSONapplication/jsonPengiriman reservasi (BookingPushRQ), langkah awal pembayaran
Query stringSemua endpoint GET

Field array dalam body form diulang dengan tanda kurung siku: childAges[]=7&childAges[]=12. Body JSON harus menggunakan UTF-8.

Envelope respons#

Respons berformat JSON. Sebagian besar memuat penanda success; daftar dikembalikan dengan count dan items:

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

Pemeriksaan aturan bisnis yang gagal mengembalikan success: false beserta deskripsi error, dalam salah satu dari dua bentuk berikut:

Bentuk message
{
    "success": false,
    "message": "online_cupon_is_not_found"
}
Bentuk errorCode (daftar kamar)
{
    "success": false,
    "errorMessage": "Invalid parameters.",
    "errorCode": 10022
}

Pengecualian: endpoint detail kontak mengembalikan objek polos tanpa envelope, dan pengiriman reservasi mengembalikan objek BookingPushRS. Keduanya ditampilkan di referensi.

Kode status HTTP#

KodeKapanYang perlu dilakukan
200Permintaan diproses (berhasil atau error aturan bisnis)Periksa success, message / errorCode.
401Token tidak ada, formatnya salah, atau tidak dikenalLogin ulang; lihat Autentikasi.
404Parameter path tidak cocok dengan record apa pun (mis. /hotel/{hotelID}/…, /payment/type/{paymentType})Periksa ID-nya.
405Metode HTTP salahGunakan metode yang tercantum di referensi (negara dan daftar kamar menggunakan POST).
500Error server yang tidak terdugaCoba lagi setelah jeda singkat; jika masih terjadi, buka tiket dukungan dengan menyertakan permintaannya.

Paginasi#

Endpoint daftar (/external/currencies, /external/languages, /external/online/social/media, /external/stock/packages) dipaginasi berdasarkan nomor halaman:

ParameterDeskripsiDefault
limitJumlah record per halaman.20
pageNomor halaman, dimulai dari 1.1
offsetJumlah record yang dilewati. Jika diisi, page diabaikan.
orderField pengurutan; tambahkan awalan - untuk urutan menurun (-id). Field yang diizinkan dicantumkan per endpoint.

count adalah jumlah total record; daftar sudah habis jika page × limit ≥ count.

Tanggal, waktu, dan jumlah uang#

TipeFormatContoh
Tanggal permintaanYYYY-MM-DD2026-08-18
Tanggal ketersediaanYYYY-MM-DD atau YYYY-MM-DDTHH:MM:SS2026-08-18T12:00:00
Tanggal tarif per malam (respons)DD.MM.YYYY (field tarih)18.08.2026
Rentang hari ketersediaan (respons)YYYY-MM-DD HH:MM:SS, pukul 12:00 hingga 12:00 hari berikutnya2026-08-18 12:00:00
Jumlah uangString dengan dua angka desimal, pemisah titik"965.00"
Mata uangISO 4217; dari pengaturan channel online hotelTRY
Zona waktuZona waktu hotelEurope/Istanbul

Tanggal check-out tidak termasuk dalam masa menginap: 18–20 Agustus berarti dua malam. Jangan menjumlahkan nilai uang dengan float; gunakan library desimal atau satuan terkecil berupa bilangan bulat.

Bahasa#

Daftar kamar menerima field language (ISO 639-1: tr, en, de…) dan mengembalikan nama kamar, judul fitur, serta pesan error dalam bahasa tersebut. Daftar paket mengharapkan languageID; ID-nya diambil dari endpoint Bahasa.

Terakhir diperbarui: 21 September 2026Menemukan kesalahan? Beri tahu kami