Skip to main content
Ağ kesintisi ya da zaman aşımı sonrasında bir isteği tekrar göndermeniz gerekebilir. Idempotency anahtarı, aynı isteğin ikinci kez gönderilmesinin ikinci bir kayıt oluşturmasını önler: sunucu işlemi yeniden yapmaz, ilk sonucu döndürür. Idempotency tüm endpoint’lerde otomatik çalışmaz. Yalnızca bu sayfada listelenen endpoint’ler anahtarı destekler.
Listede olmayan bir POST isteğini tekrar gönderirseniz ikinci bir kayıt oluşur. Bu endpoint’lerde tekrar denemeden önce kaydın oluşup oluşmadığını ilgili liste endpoint’iyle kontrol edin.

Idempotency anahtarı

Anahtar, sizin ürettiğiniz ve isteği tanımlayan bir metindir. Her yeni işlem için yeni bir anahtar üretin; aynı işlemi tekrar gönderirken aynı anahtarı kullanın. Anahtarı Idempotency-Key başlığıyla gönderin. Faturalama endpoint’lerinde aynı değeri gövdede idempotency_key alanıyla da gönderebilirsiniz. İkisini birlikte gönderirseniz başlık geçerli olur.
Her denemede yeni anahtar üretmeyin. Anahtarı işlemi başlatırken üretip saklayın, tekrar denemelerde aynısını gönderin.

Destekleyen endpoint’ler

Satın alma endpoint’leri için ayrıntılar Abonelik ve faturalama, klinik oluşturma için Hesap, mesaj gönderme için Sohbetler ve Mesajlar sayfalarındadır.

Klinik oluşturma

Idempotency-Key başlığı zorunludur. Anahtar, istekteki name ve country_id değerleriyle birlikte hatırlanır.

Abonelik ve ek paket satın alma

Anahtar, seçtiğiniz plana (plan_code) ya da ek pakete bağlanır. Satın alma bir proforma oluşturur ve ödemeyi başlatmaz; ödeme ayrı bir istekle başlar. Ek paket anahtarları proformayla birlikte süresiz saklanır. Aynı paketi bilerek ikinci kez almak istiyorsanız yeni bir anahtar kullanın.

Hızlı Yanıt gönderme

Hızlı Yanıt gönderirken her seçim için istemcide bir UUID üretip quick_reply_send_id olarak gönderin. Birden fazla ekli Hızlı Yanıt’ta her dosyayı ayrı istekle, file_id ile gönderin; tüm isteklerde aynı quick_reply_send_id ve ortak bir media_group_id kullanın, sırayı media_group_index (0–99) ile verin. Albüm olarak medya gönderen POST /api/v1/conversations/{id}/messages/media endpoint’i de aynı mantıkla çalışır: media_group_id ve media_group_index birlikte gönderilir, aynı grup ve sıra numarasıyla tekrar gönderim özgün message_id’yi döndürür.
media_group_id, media_group_index ve quick_reply_send_id göndermediğiniz düz metin, tekil medya ve sesli mesaj gönderimleri takip edilmez. Bu gönderimleri tekrar ederseniz mesaj yeniden gönderilir.

Aynı anahtarla tekrar

Aynı anahtarı aynı içerikle tekrar gönderdiğinizde sunucu yeni kayıt oluşturmaz.
Bu isteği yanıt gelmeden zaman aşımına uğradıktan sonra aynı başlıkla yeniden gönderirseniz ikinci bir proforma oluşmaz.

Hızlı Yanıt tekrarının sınırları

Hızlı Yanıt ve albüm gönderimlerinde tekrar koruması şu koşullara bağlıdır:
  • Önceki deneme başarısız olduysa tekrar istek mesajı yeniden gönderir.
  • Önceki deneme 10 dakikadan uzun süredir sırada ya da gönderiliyor durumunda kaldıysa tekrar istek mesajı yeniden gönderir.
  • Kayıtlar 7 gün sonra silinir. Bu süreden sonra aynı quick_reply_send_id yeni bir gönderim sayılır.
Raw adresle sohbet başlatan POST /api/v1/conversations isteği anahtar gerektirmez. Aynı kanal ve normalleştirilmiş adres için tekrar çağrı, yeni sohbet açmak yerine mevcut sohbeti 201 ile döndürür. Ayrıntılar için Sohbetler sayfasına bakın.

Hatalar

Eksik anahtar mesajları endpoint’e göre değişir: 409 aldığınızda isteği olduğu gibi tekrar göndermeyin. Hata, anahtarın farklı bir işlem için kullanıldığını gösterir. İşlemi gerçekten yeni bir istek olarak göndermek istiyorsanız yeni bir anahtar üretin. Hata kodlarının genel yapısı için Hata yapısı ve Hata kodları sayfalarına bakın. Başlıkların genel listesi İstek başlıkları sayfasındadır.