- A sua aplicaçãoEnvia via REST API ou SMPP
- Plataforma BroadNetValida, encaminha e fatura cada mensagem
- SMSC da operadoraConexão direta com a operadora
- Dispositivo do assinanteA mensagem é entregue
A anatomia de um SMS
O SMS — Short Message Service — foi normalizado como parte do GSM e transporta uma carga útil de 140 bytes. Esse tamanho fixo é a origem de todos os limites de caracteres que vai encontrar: tudo sobre o comprimento do SMS resume-se, na verdade, a caber em 140 bytes.
Uma mensagem viaja como MO (mobile-originated — enviada a partir de um telemóvel) ou MT (mobile-terminated — entregue a um telemóvel). O tráfego de aplicação para pessoa é quase todo MT: a sua plataforma submete a mensagem e a rede entrega-a ao assinante.
Entre a submissão e o telemóvel está o SMSC (Short Message Service Centre), que armazena a mensagem e a reencaminha quando o destinatário está acessível. Se o telefone estiver desligado, o SMSC guarda a mensagem até o período de validade expirar.
Codificação: GSM 7 bits vs UCS-2
O texto latino simples usa o alfabeto predefinido GSM de 7 bits definido no GSM 03.38. Como cada caráter ocupa 7 bits, 140 bytes contêm 160 caracteres — o conhecido limite de segmento único.
Um punhado de símbolos comuns (como { } [ ] ~ ^ | \ e o sinal de euro) está numa tabela de extensão e custa dois caracteres cada. É fácil ultrapassar o limite de um segmento sem se aperceber quando o texto contém um destes.
No momento em que uma mensagem contém qualquer caráter fora desse alfabeto — árabe, cirílico, chinês ou um emoji — toda a mensagem muda para UCS-2, uma codificação Unicode de 16 bits. Agora cada caráter ocupa 2 bytes, pelo que um único segmento contém apenas 70 caracteres.
Segmentação e concatenação
Quando o texto excede um segmento, é dividido e remontado no telemóvel. Para isso, é acrescentado a cada parte um pequeno User Data Header (UDH), que consome espaço da carga útil. É por isso que os segmentos concatenados contêm menos caracteres do que um segmento isolado.
No GSM de 7 bits, os segmentos concatenados contêm 153 caracteres cada, em vez de 160; no UCS-2 contêm 67 em vez de 70. Uma mensagem latina de 300 caracteres tem três segmentos; a mesma extensão em árabe tem cinco. A faturação é por segmento, pelo que a codificação determina diretamente o custo.
Um erro comum e evitável é uma mensagem que fica mesmo acima de um limite — 161 caracteres passam a ser dois segmentos e duplicam o preço de cada envio. Cortar algumas palavras, ou remover um símbolo da tabela de extensão, pode reduzir a fatura a metade em grande escala.
Relatórios de entrega e estado
Um relatório de entrega (DLR) é a confirmação da rede sobre o que aconteceu a uma mensagem. Reporta um estado final, como entregue, não entregue, expirado ou rejeitado, e muitas vezes um código de erro específico da operadora que explica o motivo.
Os DLR são essenciais para a reconciliação e a medição da qualidade. Solicitá-los apenas onde são consumidos mantém o tráfego limpo; um recibo de entregue confirma que o telemóvel recebeu a mensagem, enquanto um recibo de expirado significa que nunca esteve acessível dentro do período de validade.
Como os códigos de erro das operadoras variam entre rotas, os remetentes mais maduros normalizam-nos numa taxonomia consistente — assinante ausente, número inválido, bloqueado por spam — para que a qualidade possa ser comparada entre destinos.
A2P vs P2P
O P2P (pessoa para pessoa) é o SMS conversacional que um humano envia a outro. O A2P (aplicação para pessoa) é tráfego programático de software: alertas, OTP, notificações e marketing. Parecem idênticos no telemóvel, mas são comercial e tecnicamente distintos.
As operadoras cobram e encaminham o A2P de forma diferente e esperam que chegue através de canais oficiais e faturados. O A2P entregue através de rotas P2P para evitar taxas de terminação é uma rota cinzenta — mais barata à partida, mas propensa a filtragem, má capacidade de entrega e exposição de conformidade.
Compreender esta divisão é a base para tudo o que se segue: a qualidade do encaminhamento, as regras de sender ID e as firewalls existem porque as operadoras têm de distinguir o tráfego A2P legítimo e pago do desvio.
- A carga útil de um SMS é de 140 bytes; é por isso que o GSM de 7 bits cabe em 160 caracteres e o UCS-2 apenas em 70.
- Qualquer caráter que não seja GSM (árabe, emoji) muda toda a mensagem para UCS-2 e reduz o limite.
- Os segmentos concatenados custam espaço de cabeçalho (153 / 67 caracteres) e paga-se por segmento.
- Os DLR fecham o ciclo da entrega; o A2P e o P2P parecem iguais, mas são encaminhados e cobrados de forma diferente.