Genel kurallar

Tarih, para, sayfalama, idempotency, hız sınırı, hatalar ve sürümleme.

Tarih ve para

  • Tarihler YYYY-MM-DD. Konaklama [giriş, çıkış) aralığıdır; çıkış günü dahil değildir. Takvimdeki bir gün bir geceyi anlatır.
  • Tutarlar küçük para biriminde tam sayı (totalMinor: 105000 = 1.050,00 EUR) ve ISO 4217 kodu (currency) ile gelir. Mülkün fiyatı sahibinin para biriminde kalır; dönüştürme yapmayız.
  • Saat dilimi mülke aittir (timezone); gün sınırları mülkün yerel gününe göredir.

Dil

Ad ve katalog alanları için locale=tr|en verin. Kataloğun anahtarları (pool.private gibi) dile bağlı değildir ve asla yeniden adlandırılmaz.

Sayfalama

Mülk listesi imleçle sayfalanır: cevaptaki nextCursor değerini bir sonraki istekte cursor olarak verin; null ise son sayfadasınız. Olay günlüğü after ile ilerler (next_after).

Idempotency

Opsiyon ve rezervasyon isteklerine Idempotency-Key başlığı ekleyin (bir UUID yeterli). Ağ koptuğunda isteği aynı anahtarla tekrarlarsanız ikinci bir kayıt oluşmaz, ilk cevap döner.

Hız sınırı

Canlı anahtar dakikada 600, test anahtarı 120 istek yapabilir. Her cevapta durum başlıkları vardır:

http
RateLimit-Limit: 600
RateLimit-Remaining: 587
RateLimit-Reset: 41

Sınırı aşarsanız 429 rate_limited döner; RateLimit-Reset saniye sonra tekrar deneyin. Sürekli yoklama yerine webhook kullanın.

Hatalar

Hatalar RFC 9457 application/problem+json biçimindedir. Programınız code alanına göre karar vermelidir; detail insan içindir ve değişebilir.

json
{
  "type": "about:blank",
  "title": "Conflict",
  "status": 409,
  "code": "dates_unavailable",
  "detail": "dates_unavailable"
}

Tüm hata kodlarının listesi Hata kodları sayfasındadır.

Sürümleme

Adresler /v1 ile başlar. Geriye uyumlu eklemeler (yeni alan, yeni uç, yeni olay türü) sürümü değiştirmez; alıcılarınız bilmediği alanları ve olay türlerini yok saymalıdır. Kırıcı bir değişiklik yeni bir ana sürümle gelir ve Sürüm notlarında duyurulur. Webhook yüklerindeki api_version yayımlanma tarihini gösterir.