Saltar al contenido principal

Envío de SMS

Para enviar SMS desde Witime, utiliza los siguientes parámetros.

EndPoint  https://sms.witi.me/sms/send.aspx?chave=API_KEY
Método     POST
Entrada    JSON con un conjunto de mensajes a enviar
Respuesta    JSON con el resultado de la programación del envío

información

La clave API se puede encontrar en el menú SMS > Configuración SMS.

Nuevo

Aceptamos solicitudes en formatos principales como Zenvia, Movile, Twilio, entre otros. Ve más en Formatos de Entrada.

Ejemplo CURL

curl --location 'https://sms.witi.me/sms/send.aspx?chave=API_KEY&type=short&to=%2B5511987654321&msg=test%2Bmessage'
Nota

Reemplaza la variable API_KEY antes de realizar la llamada CURL.

Nota

Para probar otra(s) ruta(s), agrega el parámetro &route=X a la llamada CURL. Para ver las rutas activas, ve a Configuración SMS > Ruta Preferida.

Envío de SMS Asíncrono

El envío asíncrono permite enviar mensajes más rápido, solo agrega el argumento async=true al endpoint:

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

Consejo

Guarda la Key devuelta por la API para verificar el estado del lote asíncrono más tarde.

Entrada

Clase Root

PropiedadContenido
tipo_enviocommon | token | debug
Por defecto: common
referenciaNombre de un envío para referencia, opcional.
rotaRuta utilizada para enviar el SMS. Si no se informa, usa la ruta por defecto.
mensagensarray de Messages

Clase Messages

PropiedadContenido
numeroContiene el número de destino del mensaje a enviar, en el formato Código de Área + Número
mensagemTexto del mensaje
DataAgendamentoFecha y hora en que el mensaje debe ser entregado.
Codigo_clienteCódigo personalizado, libre para llenar.
templateCódigo de plantilla a enviar en lugar del campo 'message'.
TemplateWEBIDWebId de la plantilla a enviar en lugar del campo 'message'.

Ejemplo de entrada:

{
"tipo_envio": "common",
"reference": "api send",
//"rota": 99,
"mensagens": [
{
"numero": "11999999999",
"mensagem": "test message 1",
"DataAgendamento": "2020-07-26 14:30:00",
"Codigo_cliente": "0000001"
},
{
"numero": "11999999998",
"mensagem": "test message 2",
"DataAgendamento": "2020-07-26 14:30:00",
"Codigo_cliente": "0000002"
}
]
}
Atención a la ruta

No olvides informar la ruta deseada (comentada en el código anterior). O configurar la ruta por defecto en el menú Configuración SMS.

Ejemplo de entrada (template):

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

Salida

La respuesta será un JSON con las siguientes características.

Clase Root

PropiedadContenido
CodigoResultado0 (cero) Si todo está correcto
otro valor si hay algún error
MensagemDescripción del estado
ChaveClave de identificación única para este lote de envío.
Cobradotrue o false
ValorCobradoValor cobrado por el envío

Clase Messages

PropiedadContenido
numeroContiene el número de destino del mensaje a enviar, en el formato Código de Área + Número
MensagemTexto del mensaje
UniqueIDNúmero de identificación único para este mensaje individual.
DataAgendamentoFecha y hora en que el mensaje debe ser entregado.
CustoCosto del mensaje individual
IdDisparoSi se proporcionó un valor de "referencia", contiene el número de referencia único del envío.
SituacaoCódigo según el estado del mensaje:

0 Esperando
1 ListoParaEnviar
2 EnviadoAAPI
3 Bloqueado
8 BloqueadoHLR
9 ErrorDeEnvio
10 ConfirmacionEntregado
11 Respondido
99 OtrosErrores
MensagemSituacaoMensaje descriptivo del estado del mensaje
Codigo_clienteCódigo proporcionado por el cliente.
RotaIndica la ruta de salida del mensaje

Ejemplo de salida:

{
"Resultado": {
"CodigoResultado": 0,
"Mensagem": "Messages sent successfully",
"Chave": "154d1f4d-2856-4913-80f8-084b20f3e9de",
"Cobrado": true,
"ValorCobrado": 0.20
},
"Mensagens": [
{
"numero": "+5511987654321",
"mensagem": "test message 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": "test message 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
}

Estado del SMS

Verificar lote asíncrono

Devuelve el estado del lote asíncrono.

EndPoint  https://sms.witi.me/sms/consultalote.aspx?chave=API_KEY&batch=BATCH_KEY
Método     GET
Respuesta    JSON con el estado del/los mensaje(s)

Consulta simple

Devuelve el estado actual del mensaje según el ID proporcionado.

EndPoint        https://sms.witi.me/sms/getstatus.aspx?chave=API_KEY&messageid=MESSAGE_ID
SMPP EndPoint  https://sms.witi.me/sms/getstatus.aspx?chave=API_KEY&messageid=MESSAGE_ID&type=smpp
Método         GET
Respuesta         JSON con el estado del mensaje

Consulta de lote

Devuelve el estado según la lista de mensajes proporcionada.

EndPoint        https://sms.witi.me/sms/getstatus.aspx?chave=API_KEY
SMPP EndPoint  https://sms.witi.me/sms/getstatus.aspx?chave=API_KEY&type=smpp
Método         POST
Entrada       Lista JSON con los IDs de los mensajes
Respuesta         JSON con el estado del/los mensaje(s)

Ejemplo de entrada:

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

Ejemplo de entrada SMPP:

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

Ejemplo de respuesta:

{
"Resultado": {
"CodigoResultado": 0,
"Mensagem": "Data returned successfully, 3 records",
"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": "By providing the token 488861 you confirm that you have read and agree...",
"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\":\"Delivered\",\"Mensagem\":null,\"Cliente_ref\":\"15||209||0\"}]",
"Callback_return_content": "",
"Callback_url": "http://my-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, thank you for talking to our agents.",
"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, thank you for talking to our agents.",
"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 Envío de SMS

EndPoint  https://sms.witi.me/sms/cancel.aspx?chave=API_KEY
Método     POST
Entrada    JSON con la lista de IDs de los mensajes a cancelar
Respuesta    JSON con el resultado de la programación del envío

Atención

La cancelación se puede hacer hasta 5 minutos antes del envío.

Entrada

[
"f586866a-d16a-43c7-98ee-7b86421251d5",
"c6f5fd19-124a-4035-983a-471e3c448183",
...
// maximum of 250 messages per request
]

Salida

{
"Resultado": {
"CodigoResultado": 0,
"Mensagem": "Messages canceled successfully, 2 records",
"Chave": "325f93a6-9a12-49ab-ad52-064cf509cee0",
"Cobrado": false,
"ValorCobrado": 0.0
},
"Mensagens": [
...
]
}