Tamanho de Envio para um SMS de 160 Caracteres via API SMS HTTP

O tamanho de envio em bytes para enviar uma mensagem SMS de 160 caracteres através de uma API SMS HTTP é aproximadamente 640–840 bytes. Isso inclui o conteúdo da mensagem SMS, os componentes da requisição HTTP e a sobrecarga da rede. Abaixo está uma análise detalhada:

1. Tamanho da Mensagem SMS

  • Codificação de Caracteres: Um SMS padrão usa o conjunto de caracteres GSM-7, suportando 160 caracteres. Cada caractere é codificado em 7 bits, mas a mensagem é empacotada em um payload de 140 bytes (1120 bits) devido às restrições do protocolo SMS.
  • Cálculo: 160 caracteres × 7 bits = 1120 bits = 140 bytes.
  • Observação: Se caracteres não-GSM-7 (ex.: emojis) forem usados, a mensagem muda para codificação UCS-2 (2 bytes por caractere, máximo de 70 caracteres). Como a consulta especifica 160 caracteres, assume-se GSM-7.

2. Sobrecarga da Requisição HTTP

A requisição HTTP POST inclui cabeçalhos e um corpo com parâmetros como to, from e message.

  • Cabeçalhos: Cabeçalhos típicos incluem Authorization, Content-Type e Host. Exemplo:
  • POST /sms.do HTTP/1.1
    Host: api.smsapi.com
    Authorization: Bearer token_api_oauth
    Content-Type: application/x-www-form-urlencoded
    Content-Length: <length>
            
  • Tamanho dos Cabeçalhos: Aproximadamente 200–300 bytes, dependendo do tamanho do token e da URL.
  • Corpo: Exemplo de corpo (formato SMSAPI):
  • to=4412334445566&from=Test&message=<160-character-message>&format=json
            
  • Detalhamento do Corpo:
    • to=4412334445566: ~15 bytes (número de telefone de 12 dígitos).
    • from=Test: ~9 bytes (ID de remetente curto).
    • message=<160-character-message>: ~160 bytes (caracteres GSM-7 em UTF-8).
    • format=json: ~11 bytes.
    • Total do Corpo: ~200 bytes (incluindo separadores).
  • Total da Requisição HTTP: Cabeçalhos (~200–300 bytes) + Corpo (~200 bytes) = 400–500 bytes.

3. Sobrecarga de Rede e Protocolo

  • TCP/IP: Adiciona ~20 bytes (TCP) + ~20 bytes (IP) por pacote, tipicamente 1–2 pacotes (~40–80 bytes).
  • TLS: HTTPS adiciona ~50–100 bytes para sobrecarga de criptografia (handshake, cabeçalhos de registro).
  • Total: ~100–200 bytes.

4. Tamanho Total de Envio

  • Payload SMS: 140 bytes.
  • Requisição HTTP: 400–500 bytes.
  • Rede/TLS: 100–200 bytes.
  • Total: 140 + 400–500 + 100–200 = 640–840 bytes.

5. Considerações

  • Variações de API: APIs diferentes (ex.: Twilio, MessageBird) podem ter parâmetros únicos, alterando ligeiramente o tamanho.
  • Segmento Único: Um SMS de 160 caracteres cabe em um segmento, então não são necessários cabeçalhos de concatenação.
  • Compressão: Raramente usada para requisições pequenas como envios de SMS.

Resposta Final

O tamanho de envio para um SMS de 160 caracteres via uma API SMS HTTP é aproximadamente 640–840 bytes. Para valores precisos, verifique o formato de requisição específico da API e a configuração de rede.

More information