Pular para o conteúdo principal

Envio de SMS

Para envio de SMS a partir do Witime, utilize os seguintes parâmetros.

EndPoint  https://sms.witi.me/sms/send.aspx?chave=CHAVE_API
Método     POST
Entrada    JSON com um conjunto de mensagens a serem enviados
Retorno    JSON com resultado do agendamento do envio

informação

A chave de API encontra-se no menu SMS > Configurações SMS.

:::danger Novo Aceitamos requisições nos principais formatos Zenvia, Movile, Twilio, entre outros. Veja mais em Formatos de Entrada. :::

Exemplo CURL

curl --location 'https://sms.witi.me/sms/send.aspx?chave=CHAVE_API&tipo=short&to=%2B5511987654321&msg=teste%2Bmensagem'

:::note Nota Substitua a variável CHAVE_API antes de fazer a chamada CURL. :::

:::note Nota Para fazer o teste de outra(s) rota(s), adicione o parâmetro &rota=X na chamada CURL. Para visualizar as rotas ativas, acesse o menu Configuração SMS > Rota Preferencial. :::

Envio de SMS assíncrono

O envio assíncrono permite que o envio de mensagens seja mais rápido, basta adicionar o argumento async=true ao endpoint:

EndPoint  https://sms.witi.me/sms/send.aspx?chave=CHAVE_API&async=true

:::tip Dica Guarde a Chave retornada pela API, para porteriormente consultar a situação do lote assíncrono. :::

Entrada

Classe Raíz

PropriedadeConteúdo
tipo_enviocommon | token | debug
Padrão: common
referenciaNome de um envio para referencia, não obrigatório.
rotaRota utilizada para envio do SMS. Se não informado, utiliza rota padrão.
mensagensarray de Mensagens

Classe Mensagens

PropriedadeConteúdo
numeroContém o número destino da mensagem a ser enviada, no formado DDD + Número
mensagemTexto da mensagem
DataAgendamentoData e hora que a mensagem deverá ser entregue.
Codigo_clienteCódigo personalizado de livre preenchimento.
templateCódigo do template a ser enviado no lugar do campo 'mensagem'.
TemplateWEBIDWebId do template a ser enviado no lugar do campo 'mensagem'.

Exemplo de Entrada:

{
"tipo_envio": "common",
"referencia": "envio de api",
//"rota": 99,
"mensagens": [
{
"numero": "11999999999",
"mensagem": "mensagem de teste 1",
"DataAgendamento": "2020-07-26 14:30:00",
"Codigo_cliente": "0000001"
},
{
"numero": "11999999998",
"mensagem": "mensagem de teste 2",
"DataAgendamento": "2020-07-26 14:30:00",
"Codigo_cliente": "0000002"
}
]
}

:::danger Atenção com a rota Não se esqueça de informar a rota desejada (comentada no código acima). Ou defina a rota padrão no menu Configuração SMS. :::

Exemplo de Entrada (template):

{
"tipo_envio": "common",
"referencia": "envio de api",
//"rota": 99,
"mensagens": [
{
"template": 123,
"numero": "11999999999"
},
{
"TemplateWEBID": "4095a269-5d88-4bbb-9ff4-db33404d4f52",
"numero": "11999999998"
},
]
}

Saída

O retorno será um JSON com as seguintes características.

Classe Raíz

PropriedadeConteúdo
CodigoResultado0 (zero) Se estiver tudo certo
outro valor caso tenha algum erro
MensagemDescrição da situação
ChaveChave única de identificação deste lote de envio.
Cobradotrue or false
ValorCobradoValor cobrado pelo disparo

Classe Mensagens

PropriedadeConteúdo
numeroContém o número destino da mensagem a ser enviada, no formado DDD + Número
MensagemTexto da mensagem
UniqueIDNúmero único de identificação desta mesagem individual.
DataAgendamentoData e hora que a mensagem deverá ser entregue.
CustoCusto individual da mensagem
IdDisparoCaso tenha sido fornecido uma valor de "referencia", conterá o número único de referência do disparo.
SituacaoCódigo de acordo com a situação da mensagem:

0 Aguardando
1 Pronto para Envio
2 Enviada API
3 Bloqueado
4 Não Enviado Para a API
5 Agendamento Cancelado
6 Não enviado e não cobrado
7 Rejeitado
8 Bloqueado HLR
9 Erro Envio
10 Confirmação Entregue
11 Respondido
12 Retornado (não enviado)
13 Rejeitado sem saldo
15 Moderação
16 Em rota
17 Envio Rápido Travado
18 Envio Rápido em Espera
19 Em processamento
20 Marcada como inválida
21 Na fila
22 Suspensão
23 SMPP Concatenada
24 Marcado para devolução de saldo
42 Redirecionado para a fila
96 Status temporário de entrega
97 Cancelamento Realizado
98 Cancelamento Solicitado
99 Outros Erros
101 Travado para envio
105 Trabalhando
106 Enviado para fila de trabalho
107 Trabalhando na fila
MensagemSituacaoMensagem descritiva da situação da mensagem
Codigo_clienteCódigo informado pelo cliente.
RotaIndica a rota de saída da mensagem

Exemplo de Saída:

{
"Resultado": {
"CodigoResultado": 0,
"Mensagem": "Mensagens enviadas com sucesso",
"Chave": "154d1f4d-2856-4913-80f8-084b20f3e9de",
"Cobrado": true,
"ValorCobrado": 0.20
},
"Mensagens": [
{
"numero": "+5511987654321",
"mensagem": "mensagem de teste 1",
"UniqueID": "31b2c48f-2ea9-4979-a9dd-cbfb927de18f",
"DataAgendamento": "2020-07-26 14:35:08",
"Custo": 0.1000,
"idDisparo": 25,
"Situacao": 1,
"MensagemSituacao": null,
"Codigo_cliente": "0000001",
"Rota": 99
},
{
"numero": "+5511987654321",
"mensagem": "mensagem de teste 2",
"UniqueID": "f795a269-5d88-4bbb-9ff4-db33404d4f52",
"DataAgendamento": "2020-07-26 14:35:08",
"Custo": 0.1000,
"idDisparo": 26,
"Situacao": 1,
"MensagemSituacao": null,
"Codigo_cliente": "0000002",
"Rota": 99
}
],
"Saldo": 5310.94
}

Status de um SMS

Consulta lote assíncrono

Retorna a situação (status) do lote assíncrono.

EndPoint  https://sms.witi.me/sms/consultalote.aspx?chave=CHAVE_API&lote=CHAVE_LOTE
Método     GET
Retorno    JSON com o status da(s) mensagem(ns)

Consulta simples

Retorna a situação (status) atual da mensagem conforme o ID informado.

EndPoint        https://sms.witi.me/sms/getstatus.aspx?chave=CHAVE_API&messageid=MESSAGE_ID
EndPoint SMPP  https://sms.witi.me/sms/getstatus.aspx?chave=CHAVE_API&messageid=MESSAGE_ID&tipo=smpp
Método         GET
Retorno         JSON com o status da mensagem

Consulta em lote

Retorna a situação (status) de acordo com a lista de mensagens informada.

EndPoint        https://sms.witi.me/sms/getstatus.aspx?chave=CHAVE_API
EndPoint SMPP  https://sms.witi.me/sms/getstatus.aspx?chave=CHAVE_API&tipo=smpp
Método         POST
Entrada       Lista JSON com os IDs das mensagens
Retorno         JSON com o status da(s) mensagem(ns)

Exemplo de entrada:

[
"c6f5fd19-124a-4035-983a-471e3c448183",
"2185b568-537c-4702-bc38-a29009aa91c7",
"f586866a-d16a-43c7-98ee-7b86421251d5"
]

Exemplo de entrada SMPP:

[
"2145172767744231",
"3019283749203872",
"6018023984723650"
]

Exemplo de retorno:

{
"Resultado": {
"CodigoResultado": 0,
"Mensagem": "Dados retornados com sucesso, 3 registros",
"Chave": "225f93c6-9a11-49ab-ad52-064cf509cae0",
"Cobrado": false,
"ValorCobrado": 0.0
},
"Mensagens": [
{
"IdEmpresa": 14274,
"IdCallback": 437526,
"Tipo": "DLR",
"IdMensagem": "c6f5fd19-124a-4035-983a-471e3c448183",
"Situacao": 10,
"IdRota": 0,
"IdDisparo": 9258,
"CodOper": 0,
"Mensagem": "Informando o token 488861 vc confirma que leu e está de acordo...",
"Tag": null,
"Cliente_ref": "15||209||0",
"DataSituacao": "2021-11-11T16:01:56.86",
"DataDespacho": "2021-11-11T15:59:05.097",
"DataEntregue": "2021-11-11T16:01:56.923",
"DataResposta": "0001-01-01T00:00:00",
"Remote_Dlr_time": "2021-11-11T16:01:56.86",
"Remote_status": "4-DELIVERE",
"Callback_data_execucao": "2021-11-11T16:02:00",
"Callback_post_content": "[{\"Data\":\"2021-11-11T16:01:56.923\",\"Tipo\":\"DLR\",\"MensagemUniqueId\":\"c6f5fd19-124a-4035-983a-471e3c448183\",\"Situacao\":10,\"SituacaoDescricao\":\"Entregue\",\"Mensagem\":null,\"Cliente_ref\":\"15||209||0\"}]",
"Callback_return_content": "",
"Callback_url": "http://meu-site.com/messages?id=1",
"Callback_return_code": 200,
"Callback_tempo_ms": 437
},
{
"IdEmpresa": 1,
"IdCallback": 0,
"Tipo": "DLR",
"IdMensagem": "2185b568-537c-4702-bc38-a29009aa91c7",
"Situacao": 10,
"IdRota": 0,
"IdDisparo": 0,
"CodOper": 55320,
"Mensagem": "Marcelo, obrigado por falar com nossos atendentes. ",
"Tag": null,
"Cliente_ref": "",
"DataSituacao": "2021-11-11T16:01:56.86",
"DataDespacho": "2021-11-11T15:59:18.24",
"DataEntregue": "2021-11-11T16:01:56.923",
"DataResposta": "0001-01-01T00:00:00",
"Remote_Dlr_time": "2021-11-11T16:01:56.86",
"Remote_status": "4-DELIVERE",
"Callback_data_execucao": "0001-01-01T00:00:00",
"Callback_post_content": "",
"Callback_return_content": "",
"Callback_url": "",
"Callback_return_code": 0,
"Callback_tempo_ms": 0
},
{
"IdEmpresa": 1,
"IdCallback": 0,
"Tipo": "DLR",
"IdMensagem": "f586866a-d16a-43c7-98ee-7b86421251d5",
"Situacao": 10,
"IdRota": 0,
"IdDisparo": 0,
"CodOper": 55320,
"Mensagem": "Jeferson, obrigado por falar com nossos atendentes.",
"Tag": null,
"Cliente_ref": "",
"DataSituacao": "2021-11-11T16:01:56.86",
"DataDespacho": "2021-11-11T15:59:10.783",
"DataEntregue": "2021-11-11T16:01:56.923",
"DataResposta": "0001-01-01T00:00:00",
"Remote_Dlr_time": "2021-11-11T16:01:56.86",
"Remote_status": "4-DELIVERE",
"Callback_data_execucao": "0001-01-01T00:00:00",
"Callback_post_content": "",
"Callback_return_content": "",
"Callback_url": "",
"Callback_return_code": 0,
"Callback_tempo_ms": 0
}
],
"Saldo": 5310.94
}

Cancelar disparo SMS

EndPoint  https://sms.witi.me/sms/cancel.aspx?chave=CHAVE_API
Método     POST
Entrada    JSON com a lista de IDs das mensagens a serem canceladas
Retorno    JSON com resultado do agendamento do envio

:::danger Atenção O cancelamento poderá ser feito em até 5 minutos antes do disparo. :::

Entrada

[
"f586866a-d16a-43c7-98ee-7b86421251d5",
"c6f5fd19-124a-4035-983a-471e3c448183",
...
// máximo de 250 mensagens por requisição
]

Saída

{
"Resultado": {
"CodigoResultado": 0,
"Mensagem": "Mensagens canceladas com sucesso, 2 registros",
"Chave": "325f93a6-9a12-49ab-ad52-064cf509cee0",
"Cobrado": false,
"ValorCobrado": 0.0
},
"Mensagens": [
...
]
}