Programadores

POST/v3/smslength

Calcular a codificação e os segmentos de SMS

Analise o texto final da mensagem sem o enviar nem estimar os custos de entrega.

Nesta página
  1. Analise o texto exato da mensagem
  2. Pedido
  3. Resposta
  4. Codificação e limites dos segmentos
  5. Erros e texto vazio
  6. Utilize o resultado antes de enviar

Analise o texto exato da mensagem

Calcule a codificação, o comprimento codificado e o número de segmentos de SMS do texto que pretende enviar. Este endpoint não envia SMS, não reserva uma rota nem devolve uma cotação do preço de entrega. Forneça o texto final completo, incluindo qualquer rodapé, ligação ou texto para cancelar a receção que o seu fluxo de envio acrescente.

Pedido

Autentique-se com a sua conta de API ativa e o endereço IP de origem autorizado para essa conta. Guarde as credenciais num armazenamento de segredos no servidor. Envie uma cadeia de caracteres UTF-8 no campo text; o exemplo utiliza variáveis de ambiente.

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

São aceites dados de entrada codificados como formulário. Um objeto JSON como {"text":"Your message here"} também é aceite quando não são fornecidos campos de formulário nem parâmetros de consulta. Prefira POST para que o texto da mensagem não apareça num URL. Se estiverem presentes dados de formulário e parâmetros de consulta, são utilizados os dados do formulário. Não misture formatos de pedido.

Resposta

{
  "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 do resultado da calculadora
CampoSignificado
charset0 para GSM-7 ou 2 para UTF-16.
encodingGSM-7 ou UTF-16.
parts, countDois nomes para o número calculado de segmentos de SMS. Ambos são zero quando o texto está vazio.
units, charsDois nomes para as unidades codificadas. Estas não correspondem necessariamente aos caracteres visíveis.
single_limitLimite de unidades codificadas para um único segmento com a codificação selecionada.
multipart_limitLimite de unidades codificadas utilizado em cada segmento após descontar o espaço adicional necessário para a concatenação.

Codificação e limites dos segmentos

Limites utilizados pela calculadora
CodificaçãoSegmento únicoSegmento de uma mensagem concatenada
GSM-7160 septetos153 septetos
UTF-1670 unidades de código67 unidades de código

Os caracteres da extensão GSM-7, como ^, chavetas, parênteses retos, barra invertida, barra vertical, til e símbolo do euro, consomem dois septetos. Um carácter fora de GSM-7 faz com que a mensagem completa passe a ser contada em UTF-16. Um emoji fora do plano multilingue básico utiliza duas unidades UTF-16; uma sequência visível de emoji pode conter vários pontos de código.

Por exemplo, 160 letras comuns de GSM-7 cabem num segmento e 161 requerem dois. Oitenta caracteres ^ utilizam 160 unidades e cabem num segmento; oitenta e um utilizam 162 unidades e requerem dois. Trinta e cinco emoji simples fora do BMP utilizam 70 unidades UTF-16 e cabem num segmento; trinta e seis utilizam 72 unidades e requerem dois. As marcas combinantes e os emoji unidos podem alterar estas contagens.

Erros e texto vazio

A ausência do campo text, um vetor/objeto em vez de um valor escalar ou UTF-8 inválido devolve o código de API 403. Leia no JSON os campos status.code e status.msg, bem como o estado HTTP; este endpoint devolve o código como uma cadeia de caracteres. Uma cadeia vazia é válida e devolve zero unidades e zero segmentos.

Utilize o resultado antes de enviar

A calculadora revista não contém qualquer operação de envio de mensagens, chamada à operadora ou débito na conta. O seu resultado é uma análise do texto fornecido, não uma garantia de entrega nem uma fatura final. O envio pode envolver tarifas por destino, taxas da operadora, requisitos de campanha e transformações adicionais do texto. Volte a calcular depois de alterar a mensagem e, em seguida, utilize o fluxo de envio aprovado e os preços atuais da conta.