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 uma ligação TCP que fica aberta, autentica-se uma vez (o bind) e envia e recebe pacotes binários por essa mesma ligaçã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. |
Uma ligação TCP que fica aberta durante horas; autentica-se uma vez (bind). |
| Onde pode correr |
Em qualquer sítio que faça pedidos HTTPS para fora: hospedagem partilhada, VPS, funções na nuvem. |
Num programa que está sempre a correr: 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 ligaçã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 numa ligação de recepção (receiver ou transceiver). |
| Trocar de fornecedor |
Reescrever a integração. |
Sobretudo mudar anfitrião, porta, credenciais e alguns parâmetros. |
| Dificuldade |
Baixa: o cURL e poucas linhas. |
Maior: estado da ligação, 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 registo, 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 a ligação 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 a preparar o VPS onde vai correr a ligação 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 em execução e mantém uma ligação aberta, por isso precisa de um servidor próprio e não de hospedagem partilhada. Os nossos planos VPS correm em KVM com acesso total por SSH, de modo que pode instalar o cliente e mantê-lo a correr como serviço. Um cliente que só mantém uma ligação e envia mensagens é leve, por isso 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 o pedirem, até ao VPS6 (32 vCPU, 64 GB).
Não indicamos aqui se uma determinada porta de saída está aberta. Teste-a a partir do VPS: tente ligar-se ao anfitrião e à porta SMPP do fornecedor (por exemplo com nc -vz). Se não responder e o fornecedor disser que devia, abra um ticket com o anfitrião, a porta e o resultado.
PRODUTO RECOMENDADO Alojamento de sites com cPanel Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde 321,75 MT/mês (plano de 3 anos, com cupão) Ver planos |