Kako poslati SMS koristeći SMPP API na razini protokola
Short Message Peer-to-Peer (SMPP) API je široko prihvaćen protokol za razmjenu SMS poruka između SMS entiteta poput ESME-a (External Short Message Entities) i SMSC-a (Short Message Service Centers). Za korisnike platforme Ozeki SMS Gateway, razumijevanje interakcija na razini SMPP protokola ključno je za optimizaciju performansi, otklanjanje grešaka i prilagođene integracije. Ovaj vodič objašnjava SMPP PDU-je (Protocol Data Units) potrebne za uspostavljanje, održavanje i korištenje SMPP API veze za slanje SMS poruka.
Uspostavljanje SMPP API veze
Za slanje SMS-a putem SMPP API-ja, prvo morate povezati svoj klijent s Ozeki SMS Gateway poslužiteljem. Postoje tri vrste povezivanja: bind_transmitter, bind_receiver i bind_transceiver. Svaka definira smjer toka poruka.
Ključni PDU-ji za postavljanje veze
| PDU | Smjer | Svrha | Ključni parametri |
|---|---|---|---|
bind_transmitter |
ESME → SMSC | Inicira vezu za slanje SMS-a |
|
bind_receiver |
ESME → SMSC | Postavlja vezu za primanje SMS-a | Isto kao bind_transmitter |
bind_transceiver |
ESME → SMSC | Omogućuje dvosmjernu komunikaciju | Isto kao bind_transmitter |
Nakon uspješnog povezivanja, Ozeki gateway odgovara s bind_resp PDU-jem koji sadrži potvrdu system_id. Ako autentifikacija ne uspije, vraća se kod greške poput ESME_RINVPASWD.
Održavanje SMPP API veze
SMPP veze zahtijevaju periodične signale za održavanje veze kako bi se spriječio timeout. Koristite enquire_link PDU:
| PDU | Smjer | Svrha |
|---|---|---|
enquire_link |
ESME ↔ SMSC | Provjerava je li veza aktivna |
enquire_link_resp |
ESME ↔ SMSC | Potvrđuje aktivnost veze |
Najbolja praksa: Šaljite enquire_link svakih 30-60 sekundi. Ozeki SMS Gateway prekida neaktivne veze nakon 5 minuta prema zadanim postavkama.
Slanje SMS-a putem SMPP API-ja
PDU submit_sm koristi se za slanje pojedinačnog SMS-a. Njegova struktura uključuje adrese pošiljatelja/primatelja i sadržaj poruke:
| Parametar | Opis | Primjer |
|---|---|---|
service_type |
Vrsta usluge (opcionalno) | “” (prazno) |
source_addr |
Adresa pošiljatelja SMS-a | “12345” |
destination_addr |
Broj telefona primatelja | “+1234567890” |
short_message |
Sadržaj poruke (UTF-8 ili GSM-7) | “Pozdrav svijete” |
Primjer tijeka rada submit_sm
- ESME šalje
submit_smOzeki SMS Gateway-u. - Gateway odgovara s
submit_sm_respkoji sadržimessage_id. - Gateway šalje
deliver_smza izvješća o isporuci (ako su omogućena). - ESME odgovara s
deliver_sm_resp.
Rukovanje odgovorima i greškama SMPP API-ja
Ozeki SMS Gateway koristi sljedeće PDU-je za odgovore:
| PDU | Svrha | Ključna polja |
|---|---|---|
submit_sm_resp |
Potvrđuje submit_sm |
message_id, command_status |
generic_nack |
Ukazuje na neispravan/nepravilan PDU | command_status (npr. ESME_RINVMSGLEN) |
Zaključak
Savladavanje SMPP API PDU-ja poput bind_transmitter, enquire_link i submit_sm osigurava pouzdano slanje SMS poruka putem Ozeki SMS Gateway-a. Implementacijom robusnog rukovanja greškama i rutina za održavanje veze, programeri mogu izgraditi skalabilna SMS rješenja s minimalnim zastojima.