IOSOR Guias

Gerenciando limites de bytes GSM-7 e Unicode em payloads de API

Controle as regras de codificação de payload de SMS por meio de integrações com a API da IOSOR. Evite taxas ocultas de segmentos de mensagens multipartidas auditando programaticamente os limites de caracteres.

Gerenciando limites de bytes GSM-7 e Unicode em payloads de API.

Detectando codificação de caracteres em payloads de API

Ao enviar payloads de texto via API, o sistema avalia automaticamente se a string se ajusta ao conjunto de caracteres padrão GSM-7 ou requer codificação Unicode UCS-2. Se um payload contiver um único caractere fora do alfabeto GSM-7, como certos símbolos de emoji ou scripts não latinos, todo o SMS muda de 160 bits por segmento para 70 bits por segmento. Essa alteração automática altera drasticamente a contagem de segmentos e afeta o seu saldo pré-pago.

Diferenças técnicas entre GSM-7 e UCS-2

O alfabeto GSM-7 inclui caracteres latinos padrão, números e símbolos gregos específicos, compactados eficientemente em unidades de 7 bits. No entanto, caracteres estendidos como colchetes, chaves e determinados símbolos consomem duas unidades de caracteres, apesar de aparecem como um único glifo. Quando o UCS-2 é acionado, cada caractere requer 16 bits (2 bytes), reduzindo o comprimento máximo de mensagem de segmento único de 160 caracteres para 70.

Calculando segmentos de mensagem e limites multipartes

O cálculo de limites exatos de segmentos requer analisar strings byte por byte, em vez de depender apenas de métodos de comprimento de string em seu tempo de execução local. Um payload contendo 161 caracteres GSM-7 padrão é dividido em dois segmentos, dobrando efetivamente o custo de submissão da API para esse único despacho.

Otimizando modelos para evitar cobranças inesperadas

Modelos de mensagens para senhas de uso único, alertas transacionais e notificações devem ser rigorosamente auditados para remover caracteres Unicode ocultos. Culpados comuns incluem pontuação formatada copiada de editores de texto rico, como travessões, aspas inteligentes e espaços sem quebra. Substituí-los por equivalentes ASCII padrão garante a conformidade com o GSM-7 e maximiza a capacidade de segmentos.

Reconciliando logs DLR e dados do ledger de API

Relatórios de entrega detalhados fornecem visibilidade crucial sobre como os gateways de operadoras processaram seus payloads de texto. Quando surgem discrepâncias entre contagens de segmentos esperadas e deduções reais do ledger, as equipes de engenharia devem fazer o cruzamento de logs de webhook com o ledger de transações da IOSOR.

Comece com a IOSOR

Configure a validação da codificação de strings de pré-envio nas definições da sua consola IOSOR ou no canal de integração de API antes de enviar modelos automatizados para produção. Instale barreiras de inspeção de payload para higienizar caracteres Unicode ocultos e avaliar a contagem de bytes antes de despachar pedidos para os gateways a jusante.

Conclusão IOSOR

Esta análise prova que um único caractere não GSM-7 — tal como uma aspa inteligente, um travessão ou um emoji — altera instantaneamente todo o payload da codificação padrão de 7 bits para UCS-2 de 16 bits, reduzindo drasticamente os limites de segmentos de 160 para 70 caracteres. Aplicar uma análise rigorosa ao nível dos bytes e deteção de codificação na fase de montagem do payload evita a divisão acidental de mensagens em várias partes no tráfego da sua API.

Este guia foi útil?

Guias relacionados