İçeriğe geç
OmniChannels.ai

API'ler ve SMPP

Webhook ile iletim raporlarını nasıl alırım?

Güncelleme

Kısa yanıt

Webhook ile iletim raporu almak için POST isteklerini kabul eden bir HTTPS uç noktası açın ve URL'sini mesajlaşma sağlayıcınıza kaydedin. Her olayı saklayın, hızlıca 2xx durum koduyla yanıtlayın ve olayı eşzamansız işleyin. Olayları mesaj kimliğiyle kayıtlarınızla eşleştirin, tekilleştirin ve geç gelen bir durumun nihai durumun üzerine yazmasına izin vermeyin.

Uç noktayı kurun

Geliştirme sırasında bir tünel, yerel sunucuya genel bir HTTPS URL'si kazandırır.

  1. JSON gövdeli POST isteklerini kabul eden bir HTTPS uç noktası açın.
  2. URL'yi sağlayıcınıza verin; böylece doğru hesapta veya alt hesapta yapılandırılır.
  3. Kendi numaranıza bir test mesajı gönderin ve ham olay gövdesini günlüğe kaydedin.
  4. İhtiyaç duyduğunuz alanları varsayılan alan adlarından değil, gerçek olaylardan eşleyin.
  5. Kullandığınız her kanal için örnek yükleri test verisi olarak saklayın.

Hangi durumları alırsınız?

Sağlayıcılar operatör ve kanal bildirimlerini kendi durum adlarına çevirir. Bu normalleştirilmiş küme, OmniChannels.ai'ın SMS, WhatsApp ve diğer kanallarda kullandığı kümedir.

DurumAnlamıNihai mi?
SUBMITTEDKabul edildi ve kuyruğa alındıHayır
SENTOperatöre veya kanala devredildiHayır
DELIVEREDCihazda doğrulandıGenellikle evet; ardından READ gelebilir
READAçıldı (okundu bilgisini bildiren kanallarda)Evet
FAILEDİletilemedi; mümkünse nedeniyle birlikteEvet
REJECTEDReddedildi, örneğin kayıtsız bir SMS başlığı nedeniyleEvet

İşleyiciyi güvenilir kılın

  • Ham gövdeyi saklayın, sonra 2xx döndürün. Saklama başarısız olursa olay yeniden denenebilsin diye 5xx döndürün.
  • Asıl işi yanıt vermeden önce değil, bir kuyrukta veya işçi sürecinde yapın.
  • Mesaj kimliğine göre tekilleştirin; aynı durum iki kez gelebilir.
  • Durumları sıralayın; böylece geç gelen bir SENT, DELIVERED durumunun üzerine yazmaz.
  • Tanımadığınız durum değerlerinde hata vermek yerine bunları kabul edin.
  • Webhook işleyicisinin içinden asla bir mesajı yeniden göndermeyin.

Güvenliği sağlayın ve kaçan raporları kurtarın

Yalnızca HTTPS kabul edin, uzun ve tahmin edilemez bir yol kullanın, gövde yapısını doğrulayın ve iade gibi geri döndürülemez işlemlerden önce durumu bir durum sorgusuyla teyit edin. Uç noktanız devre dışı kaldıysa sağlayıcıdan o dönemin raporlarını yeniden göndermesini isteyin veya durumları raporlama uç noktalarından okuyun.

SMPP'de raporlar webhook yerine bind üzerinde deliver_sm olarak gelir. Bazı operatörler raporları geç iletir ya da hiç iletmez; bu yüzden raporları güçlü bir kanıt olarak değerlendirin, okunduğunun kesin kanıtı olarak değil.

Resmî kaynaklar