İçeriğe atla
traveldistro ana sayfa

28 Temmuz 2026 · Alper Tekin

Seyahat rezervasyon API'lerinde idempotency

Idempotency anahtarı nedir, rezervasyon API'leri neden ister ve traveldistro güvenli tekrarları tüm dikeylerde nasıl uygular.

Bir işlem, iki kez çalıştırıldığında tek seferle aynı etkiyi bırakıyorsa idempotent'tir. Okuma işlemi için bu bedavadır. Para hareket ettiren ve envanter rezerve eden bir rezervasyon içinse tasarlanması gerekir.

Zaman aşımı problemi

Sunucunuz rezervasyon isteği gönderir. Cevap hiç gelmez: bir proxy bağlantıyı düşürmüştür, mobil ağ göz kırpmıştır, bir deploy pod değiştirmiştir. Rezervasyon oldu mu?

Idempotency yoksa iki cevap da pahalıdır. Tekrar denerseniz ve ilk deneme başarılıysa, müşterinizin iki rezervasyonu ve sizin bir iade görüşmeniz olur. Tekrar denemezseniz ve ilk deneme başarısızsa, hiçbir şey satmamışsınızdır ve müşteri gider.

Idempotency anahtarı bunu nasıl çözer

Idempotency-Key başlığıyla tekrar güvenlidir:

  1. Rezervasyon niyeti başına benzersiz bir anahtar üretir, istekle gönderirsiniz.
  2. Sunucu anahtarı hiç görmediyse rezervasyonu normal işler.
  3. Sunucu o anahtarı zaten işlediyse, yeniden rezervasyon yapmak yerine orijinal sonucu döner.
  4. Aynı anahtar farklı bir istek gövdesiyle gelirse API bunu IDEMPOTENCY_CONFLICT ile reddeder; çünkü bu, çağıran tarafta yüksek sesle duyurulmayı hak eden bir bug'dır.

Çağıran için kural kısadır: aynı anahtarla tekrar deneyin, bir anahtarı asla farklı bir niyet için yeniden kullanmayın.

traveldistro bunu nasıl uygular

Bilet, transfer, kiralık araç ve eSIM'deki her rezervasyon endpoint'i Idempotency-Key başlığını zorunlu tutar. Başarısız rezervasyon sıfır artık duruma geri sarılır; çakışmalar makine-okunur 409 döner. Davranışın tamamı hata kataloğunda ve güvenilirlik sayfasında belgeli.