Cadastro

Diversos

Códigos de resposta da API

Glossário

Lista de status de mensagens SMS possíveis

Codificação de strings em URL

Códigos de resposta da API

Cada resposta a uma requisição à API retorna um array composto por três campos, um dos quais é o code. Este campo contém o status do processamento da requisição e pode servir como guia para as próximas ações por parte do aplicativo cliente. A tabela seguinte apresenta os códigos da API e seus significados:

CódigoDescrição
0Operação concluída com sucesso.
1Erro de validação dos dados transmitidos durante a criação ou atualização de alguma entidade. O campo data apresenta informações sobre quais campos foram preenchidos incorretamente. Deve-se corrigir os erros e repetir a requisição com os novos dados.
2O registro especificado não foi encontrado. Provavelmente foi excluído, o ID do registro está incorreto ou o usuário que tenta acessar este registro não possui os direitos de acesso correspondentes.
3Erro de aplicativo não identificado. Entre em contato com o suporte e informe os detalhes da requisição na qual o erro foi recebido.
4O parâmetro module foi especificado incorretamente. Verifique a ortografia do parâmetro na documentação da API.
5O parâmetro method foi especificado incorretamente. Verifique a ortografia do parâmetro na documentação da API.
6O parâmetro format foi especificado incorretamente. Verifique a ortografia do parâmetro na documentação da API.
8Erro de login no sistema. Ocorre quando:
  • Os dados de login foram informados incorretamente;
  • Durante o uso do sistema, a sessão do usuário expirou ou foi encerrada forçadamente pelo servidor.
Informações mais detalhadas podem ser vistas no campo message.
9Erro de acesso ao método de API especificado.
10Erro durante o salvamento de dados no servidor diretamente no processo de execução desta operação. Normalmente, este erro está relacionado ao acesso simultâneo aos dados por vários clientes ou à alteração das condições de salvamento dos dados durante o processo de salvamento.
11Alguns parâmetros obrigatórios estão ausentes na requisição. Verifique a ortografia dos parâmetros na documentação da API e complete a requisição com os parâmetros necessários.
12O parâmetro de entrada da requisição não satisfaz as condições ou restrições estabelecidas. Este código de erro ocorre quando, ao executar uma requisição com parâmetros, algum parâmetro viola as restrições. É semelhante ao erro de validação de atributos, mas pode ser recebido em requisições que não realizam a criação ou alteração de dados.
13Tentativa de fazer uma requisição a um servidor de API que não atende a este usuário. Se receber este código, o domínio correto pode ser obtido no campo data.
14Este erro ocorre se a conta do usuário estiver bloqueada ou excluída.
15Erro durante a execução de alguma operação não relacionada à atualização de dados. Os detalhes deste erro estão indicados no campo message da resposta da API.
30Erro de excedente do limite de velocidade de requisições permitido. Este erro ocorre em chamadas excessivamente frequentes ao mesmo método de API durante um determinado período de tempo. Em caso de erro, deve-se reduzir a frequência das requisições.
98Operação realizada parcialmente, apenas com parte dos dados. Normalmente, este código é retornado em operações em massa, durante as quais alguns elementos não foram processados devido a erros ou restrições, mas parte dos elementos foi processada. Se receber este código, é possível obter informações sobre quais elementos foram processados e quais não, e com quais erros, acessando o conteúdo do campo data.
99Nenhum dos elementos da operação em massa foi processado. Informações detalhadas sobre os erros em cada elemento específico podem ser obtidas no campo data, e uma descrição geral do erro no campo message.
100Este código não é um erro e significa que a operação foi enviada para execução em segundo plano. Neste caso, o campo data contém o ID da operação em segundo plano, cujo processo e término podem ser monitorados através da API TaskQueue/GetStatus.
999Erro geral do serviço. Os detalhes podem ser obtidos no campo message.

Glossário

ID – identificador único que permite identificar de forma inequívoca o objeto procurado: campanha, grupo, etc.

Cartão de contato – registro na Agenda de Contatos contendo os dados do cliente, tais como: nome completo, e-mail, data de nascimento e outras informações. Deve obrigatoriamente conter um número de telefone.

ID do remetente (Sender ID, nome alfanumérico) – exibido como remetente do SMS no telefone do destinatário em vez do número de telefone.
Existem vários requisitos para os IDs de remetente.

ID compartilhado (do remetente de SMS) – um dos IDs do serviço usado ao enviar uma mensagem caso o usuário não possua IDs ou o ID selecionado não esteja disponível para envio para o número de telefone especificado.

Destinatário (assinante) – usuário de serviços de telefonia móvel para cujo número a mensagem SMS é enviada.

Link curto – endereço URL encurtado (alternativo) para acessar uma página WEB.

O uso de um link curto em vez de um normal minimiza a distorção não intencional da URL – um link curto é mais fácil de memorizar, copiar ou inserir manualmente.

Os dados estatísticos são fornecidos de forma conveniente: é possível ver o número de cliques nas últimas 2 horas, dia, semana, 30 dias ou todo o tempo (para mais detalhes, consulte a seção links curtos).

Além disso, os links curtos são convenientes para uso em SMS. Eles permitem reduzir o custo de envio devido ao menor número de caracteres na mensagem.

Ao usar um link curto criado em nosso serviço, é possível utilizar a função de rastreamento de destinatários que abriram o link.

