Se você percebeu que seus custos de faturamento de SMS dispararam porque seu sistema só envia SMS múltiplos devido ao Unicode, como parar isso é provavelmente a pergunta mais urgente em sua mente. Uma única aspa inteligente ou emoji acidental pode transformar instantaneamente uma mensagem de texto padrão e de baixo custo em três segmentos cobrados separadamente, drenando seu orçamento de marketing e operações.

Passo 1: Entenda por que o Unicode força múltiplos segmentos de SMS

Para evitar que seu gateway de SMS divida mensagens únicas em múltiplos segmentos cobrados, você deve primeiro entender a mecânica técnica subjacente da codificação de SMS. As redes de telecomunicações tradicionais usam dois padrões principais de codificação para mensagens de texto: GSM-7 e UCS-2 (Unicode).

Sob a codificação padrão GSM-7, um único segmento de SMS pode conter até 160 caracteres. Este conjunto de caracteres inclui letras latinas padrão (A-Z, a-z), números (0-9) e alguns sinais de pontuação comuns. No entanto, no momento em que o conteúdo da sua mensagem contiver um único caractere fora desse conjunto básico — como uma aspa curva (’), uma letra acentuada (á, é, ö) ou um emoji —, a codificação de toda a mensagem muda automaticamente para UCS-2.

Quando sua mensagem muda para a codificação Unicode UCS-2, o limite de caracteres por segmento cai de 160 caracteres para apenas 70 caracteres. Se a sua mensagem tiver 140 caracteres, ela cabe facilmente em um único segmento GSM-7. Mas em UCS-2, esses mesmos 140 caracteres exigem dois segmentos separados. Provedores de API tradicionais como Twilio, Vonage e MessageBird cobram por segmento, o que significa que seu custo dobra ou triplica instantaneamente para uma única mensagem.

Padrão de CodificaçãoCaracteres Máx. (1 Segmento)Caracteres Máx. (Multi-segmento)Caracteres Comuns de Ativação
GSM-7160 caracteres153 caracteres por segmentoLetras padrão em inglês, números, pontuação básica
UCS-2 (Unicode)70 caracteres67 caracteres por segmentoEmojis, aspas inteligentes (“, ”), alfabetos não latinos, acentos (é, ñ)

Esse comportamento explica por que seu aplicativo só envia múltiplos SMS devido ao Unicode. Para resolver isso, você precisa sanitizar rigorosamente seus dados de entrada ou migrar para uma API de SMS de baixo custo que não penalize você por enviar mensagens de texto mais longas e modernas.

Passo 2: Remover ou substituir caracteres Unicode no seu código

A maneira programática mais imediata de evitar as divisões por Unicode é sanitizar o conteúdo da mensagem antes de enviá-lo ao seu gateway de SMS. Você pode escrever uma função utilitária no seu backend para remover caracteres não compatíveis com GSM-7 ou substituí-los por seus equivalentes mais próximos em GSM-7.

Veja como você pode implementar isso em diferentes linguagens de programação usando padrões regex simples e regras de substituição de strings.

Implementação em Python

Em Python, você pode usar o módulo unicodedata para normalizar suas strings, removendo acentos e convertendo aspas inteligentes de volta para aspas retas padrão:

import unicodedata
import re

def clean_for_gsm7(text):
    # Replace common smart quotes and dashes
    replacements = {
        u'\u201c': '"', u'\u201d': '"',
        u'\u2018': "'", u'\u2019': "'",
        u'\u2013': '-', u'\u2014': '-'
    }
    for unicode_char, gsm_char in replacements.items():
        text = text.replace(unicode_char, gsm_char)
    
    # Normalize and strip accents
    normalized = unicodedata.normalize('NFKD', text)
    ascii_text = normalized.encode('ascii', 'ignore').decode('utf-8')
    
    # Remove any remaining non-GSM-7 characters
    gsm7_regex = re.compile(r'[^\n\r a-zA-Z0-9^{}\\\[~\]|€$@!"#%&\'()*+,-./:;<=>?_]')
    cleaned_text = gsm7_regex.sub('', ascii_text)
    
    return cleaned_text

message = "Hello! Your appointment is scheduled for tomorrow at 3 PM. See you there! 😊"
print(clean_for_gsm7(message))
# Output: "Hello! Your appointment is scheduled for tomorrow at 3 PM. See you there! "

Implementação em Node.js (JavaScript)

Para desenvolvedores JavaScript, você pode usar uma abordagem semelhante usando expressões regulares para remover quaisquer caracteres que não estejam em conformidade com o padrão GSM-7:

function sanitizeToGSM7(text) {
    const smartReplacements = {
        '[\u201c\u201d]': '"',
        '[\u2018\u2019]': "'",
        '\u2013': '-',
        '\u2014': '-'
    };

    let cleaned = text;
    for (const [pattern, replacement] of Object.entries(smartReplacements)) {
        cleaned = cleaned.replace(new RegExp(pattern, 'g'), replacement);
    }

    // Remove accents
    cleaned = cleaned.normalize('NFD').replace(/[\u0300-\u036f]/g, '');

    // Keep only GSM-7 compatible characters
    const gsm7Pattern = /[^\n\r a-zA-Z0-9^{}\\\[~\]|€$@!"#%&\'()*+,-.\/:;<=>?_]/g;
    return cleaned.replace(gsm7Pattern, '');
}

const rawMessage = "Your order is ready for pickup! 🚗";
console.log(sanitizeToGSM7(rawMessage)); 
// Output: "Your order is ready for pickup! "

Passo 3: Converter aspas inteligentes e acentos em equivalentes GSM-7

Muitas vezes, caracteres Unicode entram nas suas mensagens por meio de ações de copiar e colar de processadores de texto como o Microsoft Word ou Google Docs. Esses processadores convertem automaticamente aspas retas padrão (' e ") em aspas curvas "inteligentes" (, , , ).

Para evitar que seu sistema envie múltiplos SMS devido a essas pequenas alterações, você pode configurar uma tabela de mapeamento de caracteres. Isso permite manter a legibilidade do seu texto sem acionar o limite de 70 caracteres do UCS-2.

  • Converta e para o apóstrofo padrão '
  • Converta e para as aspas padrão "
  • Converta travessões () e meia-esquadrias () em hifens padrão (-)
  • Converta caracteres acentuados como é, á, í em seus equivalentes sem acento e, a, i

Ao mapear esses caracteres explicitamente, você preserva a aparência profissional de suas mensagens enquanto se mantém estritamente dentro do limite de um único segmento. Isso é particularmente útil para empresas de serviços locais, como clínicas odontológicas, oficinas mecânicas e escolas de idiomas, que precisam manter os custos operacionais baixos ao enviar atualizações automatizadas de consultas.

Passo 4: Mudar para um gateway de SMS com cobrança de segmento de tarifa fixa

Embora a remoção de caracteres Unicode seja uma alternativa funcional, ela força você a comprometer a voz da sua marca. Em 2026, os clientes esperam uma comunicação natural, que muitas vezes inclui emojis, acentos localizados e formatação profissional. Restringir as comunicações com seus clientes a caracteres ASCII básicos apenas para evitar contas de telecomunicações altas não é mais necessário.

Agregadores de nuvem tradicionais como Twilio, Plivo e MessageBird impõem uma cobrança rígida por segmento porque precisam pagar taxas de operadora para cada pacote de dados. Além disso, o uso dessas plataformas legadas exige navegar pelo complexo registro de A2P SMS, aprovações de operadoras 10DLC e taxas mensais recorrentes.

Uma alternativa cada vez mais popular é usar um gateway de SMS baseado em Android, como o MySMSGate. O MySMSGate transforma seus próprios telefones Android e cartões SIM em um dispositivo de envio de SMS totalmente funcional. Como suas mensagens são enviadas diretamente pelo cartão SIM do seu telefone (que normalmente inclui pacotes de SMS locais ilimitados ou com grandes descontos), você ignora totalmente a cobrança tradicional baseada em segmentos.

O MySMSGate cobra uma tarifa fixa de $0.02 por SMS enviado, independentemente de sua mensagem conter caracteres Unicode, emojis ou abranger múltiplos segmentos. Não há assinaturas mensais, sem contratos e sem atrasos no registro da operadora. Se uma mensagem não for entregue, seu saldo será reembolsado automaticamente.

Se você está procurando as melhores alternativas de API de SMS para comparação de SMS em massa, confiabilidade e taxas de entrega, mudar para um gateway de SMS Android resolve todo o problema de cobrança de Unicode na origem.

Passo 5: Configurar o gerenciamento de mensagens de texto de múltiplos números de telefone

Para empresas de serviços locais que operam em vários locais, o gerenciamento da infraestrutura de mensagens pode se complicar rapidamente. Se você gerencia várias filiais — como cinco clínicas odontológicas ou três oficinas mecânicas —, precisa de um sistema que ofereça suporte ao gerenciamento de mensagens de texto de múltiplos números de telefone a partir de uma única interface centralizada.

Com o MySMSGate, você pode conectar um número ilimitado de dispositivos Android a um único painel de conta. Isso permite gerenciar múltiplos números de forma integrada:

  1. Crie sua conta: Registre-se no MySMSGate para obter sua chave de API.
  2. Instale o aplicativo Android: Baixe o aplicativo complementar do MySMSGate em seus dispositivos Android.
  3. Conecte via QR Code: Escaneie o código QR exibido no seu painel web usando a câmera de cada telefone. Isso vincula instantaneamente os dispositivos à sua conta central sem precisar digitar chaves de API complexas.
  4. Gerencie Dual SIMs: Se seus telefones suportarem Dual SIM, você poderá escolher exatamente de qual slot de SIM enviar suas mensagens diretamente no seu painel ou chamada de API.

Essa estrutura de múltiplos dispositivos permite rotear notificações de saída por meio de números locais que seus clientes já reconhecem, melhorando significativamente as taxas de abertura e resposta. Todas as respostas recebidas são encaminhadas automaticamente de volta ao seu painel web de Conversas Web, permitindo bate-papo bidirecional em tempo real diretamente do seu computador.

Passo 6: Enviar seu primeiro SMS seguro contra Unicode via API REST

Se você é um desenvolvedor independente, freelancer ou proprietário de uma empresa técnica, integrar o MySMSGate ao seu software é incrivelmente simples. A plataforma oferece uma API REST limpa com um único endpoint que permite disparar notificações de SMS com configuração mínima.

Aqui está um exemplo de como fazer uma requisição POST para enviar um SMS usando cURL. Observe que você pode incluir emojis e caracteres Unicode especiais sem se preocupar com o aumento do custo por segmento:

curl -X POST https://mysmsgate.net/api/v1/send 
  -H "Authorization: Bearer YOUR_API_KEY" 
  -H "Content-Type: application/json" 
  -d '{
    "to": "+1234567890",
    "message": "Your vehicle is ready for pickup! 🚗 Please reply to this message if you have any questions.",
    "device_id": "your_device_id",
    "sim_slot": 1
  }'

Para implementações mais detalhadas em outras linguagens, você pode explorar a documentação oficial da API MySMSGate, que inclui trechos de código prontos para produção em Python, Node.js, PHP, Go e Ruby, além de conectores pré-construídos para plataformas de automação como Zapier, Make.com e n8n.

Perguntas Frequentes

Aqui estão as respostas para as perguntas mais comuns sobre divisão de SMS por Unicode, limites de caracteres e estruturas de cobrança.

Por que um único emoji faz meu SMS ser enviado como várias mensagens?

As mensagens de texto padrão usam a codificação GSM-7, permitindo até 160 caracteres por segmento. Os emojis não fazem parte do conjunto de caracteres GSM-7. Quando você adiciona um emoji, a operadora precisa mudar a mensagem inteira para a codificação UCS-2 (Unicode), o que reduz o limite do segmento para 70 caracteres. Se a sua mensagem for maior que 70 caracteres, ela será dividida em múltiplos segmentos, e as APIs tradicionais cobrarão por cada segmento.

Como posso verificar se meu texto contém Unicode antes de enviar?

Você pode usar calculadoras online de tamanho de SMS ou executar uma busca simples por regex no seu código para detectar caracteres não compatíveis com GSM-7. Como alternativa, você pode escrever scripts de validação que sinalizem ou removam caracteres não compatíveis com GSM-7 do seu banco de dados antes de passá-los para uma fila de envio de SMS.

O MySMSGate cobra extra por mensagens Unicode ou de múltiplos segmentos?

Não. Ao contrário das APIs tradicionais como Twilio ou Vonage, que cobram por segmento de 160 ou 70 caracteres, o MySMSGate cobra uma taxa fixa de $0.02 por mensagem enviada. Como a mensagem é roteada diretamente pelo cartão SIM do seu telefone Android, você não paga por segmento, o que permite enviar emojis e mensagens longas sem se preocupar com taxas ocultas.

Preciso de registro na operadora ou 10DLC para usar um gateway de SMS Android?

Não. Como o MySMSGate roteia as mensagens através do seu próprio telefone físico Android e cartão SIM, suas mensagens são enviadas como tráfego padrão de pessoa para pessoa (P2P). Isso significa que você não precisa passar pelo registro complexo, caro e demorado do A2P 10DLC, nem esperar por aprovações de operadoras.