Um SMS concatenado (SMS longo) é uma mensagem com mais de 160 caracteres GSM-7 ou 70 caracteres Unicode, dividida em segmentos que o celular junta de volta em uma única mensagem. Cada segmento leva um pequeno cabeçalho, então comporta 153 caracteres GSM-7 ou 67 Unicode, e cada segmento é cobrado como um SMS separado.
Como funciona a concatenação
Um SMS simples carrega 140 bytes. Para enviar mais, o remetente divide o texto em partes e adiciona um User Data Header (UDH) a cada uma. O UDH contém três valores principais:
- Número de referência: o mesmo para todas as partes de uma mensagem, para o celular saber quais partes andam juntas.
- Total de partes: quantos segmentos formam a mensagem.
- Número da parte: a posição deste segmento.
O cabeçalho comum usa uma referência de 8 bits e ocupa 6 bytes. Uma variante com referência de 16 bits ocupa 7 bytes e deixa um caractere a menos por segmento GSM-7 (152). O celular espera todas as partes chegarem e então as mostra como uma única mensagem.
Tamanhos dos segmentos
| Tamanho da mensagem (GSM-7) | Segmentos | Tamanho (Unicode) | Segmentos |
|---|---|---|---|
| 1 a 160 | 1 | 1 a 70 | 1 |
| 161 a 306 | 2 | 71 a 134 | 2 |
| 307 a 459 | 3 | 135 a 201 | 3 |
| 460 a 612 | 4 | 202 a 268 | 4 |
Caracteres da tabela de extensão GSM-7 (como o símbolo do euro ou os colchetes) contam como dois. Um caractere fora do GSM muda a mensagem para Unicode e altera todos os números. Veja GSM-7 ou Unicode: codificação e tamanho do SMS.
Envio de mensagens longas por SMPP
Há três formas comuns de enviar uma mensagem longa por uma conexão SMPP. Pergunte ao seu fornecedor quais ele suporta:
- UDH no payload: você mesmo divide o texto, adiciona o UDH e ativa a flag UDHI no esm_class. Cada parte é um submit_sm separado com seu próprio ID de mensagem.
- Parâmetros opcionais SAR: sar_msg_ref_num, sar_total_segments e sar_segment_seqnum levam a mesma informação como TLVs, e o SMSC monta o UDH.
- message_payload: você envia o texto completo em um único submit_sm usando o parâmetro message_payload, e o fornecedor faz a divisão. Nem toda plataforma aceita isso.
Com uma HTTP API você normalmente envia o texto completo e a plataforma faz a divisão. As duas interfaces são comparadas em SMPP ou HTTP API para SMS A2P. Se as partes forem enviadas com tamanho ou flags errados, você verá erros como tamanho de mensagem inválido, descritos em Códigos de erro SMPP comuns.
Cobrança e relatórios de entrega
- Cada segmento é cobrado como um SMS. Uma mensagem de 300 caracteres custa dois, uma mensagem em árabe de 200 caracteres custa três. Mais sobre isso em Como funciona o preço do SMS A2P.
- Cada segmento pode devolver o próprio DLR. Considere a mensagem entregue só quando todas as partes forem entregues. Veja Status de DLR explicados.
- O throughput conta segmentos. Uma mensagem de 3 partes usa três posições de TPS, o que importa ao dimensionar binds SMPP e TPS.
Problemas comuns
- Partes exibidas como mensagens separadas: o UDH se perdeu no caminho, ou a rota mudou a codificação. Esse é um sinal frequente de rotas de baixa qualidade.
- Partes faltando: o celular não consegue mostrar a mensagem completa até que todas as partes cheguem; alguns aparelhos mostram o texto parcial depois de um tempo limite.
- Rotas diferentes por parte: se as partes seguem caminhos diferentes, podem chegar com minutos de diferença. Boas plataformas mantêm todas as partes na mesma rota.
- Limites: o contador de 8 bits permite até 255 partes, mas muitas operadoras e fornecedores limitam as mensagens a um número bem menor de segmentos. Pergunte antes de enviar conteúdo longo.
Vale a pena enviar mensagens longas?
Para OTP e alertas, não: mantenha um segmento. Para mensagens de serviço que precisam de detalhes, dois ou três segmentos são normais. Para conteúdo mais longo, um link para uma página normalmente sai mais barato, embora links possam acionar filtros em algumas rotas. A VoIPMatcher busca rotas de SMS A2P que tratam corretamente mensagens concatenadas. Solicite uma rota de SMS e informe o tamanho típico das suas mensagens.
Contador de caracteres SMS grátis
- Codificação
- GSM-7
- Caracteres
- 0
- SMS cobrados
- 0
- Caracteres restantes neste SMS
- 160
Perguntas frequentes
Qual é o tamanho máximo de um SMS concatenado?
A referência de 8 bits do cabeçalho padrão permite até 255 segmentos, o que dá cerca de 39.000 caracteres GSM-7. Na prática, muitas operadoras e fornecedores de SMS limitam as mensagens a um número bem menor de segmentos, e mensagens longas têm mais chance de chegar incompletas. Pergunte ao seu fornecedor o limite antes de enviar conteúdo longo, e mantenha os alertas curtos.
SMS multipart é o mesmo que SMS concatenado?
Sim. SMS concatenado, SMS multipart e SMS longo são nomes para a mesma coisa. Uma mensagem maior que um SMS é dividida em partes, cada uma com um cabeçalho que permite ao celular remontá-la. O destinatário vê uma única mensagem, enquanto o remetente paga cada parte como um SMS separado.
Um SMS longo custa mais?
Sim. Cada segmento é cobrado como um SMS, então uma mensagem GSM-7 de 300 caracteres custa dois e uma mensagem Unicode de 200 caracteres custa três. Um único caractere fora do alfabeto GSM-7 muda o texto inteiro para Unicode, o que reduz o segmento para 67 caracteres e pode multiplicar o custo de uma campanha.
Por que meu SMS longo chega em pedaços separados?
O celular mostra as partes separadas quando o User Data Header foi perdido ou alterado no caminho, ou quando a rota mudou a codificação. Esse é um sinal comum de rota de baixa qualidade. Também pode acontecer quando as partes seguem caminhos diferentes e chegam com minutos de diferença. Teste mensagens longas em aparelhos reais antes de enviar volume.
Precisa de uma rota?
Envie o destino, o tipo de rota e a tarifa alvo. Respondemos com o que podemos entregar.