Jak wysyłać SMS-y za pomocą SMPP API na poziomie protokołu

Short Message Peer-to-Peer (SMPP) API to szeroko stosowany protokół wymiany wiadomości SMS między podmiotami SMS, takimi jak ESME (External Short Message Entities) i SMSC (Short Message Service Centers). Dla użytkowników platformy Ozeki SMS Gateway zrozumienie interakcji na poziomie protokołu SMPP jest kluczowe dla optymalizacji wydajności, debugowania i niestandardowych integracji. Ten przewodnik wyjaśnia PDU (Protocol Data Units) SMPP wymagane do nawiązania, utrzymania i wykorzystania połączenia SMPP API w celu wysyłania wiadomości SMS.

Nawiązywanie połączenia SMPP API

Aby wysyłać SMS-y przez SMPP API, należy najpierw powiązać klienta z serwerem Ozeki SMS Gateway. Istnieją trzy typy powiązań: bind_transmitter, bind_receiver i bind_transceiver. Każdy z nich definiuje kierunek przepływu wiadomości.

Kluczowe PDU dla konfiguracji połączenia

PDU Kierunek Cel Kluczowe parametry
bind_transmitter ESME → SMSC Inicjuje połączenie do wysyłania SMS
  • system_id: Nazwa użytkownika klienta
  • password: Dane uwierzytelniające
  • system_type: Identyfikator ESME
bind_receiver ESME → SMSC Konfiguruje połączenie do odbierania SMS Takie same jak bind_transmitter
bind_transceiver ESME → SMSC Umożliwia dwukierunkową komunikację Takie same jak bind_transmitter

Po udanym powiązaniu, brama Ozeki odpowiada PDU bind_resp zawierającym potwierdzenie system_id. Jeśli uwierzytelnienie nie powiedzie się, zwraca kod błędu, np. ESME_RINVPASWD.

Utrzymanie połączenia SMPP API

Połączenia SMPP wymagają okresowych sygnałów keep-alive, aby zapobiec przekroczeniu limitu czasu. Użyj PDU enquire_link:

PDU Kierunek Cel
enquire_link ESME ↔ SMSC Sprawdza, czy połączenie jest aktywne
enquire_link_resp ESME ↔ SMSC Potwierdza żywotność

Najlepsza praktyka: Wysyłaj enquire_link co 30-60 sekund. Ozeki SMS Gateway domyślnie zamyka nieaktywne połączenia po 5 minutach.

Wysyłanie SMS-a przez SMPP API

PDU submit_sm służy do wysłania pojedynczego SMS-a. Jego struktura obejmuje adresy źródłowe/docelowe i treść wiadomości:

Parametr Opis Przykład
service_type Typ usługi (opcjonalny) “” (pusty)
source_addr Adres nadawcy SMS “12345”
destination_addr Numer telefonu odbiorcy “+1234567890”
short_message Zawartość wiadomości (UTF-8 lub GSM-7) “Witaj świecie”

Przykładowy przepływ submit_sm

  1. ESME wysyła submit_sm do Ozeki SMS Gateway.
  2. Brama odpowiada submit_sm_resp zawierającym message_id.
  3. Brama wysyła deliver_sm dla raportów dostarczenia (jeśli włączone).
  4. ESME odpowiada deliver_sm_resp.

Obsługa odpowiedzi i błędów SMPP API

Ozeki SMS Gateway używa następujących PDU odpowiedzi:

PDU Cel Krytyczne pola
submit_sm_resp Potwierdza submit_sm message_id, command_status
generic_nack Wskazuje na błędne/nieprawidłowe PDU command_status (np. ESME_RINVMSGLEN)

Podsumowanie

Opanowanie PDU SMPP API, takich jak bind_transmitter, enquire_link i submit_sm, zapewnia niezawodne przesyłanie wiadomości SMS przez Ozeki SMS Gateway. Wdrażając solidną obsługę błędów i procedury keep-alive, programiści mogą budować skalowalne rozwiązania SMS z minimalnym przestojem.

More information