SMS

O que é SMPP?

SMPP é um protocolo para trocar SMS entre aplicações, gateways e centros de mensagens por uma conexão persistente.

Uma aplicação pode enviar um texto antes de o telefone do destinatário ficar acessível. Uma conexão SMPP transporta esse envio e as operações posteriores que informam o que aconteceu.

O que a conexão transporta?

O SMPP transporta envios de mensagens, mensagens recebidas e relatórios de entrega entre sistemas conectados.

Sua aplicação pode se conectar a um gateway que encaminha o tráfego adiante. Ela também pode se conectar diretamente a um centro de mensagens quando o provedor oferece essa configuração.

A referência do SMPP descreve esses papéis e operações. Um centro de mensagens armazena textos e os encaminha aos destinatários.

Um gateway entre sua aplicação e o centro adiciona mais uma etapa de roteamento. O nome do protocolo sozinho não indica quantos sistemas processam a mensagem.

Como funciona uma sessão SMPP?

Seu cliente abre uma conexão. Ele autentica a sessão e a mantém disponível para operações de mensagem.

A etapa de autenticação é chamada de bind. Uma sessão transmitter envia mensagens. Uma sessão receiver as recebe. Uma sessão transceiver suporta ambas as direções.

Use o tipo de sessão que seu fluxo de trabalho exige. Uma conexão somente de envio não substitui uma sessão de recebimento quando você precisa de operações de entrada.

Seu cliente precisa se recuperar de perdas de conexão. Ele também precisa confirmar as operações que recebe. Rastreie as solicitações que aguardam respostas para que uma resposta atrasada seja associada à solicitação correta.

Uma resposta de envio comprova a entrega?

Uma resposta de envio informa se o serviço conectado aceitou o envio, não se o telefone recebeu o texto.

A operação submit_sm envia uma mensagem. A submit_sm_resp correspondente informa o resultado dessa solicitação.

Mensagens recebidas e recibos de entrega podem chegar por deliver_sm. A referência de recibos de entrega explica as operações de recibo e seu conteúdo.

Mantenha o resultado do envio separado do resultado da entrega na sua aplicação. Uma mensagem pode ser aceita e depois falhar porque o destinatário continua inacessível.

O que muda quando uso uma HTTP API?

HTTP expõe operações de solicitação e resposta sem exigir que sua aplicação gerencie um bind SMPP.

Sua aplicação ainda precisa lidar com novas tentativas. Ela também precisa processar os resultados de entrega posteriores. HTTP não transforma a entrega assíncrona de uma operadora em uma garantia síncrona.

Com Bird, você envia por POST /v1/sms/messages e rastreia o identificador de mensagem retornado. O guia de envio explica a resposta de aceitação 202. Eventos de SMS fornece os relatórios de entrega subsequentes.

Essas responsabilidades de API são separadas de gerenciar uma conexão SMPP com um provedor. APIs e gateways explica as camadas.

Usar SMPP torna os provedores intercambiáveis?

Os provedores não são intercambiáveis só porque compartilham um protocolo. Eles podem suportar operações, codificações e limites diferentes.

Teste as capacidades que sua aplicação usa antes de migrar o tráfego. Um bind bem-sucedido não comprova que todas as operações necessárias funcionam naquele provedor.

A referência de gateway recomenda testar o suporte à implementação e o desempenho. Mantenha suas verificações de entrega ao trocar de conexão, em vez de tratar um novo endpoint como uma migração completa.

Quando devo escolher SMPP?

Escolha SMPP quando um sistema existente precisa de um bind persistente ou de operações de entrada específicas do SMPP.

  1. Use HTTP para uma aplicação nova sem requisito específico de SMPP.
  2. Use SMPP quando um sistema existente precisa de um bind persistente ou de operações de entrada específicas do SMPP.
  3. Teste o suporte do provedor e os resultados de entrega antes de migrar tráfego de produção.

Em resumo

  1. Seu cliente gerencia uma sessão.

    Ele autentica a conexão e cuida da recuperação quando essa conexão falha.

  2. Envio e entrega são operações diferentes.

    Uma resposta de envio bem-sucedida não comprova que o aparelho recebeu a mensagem.

  3. O suporte varia entre provedores.

    Teste operações, codificação e capacidade em vez de presumir que o protocolo torna os provedores intercambiáveis.

  4. HTTP pode dispensar o gerenciamento de sessão SMPP.

    HTTP dispensa o gerenciamento de um bind SMPP, enquanto sua aplicação ainda lida com eventos de entrega.

Construa na mesma rede.

Uma chave de API de teste é sua imediatamente. A produção é desbloqueada quando adicionar um método de pagamento e verificar um remetente.

Sua próxima ideia.
Pronta para conectar.