Tamaño de envío para un SMS de 160 caracteres a través de una API SMS HTTP

El tamaño de envío en bytes para un mensaje SMS de 160 caracteres a través de una API SMS HTTP es aproximadamente 640–840 bytes. Esto incluye la carga útil del SMS, los componentes de la solicitud HTTP y la sobrecarga de red. A continuación, un desglose detallado:

1. Tamaño del mensaje SMS

  • Codificación de caracteres: Un SMS estándar utiliza el conjunto de caracteres GSM-7, que soporta 160 caracteres. Cada carácter se codifica en 7 bits, pero el mensaje se empaqueta en una carga útil de 140 bytes (1120 bits) debido a las limitaciones del protocolo SMS.
  • Cálculo: 160 caracteres × 7 bits = 1120 bits = 140 bytes.
  • Nota: Si se usan caracteres no GSM-7 (ej. emojis), el mensaje cambia a codificación UCS-2 (2 bytes por carácter, máximo 70 caracteres). Como la consulta especifica 160 caracteres, se asume GSM-7.

2. Sobrecarga de la solicitud HTTP

La solicitud HTTP POST incluye encabezados y un cuerpo con parámetros como to, from y message.

  • Encabezados: Los encabezados típicos incluyen Authorization, Content-Type y Host. Ejemplo:
  • 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>
            
  • Tamaño de encabezados: Aproximadamente 200–300 bytes, dependiendo de la longitud del token y la URL.
  • Cuerpo: Ejemplo de cuerpo (ej. formato SMSAPI):
  • to=4412334445566&from=Test&message=<mensaje-de-160-caracteres>&format=json
            
  • Desglose del cuerpo:
    • to=4412334445566: ~15 bytes (número de teléfono de 12 dígitos).
    • from=Test: ~9 bytes (ID de remitente corto).
    • message=<mensaje-de-160-caracteres>: ~160 bytes (caracteres GSM-7 en UTF-8).
    • format=json: ~11 bytes.
    • Cuerpo total: ~200 bytes (incluyendo separadores).
  • Solicitud HTTP total: Encabezados (~200–300 bytes) + Cuerpo (~200 bytes) = 400–500 bytes.

3. Sobrecarga de red y protocolo

  • TCP/IP: Añade ~20 bytes (TCP) + ~20 bytes (IP) por paquete, típicamente 1–2 paquetes (~40–80 bytes).
  • TLS: HTTPS añade ~50–100 bytes por sobrecarga de cifrado (handshake, cabeceras de registro).
  • Total: ~100–200 bytes.

4. Tamaño de envío total

  • Carga útil del SMS: 140 bytes.
  • Solicitud HTTP: 400–500 bytes.
  • Red/TLS: 100–200 bytes.
  • Total: 140 + 400–500 + 100–200 = 640–840 bytes.

5. Consideraciones

  • Variaciones de API: Diferentes APIs (ej. Twilio, MessageBird) pueden tener parámetros únicos, alterando ligeramente el tamaño.
  • Segmento único: Un SMS de 160 caracteres cabe en un segmento, por lo que no se necesitan cabeceras de concatenación.
  • Compresión: Raramente usada para solicitudes pequeñas como envíos de SMS.

Respuesta final

El tamaño de envío para un SMS de 160 caracteres a través de una API SMS HTTP es aproximadamente 640–840 bytes. Para valores precisos, consulte el formato de solicitud y configuración de red de la API específica.

More information