Desarrolladores

POST/v3/smslength

Calcular la codificación y los segmentos de un SMS

Analice el texto final del mensaje sin enviarlo ni estimar los cargos de entrega.

En esta página
  1. Analice el texto exacto del mensaje
  2. Solicitud
  3. Respuesta
  4. Codificación y límites de los segmentos
  5. Errores y texto vacío
  6. Utilice el resultado antes de enviar

Analice el texto exacto del mensaje

Calcule la codificación, la longitud codificada y el número de segmentos SMS del texto que desea enviar. Este endpoint no envía SMS, no reserva rutas ni devuelve un presupuesto del precio de entrega. Envíe el texto final completo, incluidos los pies de mensaje, enlaces o textos para darse de baja que añada su flujo de envío.

Solicitud

Autentíquese con su cuenta de API habilitada y su dirección IP de origen permitida. Guarde las credenciales en un almacén de secretos del servidor. Envíe una cadena UTF-8 en el campo text; el ejemplo utiliza variables de entorno.

curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
  --data-urlencode 'text=Your message here' \
  https://api.multitel.net/v3/smslength

Se admiten datos de entrada codificados como formulario. También se acepta un objeto JSON como {"text":"Your message here"} cuando no se proporcionan campos de formulario ni parámetros de consulta. Utilice preferentemente POST para que el texto del mensaje no aparezca en una URL. Si se proporcionan tanto datos de formulario como parámetros de consulta, se utiliza el formulario. No mezcle formatos de solicitud.

Respuesta

{
  "status": {
    "code": "200",
    "msg": ""
  },
  "response": {
    "charset": 0,
    "encoding": "GSM-7",
    "count": 1,
    "parts": 1,
    "chars": 17,
    "units": 17,
    "single_limit": 160,
    "multipart_limit": 153
  }
}
Campos del resultado de la calculadora
CampoSignificado
charset0 para GSM-7 o 2 para UTF-16.
encodingGSM-7 o UTF-16.
parts, countDos nombres para el número calculado de segmentos SMS. Ambos valen cero si el texto está vacío.
units, charsDos nombres para las unidades codificadas. No equivalen necesariamente a los caracteres visibles.
single_limitLímite de unidades codificadas para un solo segmento con la codificación seleccionada.
multipart_limitLímite de unidades codificadas utilizado para cada segmento tras descontar el espacio adicional necesario para la concatenación.

Codificación y límites de los segmentos

Límites utilizados por la calculadora
CodificaciónSegmento únicoSegmento de un mensaje multiparte
GSM-7160 septetos153 septetos
UTF-1670 unidades de código67 unidades de código

Los caracteres de extensión de GSM-7, como ^, las llaves, los corchetes, la barra inversa, la barra vertical, la virgulilla y el signo del euro, consumen dos septetos. Un carácter que no pertenezca a GSM-7 hace que todo el mensaje se cuente en UTF-16. Un emoji fuera del plano multilingüe básico utiliza dos unidades UTF-16; una secuencia de emoji visible puede contener varios puntos de código.

Por ejemplo, 160 letras comunes de GSM-7 caben en un segmento y 161 requieren dos. Ochenta caracteres ^ utilizan 160 unidades y caben en un segmento; ochenta y uno utilizan 162 unidades y requieren dos. Treinta y cinco emoji simples fuera del plano multilingüe básico (BMP) utilizan 70 unidades UTF-16 y caben en un segmento; treinta y seis utilizan 72 unidades y requieren dos. Las marcas combinantes y los emoji unidos pueden cambiar estos recuentos.

Errores y texto vacío

La ausencia del campo text, una matriz o un objeto en lugar de un valor escalar, o una codificación UTF-8 no válida hacen que la API devuelva el código 403. Lea los campos JSON status.code y status.msg, además del estado HTTP; este endpoint devuelve el código como una cadena. Una cadena vacía es válida y devuelve cero unidades y cero segmentos.

Utilice el resultado antes de enviar

La calculadora revisada no incluye envíos de mensajes, llamadas al operador ni cargos en la cuenta. Su resultado es un análisis del texto enviado, no una garantía de entrega ni una factura definitiva. El envío puede estar sujeto a tarifas según el destino, cargos del operador, requisitos de campaña y transformaciones adicionales del texto. Vuelva a calcular después de modificar el mensaje y, a continuación, utilice el flujo de envío aprobado y las tarifas vigentes de la cuenta.