İstek ve yanıt biçimi
Bu sayfa istek gövdesi biçimlerini, yanıt zarfını, sayfalama kurallarını, tarih ve tutar biçimlerini ve HTTP durum kodlarının nasıl yorumlanacağını anlatır.
İstek gövdeleri#
Uç noktalar iki gövde biçiminden birini kullanır. Hangisi olduğu her uç noktanın referans sayfasında belirtilir.
| Biçim | Content-Type | Kullanan uç noktalar |
|---|---|---|
| Form alanları | application/x-www-form-urlencoded veya multipart/form-data | Giriş, oda listesi, kupon doğrulama, ülkeler |
| JSON | application/json | Rezervasyon aktarımı (BookingPushRQ), ödeme başlatma |
| Sorgu parametresi | — | Tüm GET uç noktaları |
Form gövdesinde dizi alanlar köşeli parantezle tekrarlanır: childAges[]=7&childAges[]=12. JSON gövdesi UTF-8 olmalıdır.
Yanıt zarfı#
Yanıtlar JSON’dur. Çoğu yanıt success alanı taşır; listeler count ve items ile döner:
{
"success": true,
"count": 3,
"items": [
{
"id": 1,
"titleCode": "TRY",
"symbol": "₺",
"price": 1
},
{
"id": 2,
"titleCode": "EUR",
"symbol": "€",
"price": 47.85000000000000142108547152020037174224853515625
}
]
}Başarısız iş kuralı sonuçları success: false ve bir hata tanımıyla döner. İki kalıp vardır:
{
"success": false,
"message": "online_cupon_is_not_found"
}{
"success": false,
"errorMessage": "Parametreler hatalı.",
"errorCode": 10022
}İstisnalar: iletişim bilgisi uç noktası zarfsız düz nesne döner; rezervasyon aktarımı BookingPushRS nesnesi döner. Her ikisi referansta örneklenmiştir.
HTTP durum kodları#
| Kod | Ne zaman | Ne yapmalı |
|---|---|---|
| 200 | İstek işlendi (başarılı ya da iş kuralı hatası) | success, message / errorCode alanlarına bakın. |
| 401 | Token yok, bozuk veya tanınmıyor | Yeniden giriş yapın; bkz. Kimlik doğrulama. |
| 404 | Yol parametresi bir kaydı göstermiyor (örn. /hotel/{hotelID}/…, /payment/type/{paymentType}) | Kimliği kontrol edin. |
| 405 | Yanlış HTTP metodu | Referansta belirtilen metodu kullanın (ülkeler listesi POST, oda listesi POST). |
| 500 | Beklenmeyen sunucu hatası | Kısa bekleme sonrası tekrar deneyin; sürerse istek örneğiyle destek açın. |
Sayfalama#
Liste uç noktaları (/external/currencies, /external/languages, /external/online/social/media, /external/stock/packages) sayfa numarasıyla sayfalanır:
| Parametre | Açıklama | Varsayılan |
|---|---|---|
limit | Sayfa başına kayıt sayısı. | 20 |
page | Sayfa numarası, 1’den başlar. | 1 |
offset | Atlanacak kayıt sayısı. Verilirse page yok sayılır. | — |
order | Sıralama alanı; azalan için başına - ekleyin (-id). İzin verilen alanlar uç noktada listelenir. | — |
count toplam kayıt sayısıdır; page × limit ≥ count olduğunda liste bitmiştir.
Tarih, saat ve tutar#
| Tür | Biçim | Örnek |
|---|---|---|
| İstek tarihi | YYYY-MM-DD | 2026-08-18 |
| Müsaitlik tarihi | YYYY-MM-DD veya YYYY-MM-DDTHH:MM:SS | 2026-08-18T12:00:00 |
| Günlük fiyat tarihi (yanıt) | GG.AA.YYYY (tarih alanı) | 18.08.2026 |
| Müsaitlik gün aralığı (yanıt) | YYYY-MM-DD HH:MM:SS, 12:00 → ertesi gün 12:00 | 2026-08-18 12:00:00 |
| Tutar | İki ondalıklı string, nokta ayraç | "965.00" |
| Para birimi | ISO 4217; otelin online kanal ayarından gelir | TRY |
| Zaman dilimi | Otelin zaman dilimi (yanıtta gmt ayarına göre) | Europe/Istanbul |
Çıkış tarihi konaklamaya dahil değildir: 18–20 Ağustos iki gecedir. Tutarları float ile toplamayın; ondalık kütüphane veya tam sayı kuruş kullanın.
Dil#
Oda listesi language alanıyla (ISO 639-1: tr, en, de…) oda adlarını, özellik başlıklarını ve hata mesajlarını o dilde döner. Paket listesi languageID (dil kimliği) bekler; kimlikler Diller uç noktasından alınır.