İçeriğe geç
OmniChannels.ai

API'ler ve SMPP

Bir SMS sağlayıcısına SMPP üzerinden nasıl bağlanırım?

Güncelleme

Kısa yanıt

Bir SMS sağlayıcısına SMPP ile bağlanmak için bind talep edin ve kaynak IP adreslerinizi kaydettirin, ardından size verilen ana makine ve porta TLS bağlantısı açın. system_id ve parolanızla bind_transceiver gönderin, mesajları submit_sm ile iletin, her deliver_sm raporunu yanıtlayın ve oturumu canlı tutmak için düzenli olarak enquire_link gönderin.

Sağlayıcının size verdikleri

SMPP erişimi genellikle sağlayıcı tarafından tanımlanır, kendi kendinize açılmaz. Hedef ülkelerinizi, SMS başlıklarınızı, beklenen en yüksek hacmi ve bağlanacağınız genel IP adreslerini sağlayıcıya bildirin.

ÖğeNe olduğu
Ana makine ve TLS portuİstemcinizin bağlandığı adres
system_id ve parolaBind kimlik bilgileri; gizli bilgi olarak saklayın
system_typeSağlayıcı bir değer belirlemedikçe genellikle boştur
Bind sayısı ve işlem hızıAçabileceğiniz oturum sayısı ve bind başına anlaşılan hız
IP izin listesiYalnızca kayıtlı kaynak IP'ler bind yapabilir

Oturumu açın ve yürütün

Transceiver bind, tek oturumda hem gönderir hem alır. Ayrı transmitter ve receiver bind'lerini yalnızca istemciniz gerektiriyorsa kullanın.

  1. Size verilen ana makine ve porta TLS bağlantısı açın.
  2. system_id ve parola ile bind_transceiver gönderin; command_status 0 olan bind_transceiver_resp yanıtını bekleyin.
  3. Her mesajı submit_sm ile iletin ve submit_sm_resp içindeki message_id değerini saklayın.
  4. İletim raporlarını deliver_sm olarak alın ve her birini deliver_sm_resp ile yanıtlayın.
  5. Boştayken enquire_link gönderin; yanıtlar kesilirse geri çekilme (backoff) ile yeniden bağlanın.
  6. unbind ile kapatın ve unbind_resp yanıtını bekleyin.

Hangi submit_sm alanları en çok reddedilmeye yol açar?

  • source_addr_ton ve source_addr_npi: alfanümerik SMS başlığı için 5 ve 0, uluslararası numara için 1 ve 1.
  • destination_addr: ülke kodu artı numara; artı işareti ve baştaki sıfırlar olmadan.
  • data_coding: varsayılan GSM-7 alfabesi için 0, UCS-2 için 8 (Arapça, emoji ve diğer yazı sistemleri).
  • registered_delivery: iletim raporu istemek için 1.
  • short_message en fazla 254 oktet taşır; daha uzun içerik için sm_length 0 ile message_payload TLV kullanın, ikisini asla birlikte kullanmayın.

Yaygın bind ve submit hataları

OmniChannels.ai, hesap başına TLS üzerinden SMPP 3.4 bind'leri tanımlar ve kaynak IP'leri izin listesine alır; bayiler ve toptan iş ortakları için özel bind'ler de sağlanabilir.

command_statusOlası nedenÇözüm
ESME_RBINDFAILHatalı system_id veya IP izin listesinde değilKimlik bilgilerini ve kaynak IP'yi kontrol edin
ESME_RINVPASWDHatalı parolaKimlik bilgilerini kontrol edin
ESME_RINVSRCADRSMS başlığı veya TON/NPI değeri geçersizGönderen bilgisini ve TON/NPI değerini düzeltin
ESME_RTHROTTLEDAnlaşılan hızın üzerinde gönderimYavaşlayın ve geri çekilmeyle yeniden deneyin

Resmî kaynaklar