Ana içeriğe geç

Dayanıklı bir API istemcisi

İstek hızı​

API, kullanıcı, şirket veya IP kapsamına göre istekleri sınırlayabilir. 429 yanıtında varsa Retry-After başlığına uyun. Başlık yoksa artan bekleme ve küçük rastgele gecikme kullanın. Paralel işçilerinizin toplam istek hızını birlikte sınırlayın; her işçiyi ayrı bir kota varmış gibi çalıştırmayın. Login çağrılarını döngüye almayın; aynı oturumdaki eşzamanlı işler tek token yenileme işleminin sonucunu beklesin.

Zaman aşımı ve tekrar​

İstemcinizde bağlantı ve yanıt bekleme sürelerini yapılandırılabilir tutun. Arayüz, arka plan senkronizasyonu ve rezervasyon oluşturma farklı bekleme politikaları gerektirebilir. Zaman aşımı, sunucudaki işlemin durduğunu göstermez.

Sonuçİstemci yaklaşımı
Okuma isteğinde bağlantı hatası / 5xxSınırlı sayıda, artan bekleme ve rastgele gecikmeyle tekrar.
400Alanları düzeltmeden tekrar göndermeyin.
401Uygunsa bir kez token yenileyin; başarısızsa giriş isteyin.
403 / 404Hesap kapsamı ve kaynak kimliğini kontrol edin.
Teklifte 410Yeni teklif alın; fiyat ve koşulları tekrar gösterin.
Oluşturma sırasında belirsiz sonuçAynı Idempotency-Key ve gövdeyle tekrar deneyin.
Güncelleme/iptalde belirsiz sonuçÖnce rezervasyon detayını sorgulayın.

Bu yaklaşımlar istemci tasarımı önerileridir.

Idempotency kapsamı​

Her yeni rezervasyon niyeti için UUID gibi benzersiz bir anahtar üretin. Anahtarı isteği göndermeden önce kendi işlem kaydınızla saklayın. Aynı isteğin tekrarında aynı hesap, aynı gövde ve aynı anahtarı kullanın. Başka kullanıcı/şirket bağlamında önceki sonucun alınacağını varsaymayın.

Aynı anahtarla farklı gövdenin otomatik reddedileceğine güvenmeyin; bu bir güncelleme yöntemi değildir. Teklif geçerlilik süresi ile idempotency davranışı farklı kavramlardır.

Senkronizasyon​

Webhook'lar etkinse olayları kalıcı kaydedip tekrarlanan teslimleri ayıklayın. Webhook alamıyorsanız rezervasyon detayını kontrollü aralıklarla sorgulayın. Gereksiz sıklıkta bütün kayıtları taramak yerine değişmesini beklediğiniz rezervasyonları izleyin.

Sözleşme değişiklikleri​

Değişiklik günlüğünü ve OpenAPI belgesini entegrasyon sürüm kontrolünüze dahil edin. Tanımadığınız yanıt alanlarını tolere edin; yeni durum/enum değerleri için genel gösterim ve hata yolu bulundurun.

Swagger URL'sindeki v1 belge grubunun adıdır. Ürün sürümü karşılaştırmasında OpenAPI info.version, şema farkı ve duyurulan değişiklikleri birlikte değerlendirin.

Destek​

support@yolcugo.com adresine ortam, işlem, UTC zaman, HTTP kodu ve varsa correlationId ile başvurun. Token, şifre, webhook secret'ı ve yolcu kişisel bilgilerini paylaşmayın.