SMPP explicado
SMPP (Short Message Peer-to-Peer) é o protocolo TCP aberto que transporta A2P SMS entre uma aplicação — o ESME — e o SMSC de uma operadora móvel. O ESME abre um bind persistente, envia mensagens como submit_sm PDUs binários e recebe relatórios de entrega pelo mesmo socket.
Resumido de Como funciona o protocolo SMPP?
Como funciona
- 1
Bind
O ESME abre uma conexão TCP (idealmente TLS) e envia bind_transceiver com um system_id e palavra-passe. Pode realizar o bind como Transmitter, Receiver ou Transceiver; um bind Transceiver via SMPP 3.4 é o padrão moderno.
Leia a resposta completa - 2
Submit
Cada mensagem é enviada como um PDU submit_sm, e o SMSC confirma com um submit_sm_resp contendo um message_id. A janela — quantos PDUs podem estar em trânsito sem confirmação — é o que mais frequentemente limita o throughput real.
Leia a resposta completa - 3
Receber relatórios de entrega
Os relatórios de entrega chegam de forma assíncrona como PDUs deliver_sm no mesmo socket e são associados à mensagem original por meio do message_id.
Leia a resposta completa - 4
Manter a sessão ativa
Um heartbeat enquire_link a cada 30 segundos mantém o bind ativo, o cliente reconecta com backoff exponencial e o unbind fecha a sessão de forma limpa. Um submit que falha devolve um command_status numérico para decodificação.
Leia a resposta completa
Termos fundamentais
Cada termo possui a sua própria página de resposta com a explicação completa.
- O que é SMPP?SMPP (Short Message Peer-to-Peer) é o padrão de protocolo aberto para troca de SMS entre SMSCs (Centros de Serviços de Mensagens Curtas), ESMEs (Entidades Externas de Mensagens Curtas) e agregadores.
- Como funciona o protocolo SMPP?SMPP (Short Message Peer-to-Peer) é o protocolo TCP aberto que transporta SMS A2P entre uma aplicação — o ESME — e o SMSC de uma operadora móvel.
- O que é uma ESME?ESME (Entidade Externa de Mensagens Curtas) é o termo SMPP para qualquer aplicação externa ao SMSC que envia ou recebe SMS.
- O que é um SMSC?Um SMSC (Centro de Serviço de Mensagens Curtas) é o componente central da infraestrutura de uma rede móvel que armazena, encaminha e entrega mensagens SMS entre dispositivos móveis e aplicações externas.
- Qual é o tamanho da janela SMPP ?A janela é o número de PDU SMPP que um ESME pode ter em trânsito — submetidas, mas ainda não confirmadas — numa única conexão a qualquer momento.
- SMPP 3.4 vs SMPP 5.0 — o que mudou e qual usarO SMPP 3.4 (1999) ainda é o protocolo de interconexão SMS que executa praticamente todas as conexões A2P em produção atualmente.
- O que é um DLR (relatório de entrega)?Um DLR é a confirmação assíncrona de que um SMS foi entregue (ou não foi entregue) ao dispositivo.
- O que é TPS (Transações por Segundo)?TPS (transações por segundo) — também chamado de MPS ou taxa de envio — é o limite de transferência de uma conexão ou conta de mensagens: quantos PDUs submit_sm de SMS o SMSC aceita por segundo antes de devolver…
- TLS 1.3 em mensagens — o que mudou e porque isso é importante para o SMPPO TLS 1.3 (RFC 8446, 2018) substituiu o TLS 1.2 com um handshake mais rápido, removeu todos os algoritmos que haviam sido quebrados na década anterior e tornou o sigilo de encaminhamento obrigatório.
Guias e leituras complementares
- ReferênciaVisão geral do protocolo SMPP
- ReferênciaOperações de bind SMPP e estados de sessão
- ReferênciaSMPP submit_sm: todos os campos obrigatórios
- ReferênciaCódigos de erro command_status do SMPP
- GuiaLista de Verificação de Integração SMPP
- ArtigoO custo operacional de uma integração de SMS: binds, webhooks e modos de falha
- ArtigoPlaneamento de taxa de transferência de SMS e TPS: dimensionamento de conexões SMPP para campanhas de alto volume
- ComparaçãoSMS API vs SMPP
- Documentação para desenvolvedoresIntegração SMPP
- FerramentaConsulta de Código de Erro SMPP
Perguntas frequentes
Quando deve escolher SMPP em vez de REST?
Escolha SMPP quando sustenta várias centenas de mensagens por segundo ou precisa de binds persistentes (a capacidade por bind é acordada com a sua equipa de conta), executa OTP com latência crítica onde cada milissegundo conta, ou se integra num ecossistema de operadora/agregador que já utiliza SMPP em todo o lado. Caso contrário, uma API REST SMS (sem limites de taxa fixos por conta na BroadNet) é mais simples de operar e entrega pelas mesmas rotas.
Leia a resposta completaDevo usar o SMPP 5.0 para uma nova integração?
Quase nunca. Utilize SMPP 3.4 sobre TLS, a menos que uma contraparte específica exija 5.0. A base instalada, as ferramentas e o suporte dos operadores estão todos focados na versão 3.4, e a versão 5.0 não oferece nenhuma vantagem de entregabilidade em rotas A2P comerciais.
Leia a resposta completaO SMPP 5.0 entrega mensagens melhor que o 3.4?
Não. A capacidade de entrega é uma função da rota da operadora, não da versão do SMPP. Os recursos aprimorados na versão 5.0 (cabeçalhos Unicode, TLVs de faturação) geralmente são tratados na camada de aplicação, sobre a versão 3.4.
Leia a resposta completaComo faço para enviar texto em árabe ou emojis via SMPP 3.4?
Defina data_coding para UCS-2 (0x08) ou inclua o corpo da mensagem num TLV message_payload. A versão 3.4 lida bem com conteúdo Unicode; você não precisa da versão 5.0 para isso.
Leia a resposta completaQue tipo de vinculação e porta devo usar?
A vinculação de transceptor sobre TLS é o padrão para A2P — ela envia submit_sm e recebe DLRs num único socket. BroadNet oferece conexões SMPP 3.4; o host, a porta e as credenciais são fornecidos com o seu acesso de teste.
Leia a resposta completa