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
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
| Propriedade | Conteúdo |
|---|---|
| tipo_envio | common | token | debug Padrão: common |
| referencia | Nome de um envio para referencia, não obrigatório. |
| rota | Rota utilizada para envio do SMS. Se não informado, utiliza rota padrão. |
| mensagens | array de Mensagens |
Classe Mensagens
| Propriedade | Conteúdo |
|---|---|
| numero | Contém o número destino da mensagem a ser enviada, no formado DDD + Número |
| mensagem | Texto da mensagem |
| DataAgendamento | Data e hora que a mensagem deverá ser entregue. |
| Codigo_cliente | Código personalizado de livre preenchimento. |
| template | Código do template a ser enviado no lugar do campo 'mensagem'. |
| TemplateWEBID | WebId 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
| Propriedade | Conteúdo |
|---|---|
| CodigoResultado | 0 (zero) Se estiver tudo certo outro valor caso tenha algum erro |
| Mensagem | Descrição da situação |
| Chave | Chave única de identificação deste lote de envio. |
| Cobrado | true or false |
| ValorCobrado | Valor cobrado pelo disparo |
Classe Mensagens
| Propriedade | Conteúdo |
|---|---|
| numero | Contém o número destino da mensagem a ser enviada, no formado DDD + Número |
| Mensagem | Texto da mensagem |
| UniqueID | Número único de identificação desta mesagem individual. |
| DataAgendamento | Data e hora que a mensagem deverá ser entregue. |
| Custo | Custo individual da mensagem |
| IdDisparo | Caso tenha sido fornecido uma valor de "referencia", conterá o número único de referência do disparo. |
| Situacao | Código de acordo com a situação da mensagem: 0 Aguardando 1 Pronto para Envio 2 Enviada API3 Bloqueado4 Não Enviado Para a API5 Agendamento Cancelado6 Não enviado e não cobrado7 Rejeitado8 Bloqueado HLR9 Erro Envio10 Confirmação Entregue11 Respondido 12 Retornado (não enviado) 13 Rejeitado sem saldo15 Moderação16 Em rota17 Envio Rápido Travado18 Envio Rápido em Espera19 Em processamento20 Marcada como inválida21 Na fila22 Suspensão23 SMPP Concatenada24 Marcado para devolução de saldo42 Redirecionado para a fila96 Status temporário de entrega97 Cancelamento Realizado98 Cancelamento Solicitado99 Outros Erros101 Travado para envio105 Trabalhando106 Enviado para fila de trabalho107 Trabalhando na fila |
| MensagemSituacao | Mensagem descritiva da situação da mensagem |
| Codigo_cliente | Código informado pelo cliente. |
| Rota | Indica 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": [
...
]
}