A resposta curta (para programadores): há duas maneiras habituais de uma aplicação entregar SMS a um fornecedor. Com uma API HTTP, o seu código faz um pedido web por envio, com uma chave de API, e recebe de volta um identificador da mensagem; o estado chega depois por callback (um webhook para um endereço seu) ou perguntando. Com o SMPP (Short Message Peer-to-Peer), o seu programa abre um link TCP que fica aberto, autentica-se uma vez (o bind) e envia e recebe pacotes binários por essa mesma conexão: é o protocolo que os centros de SMS (SMSC) e os agregadores falam entre si. Para a maioria dos sites, a API HTTP chega. O SMPP compensa quando o fornecedor o oferece e a aplicação envia sem parar, precisa de receber respostas pelo mesmo canal, ou quer poder trocar de fornecedor sem reescrever a integração.
As diferenças que pesam
| Aspecto |
API HTTP |
SMPP |
| Como liga |
Um pedido HTTPS por envio; nada fica aberto entre envios. |
Um link TCP que fica aberto durante horas; autentica-se uma vez (bind). |
| Onde pode rodar |
Em qualquer lugar que faça pedidos HTTPS para fora: hospedagem compartilhada, VPS, funções na nuvem. |
Num programa que está sempre rodando: um VPS ou servidor, como serviço. |
| Formato |
JSON ou campos de formulário, diferentes em cada fornecedor. |
Pacotes (PDU) normalizados: submit_sm, deliver_sm e outros. A versão 3.4 é a mais espalhada. |
| Relatórios de entrega |
Um callback para um endereço seu, ou um endereço do fornecedor que se consulta. |
Um deliver_sm na mesma conexão, com o recibo lá dentro. |
| Respostas dos destinatários |
Um webhook para o seu endereço, se o fornecedor o suportar. |
Um deliver_sm num link de recepção (receiver ou transceiver). |
| Trocar de fornecedor |
Reescrever a integração. |
Sobretudo mudar host, porta, credenciais e alguns parâmetros. |
| Dificuldade |
Baixa: o cURL e poucas linhas. |
Maior: estado do link, janelas, religações, codificações. |
Como escolher e por onde começar
| 1 |
Pergunte primeiro ao fornecedor o que oferece. Muitos só têm API HTTP; outros têm as duas. Uma conta SMPP costuma exigir que o fornecedor autorize o IP do seu servidor e, às vezes, um acordo à parte.
|
|
| 2 |
Se envia a partir de um site (códigos de registro, avisos de encomenda, lembretes), escolha a API HTTP: do PHP é um pedido cURL, como em chamar uma API web com o cURL.
|
|
| 3 |
Escolha o SMPP se envia continuamente e o fornecedor o recomenda, se quer receber respostas e recibos sem expor um endereço público, ou se quer alternar entre vários fornecedores que falam SMPP.
|
|
| 6 |
Teste primeiro com o seu número, com e sem acentos no texto, antes de enviar a clientes: GSM-7 ou Unicode.
|
|
|
Nunca chame o fornecedor de SMS a partir do navegador (JavaScript). A chave de API ficaria à vista de qualquer visitante, e alguém podia enviar SMS pagos por si. O envio parte sempre do seu servidor.
|
|
Um gateway de código aberto pode ficar no meio. Programas como o Kannel ou o Jasmin mantêm o link SMPP ao fornecedor e dão à sua aplicação uma interface HTTP simples. Serve quando quer SMPP sem escrever o tratamento do protocolo, mas é mais um serviço para manter no VPS.
|
|
Precisa de ajuda para preparar o VPS onde vai rodar o link ao fornecedor de SMS? A conta de SMS é com o fornecedor; o servidor, vemos consigo.
Abrir pedido de suporte
|
Nos nossos planos
Um cliente SMPP é um programa que fica sempre rodando e mantém uma conexão aberta, então precisa de um servidor próprio e não de hospedagem compartilhada. Os nossos planos VPS rodam em KVM com acesso total por SSH, então você pode instalar o cliente e deixá-lo rodando como serviço. Um cliente que só mantém uma conexão e envia mensagens é leve, então o VPS1 (1 vCPU, 2 GB de RAM, 40 GB NVMe) é um bom começo; aumente se o volume ou o resto da aplicação pedirem, até o VPS6 (32 vCPU, 64 GB).
Não informamos aqui se uma determinada porta de saída está aberta. Teste a partir do VPS: tente conectar ao host e à porta SMPP do fornecedor (por exemplo com nc -vz). Se não responder e o fornecedor disser que deveria, abra um ticket com o host, a porta e o resultado.
PRODUTO RECOMENDADO Hospedagem de sites com cPanel Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde R$ 36,30/mês (plano de 3 anos, com cupom) Ver planos |