Skip to main content
Você é cobrado por segmento, não por mensagem. Uma mensagem longa são vários segmentos, e a codificação que ela usa decide quantos.

Os números

Tirados das constantes do próprio gateway, não da especificação em geral:
O cabeçalho de concatenação custa a diferença: 7 caracteres em GSM-7, 3 em UCS-2, em cada segmento. Por isso 160 vira 153, em vez de continuar 160.Internamente, esses são limites em bytes: 140 bytes em uma mensagem única, 134 bytes por segmento. GSM-7 empacota sete bits por caractere; UCS-2 usa dois bytes cada.
Uma mensagem pode ter no máximo 255 segmentos.

O caractere que dobra a sua conta

Um caractere fora do GSM-7 força a mensagem inteira para UCS-2, e a capacidade cai de 160 para 70. Uma mensagem de 150 caracteres que custava um segmento passa a custar três. Os culpados habituais, todos invisíveis quando você olha o texto:
Aspas inteligentes são a causa mais comum de uma triplicação inexplicada de custo. Texto colado de um documento, de um CMS ou de um cliente de chat rotineiramente carrega ’ no lugar de ', e nada no caminho de envio sinaliza. A mensagem sai correta, só que três vezes mais cara.Normalize a pontuação antes de enviar se seu conteúdo vem de qualquer lugar em que um humano digitou.

Confira o preço antes de enviar

/secure/rate retorna a contagem de segmentos sem enviar nada:
submit_sm_count é a contagem de segmentos. Não custa nada, não envia nada e não conta em nenhum rate limit, então é razoável chamar em conteúdo gerado por usuários antes de comprometer um envio.

Definindo a codificação você mesmo

coding mapeia para o SMPP data_coding e é passado à operadora sem alteração, então ele escolhe como o corpo é codificado, não meramente como é contado. Qualquer outro valor em 0–14 é aceito e decodificado como UTF-8. 15 ou acima é 400.

O que um cliente vê quando dá errado

Uma mensagem dividida em segmentos chega como uma única mensagem em um aparelho moderno, porque o cabeçalho de concatenação diz como remontá-la. Dois modos de falha valem conhecer:
  • Segmentos chegando fora de ordem ou incompletos aparecem como mensagens separadas, muitas vezes com fragmentos visíveis do cabeçalho. Isso é um problema da operadora, não de codificação.
  • Uma mensagem longa parcialmente entregue é reportada como FAILED, não parcialmente entregue. A resolução espera pelo último segmento e reporta o pior desfecho. É a resposta honesta, e ela empurra as taxas de entrega para baixo em relação a gateways que reportam o primeiro segmento.

Relacionados

Concatenação

Como segmentos são remontados, e o que isso custa.

Tarifar uma mensagem

Todos os campos de /secure/rate.