Como Enviar SMS Usando a API SMPP no Nível do Protocolo

A API Short Message Peer-to-Peer (SMPP) é um protocolo amplamente adotado para troca de mensagens SMS entre entidades de SMS, como ESMEs (Entidades de Mensagens Curtas Externas) e SMSCs (Centros de Serviço de Mensagens Curtas). Para usuários da plataforma Ozeki SMS Gateway, entender as interações no nível do protocolo SMPP é essencial para otimizar desempenho, depuração e integrações personalizadas. Este guia explica as PDUs (Unidades de Dados de Protocolo) do SMPP necessárias para estabelecer, manter e usar uma conexão API SMPP para enviar mensagens SMS.

Estabelecendo uma Conexão com a API SMPP

Para enviar SMS via API SMPP, você deve primeiro vincular seu cliente ao servidor Ozeki SMS Gateway. Existem três tipos de vinculação: bind_transmitter, bind_receiver e bind_transceiver. Cada um define a direção do fluxo de mensagens.

PDUs Principais para Configuração da Conexão

PDU Direção Propósito Parâmetros Principais
bind_transmitter ESME → SMSC Inicia uma conexão para enviar SMS
  • system_id: Nome de usuário do cliente
  • password: Credencial de autenticação
  • system_type: Identificador para a ESME
bind_receiver ESME → SMSC Configura uma conexão para receber SMS Igual ao bind_transmitter
bind_transceiver ESME → SMSC Permite mensagens bidirecionais Igual ao bind_transmitter

Após uma vinculação bem-sucedida, o gateway Ozeki responde com uma PDU bind_resp contendo um reconhecimento system_id. Se a autenticação falhar, ele retorna um código de erro como ESME_RINVPASWD.

Mantendo a Conexão com a API SMPP

Conexões SMPP requerem sinais de keep-alive periódicos para evitar timeout. Use a PDU enquire_link:

PDU Direção Propósito
enquire_link ESME ↔ SMSC Verifica se a conexão está ativa
enquire_link_resp ESME ↔ SMSC Confirma a atividade

Melhor Prática: Envie enquire_link a cada 30-60 segundos. O Ozeki SMS Gateway encerra conexões inativas após 5 minutos por padrão.

Enviando um SMS via API SMPP

A PDU submit_sm é usada para enviar um único SMS. Sua estrutura inclui endereços de origem/destino e conteúdo da mensagem:

Parâmetro Descrição Exemplo
service_type Tipo de serviço (opcional) “” (vazio)
source_addr Endereço do remetente do SMS “12345”
destination_addr Número de telefone do destinatário “+1234567890”
short_message Conteúdo da mensagem (UTF-8 ou GSM-7) “Olá Mundo”

Exemplo de Fluxo de Trabalho com submit_sm

  1. ESME envia submit_sm para o Ozeki SMS Gateway.
  2. O gateway responde com submit_sm_resp contendo um message_id.
  3. O gateway envia deliver_sm para relatórios de entrega (se habilitado).
  4. ESME responde com deliver_sm_resp.

Lidando com Respostas e Erros da API SMPP

O Ozeki SMS Gateway usa estas PDUs de resposta:

PDU Propósito Campos Críticos
submit_sm_resp Reconhece o submit_sm message_id, command_status
generic_nack Indica PDU malformado/inválido command_status (ex., ESME_RINVMSGLEN)

Conclusão

Dominar PDUs da API SMPP como bind_transmitter, enquire_link e submit_sm garante mensagens SMS confiáveis através do Ozeki SMS Gateway. Ao implementar rotinas robustas de tratamento de erros e keep-alive, os desenvolvedores podem construir soluções de SMS escaláveis com tempo mínimo de inatividade.

More information