Link pessoal (link de rastreamento do destinatário) – link curto especial criado com a ajuda do nosso serviço que permite rastrear qual destinatário específico do envio de SMS clicou nele. O link é único para cada destinatário individual de SMS.

Função de rastreamento de destinatários – ferramenta para coletar estatísticas sobre os destinatários que clicaram no link curto incluído na mensagem.

É um meio conveniente e eficaz para análise do público-alvo e avaliação da eficácia da campanha de SMS.

A função está disponível para mensagens SMS que contenham hiperlinks. Para ativar a função, é necessário clicar no botão de substituição do link normal pelo curto no Formulário de Envio de SMS e verificar se a opção "rastrear destinatários" está marcada.

Relatório de entrega de mensagem (DLR) – informação da operadora de telefonia sobre o status de entrega da mensagem SMS ao destinatário.

Campanha de SMS – permite agrupar vários destinatários de um mesmo SMS e analisar os resultados do envio de SMS.

Campanha individual – envio de mensagem para um único número.

Campanha em massa – envio de mensagem para dois ou mais números.

Campanha funcional (de serviço) – inclui mensagens funcionais ou, em outras palavras, mensagens de serviço do sistema, por exemplo, mensagens com código de confirmação de número de formulários.

Campanha de modelo – tipo de campanha de SMS que utiliza uma forma especial de mensagem contendo espaços reservados (placeholders), que são substituídos por texto personalizado para cada destinatário.

Exemplo de modelo

Os espaços reservados estão entre chaves {}.

Texto do modelo com placeholdersTexto que será entregue ao destinatário
Olá, {name}! Seu saldo em {date} é de {balance}{currency}.Olá, Ivan! Seu saldo em 12.09.2019 é de 15.50 BRL.
{name}, o carro chegou ({carNumber}). Telefone do motorista: {driverPhone}.Alexei, o carro chegou (ABC 1234). Telefone do motorista: 099 999 99 99.
Lembramos que você tem uma consulta marcada em {place}. Data da consulta: {date}.Lembramos que você tem uma consulta marcada na Clínica 11.11.2019 às 11:30.

Formulário – ferramenta conveniente para coletar dados sobre clientes, realizar pesquisas eletrônicas, formar uma base de números para envio e muitas outras tarefas.

Com a ajuda dos Formulários, seus clientes podem se inscrever em envios de SMS, notícias, promoções, etc.

Graças ao construtor de campos flexível e intuitivo, você pode criar facilmente um Formulário que seja o mais eficaz possível para suas tarefas.

Além disso, você pode configurar o design do Formulário: escolher a cor do texto, botões, fundo, etc. Você pode saber mais sobre a criação de Formulários na seção “Formulários”.

Lista de status de mensagens SMS possíveis

StatusFinalDescrição
NEWnãoMensagem nova, ainda não foi enviada.
ENQUEUDnãoColocada na fila para envio.
ACCEPTDnãoEnviada pelo sistema e aceita pela operadora para encaminhamento posterior ao destinatário.
UNDELIVsimNão entregue ao destinatário.
REJECTDsimRejeitada pela operadora por um dos muitos motivos – número do destinatário incorreto, texto proibido, ID do remetente não registrado, etc.
PDLIVRDnãoNem todos os segmentos da mensagem foram entregues ao destinatário (este status pode ser apenas para mensagens, não para segmentos). Algumas operadoras retornam o relatório apenas para o primeiro segmento entregue, portanto, tal mensagem, após expirar o tempo de vida, passará para o status definido para o primeiro segmento.
DELIVRDsimEntregue totalmente ao destinatário.
EXPIREDsimA entrega falhou porque o tempo de espera expirou, período durante o qual a mensagem não foi entregue ao destinatário. Geralmente, a entrega é impossível se o telefone do destinatário estiver desligado, fora da área de cobertura ou se a memória do dispositivo estiver cheia. O tempo máximo de espera para entrega é de 24 horas a partir do momento do envio.
DELETEDsimExcluída devido a alguma restrição por parte da operadora de telefonia e não entregue ao destinatário.

Codificação de strings em URL

Em todas as linguagens de servidor existe, de uma forma ou de outra, uma função que retorna uma string na qual todos os caracteres não alfanuméricos, exceto - _ . devem ser substituídos por um sinal de porcentagem (%), seguido por dois números hexadecimais, e os espaços codificados como um sinal de adição (+). A string é codificada da mesma maneira que os dados POST de um formulário web, ou seja, de acordo com o tipo de conteúdo application/x-www-form-urlencoded. Isso difere da codificação conforme a RFC 3986 no fato de que, por razões históricas, os espaços são codificados como um sinal de "mais" (+).

Implementação em várias linguagens de programação

LinguagemFunçãoLink para a documentação
PHPurlencodehttp://php.net/manual/br/function.urlencode.php
.NetHttpUtility.UrlEncode
WebUtility.UrlEncode
https://docs.microsoft.com/en-us/dotnet/api/system.web.httputility.urlencode
https://docs.microsoft.com/en-us/dotnet/api/system.net.webutility.urlencode
Pythonurllib.parse.quote_plushttps://docs.python.org/3/library/urllib.parse.html#urllib.parse.quote_plus
JavaURLEncoder.encodehttps://docs.oracle.com/javase/8/docs/api/java/net/URLEncoder.html
JavaScriptencodeURIComponenthttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent