Comment envoyer des SMS en utilisant l'API SMPP au niveau du protocole

L'API Short Message Peer-to-Peer (SMPP) est un protocole largement adopté pour échanger des messages SMS entre des entités SMS comme les ESME (External Short Message Entities) et les SMSC (Short Message Service Centers). Pour les utilisateurs de la plateforme Ozeki SMS Gateway, comprendre les interactions au niveau du protocole SMPP est essentiel pour optimiser les performances, déboguer et réaliser des intégrations personnalisées. Ce guide explique les PDU (Unités de données de protocole) SMPP nécessaires pour établir, maintenir et utiliser une connexion API SMPP afin d'envoyer des messages SMS.

Établir une connexion API SMPP

Pour envoyer des SMS via l'API SMPP, vous devez d'abord lier votre client au serveur Ozeki SMS Gateway. Il existe trois types de liaison : bind_transmitter, bind_receiver et bind_transceiver. Chacun définit la direction du flux de messages.

PDU clés pour la configuration de la connexion

PDU Direction Objectif Paramètres clés
bind_transmitter ESME → SMSC Initie une connexion pour envoyer des SMS
  • system_id: Nom d'utilisateur du client
  • password: Identifiant d'authentification
  • system_type: Identifiant de l'ESME
bind_receiver ESME → SMSC Configure une connexion pour recevoir des SMS Identique à bind_transmitter
bind_transceiver ESME → SMSC Active la messagerie bidirectionnelle Identique à bind_transmitter

Après une liaison réussie, la passerelle Ozeki répond avec une PDU bind_resp contenant un accusé de réception system_id. Si l'authentification échoue, elle renvoie un code d'erreur comme ESME_RINVPASWD.

Maintenir la connexion API SMPP

Les connexions SMPP nécessitent des signaux de maintien périodiques pour éviter les délais d'attente. Utilisez la PDU enquire_link :

PDU Direction Objectif
enquire_link ESME ↔ SMSC Vérifie si la connexion est active
enquire_link_resp ESME ↔ SMSC Confirme la vivacité

Bonnes pratiques : Envoyez enquire_link toutes les 30 à 60 secondes. Ozeki SMS Gateway termine les connexions inactives après 5 minutes par défaut.

Envoyer un SMS via l'API SMPP

La PDU submit_sm est utilisée pour envoyer un seul SMS. Sa structure comprend les adresses source/destination et le contenu du message :

Paramètre Description Exemple
service_type Type de service (facultatif) “” (vide)
source_addr Adresse de l'expéditeur SMS “12345”
destination_addr Numéro de téléphone du destinataire “+1234567890”
short_message Contenu du message (UTF-8 ou GSM-7) “Bonjour le monde”

Exemple de workflow submit_sm

  1. L'ESME envoie submit_sm à Ozeki SMS Gateway.
  2. La passerelle répond avec submit_sm_resp contenant un message_id.
  3. La passerelle envoie deliver_sm pour les rapports de livraison (si activé).
  4. L'ESME répond avec deliver_sm_resp.

Gérer les réponses et erreurs de l'API SMPP

Ozeki SMS Gateway utilise ces PDU de réponse :

PDU Objectif Champs critiques
submit_sm_resp Accuse réception de submit_sm message_id, command_status
generic_nack Indique une PDU malformée/invalide command_status (par exemple, ESME_RINVMSGLEN)

Conclusion

Maîtriser les PDU de l'API SMPP comme bind_transmitter, enquire_link et submit_sm garantit une messagerie SMS fiable via Ozeki SMS Gateway. En implémentant une gestion robuste des erreurs et des routines de maintien de connexion, les développeurs peuvent créer des solutions SMS évolutives avec un temps d'arrêt minimal.

More information