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.
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'
Substitua a variável CHAVE_API
antes de fazer a chamada CURL.
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
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"
}
]
}
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 ProntoParaEnvio 2 EnviadaAPI3 Bloqueado8 BloqueadoHLR9 ErroEnvio10 ConfirmacaoEntregue11 Respondido 99 OutrosErros |
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
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": [
...
]
}