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/smslengthSã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
}
}| Campo | Significado |
|---|---|
| charset | 0 para GSM-7 ou 2 para UTF-16. |
| encoding | GSM-7 ou UTF-16. |
| parts, count | Dois nomes para o número calculado de segmentos de SMS. Ambos são zero quando o texto está vazio. |
| units, chars | Dois nomes para as unidades codificadas. Estas não correspondem necessariamente aos caracteres visíveis. |
| single_limit | Limite de unidades codificadas para um único segmento com a codificação selecionada. |
| multipart_limit | Limite 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
| Codificação | Segmento único | Segmento de uma mensagem concatenada |
|---|---|---|
| GSM-7 | 160 septetos | 153 septetos |
| UTF-16 | 70 unidades de código | 67 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.