短信发送
要从 Witime 发送短信,请使用以下参数。
EndPoint https://sms.witi.me/sms/send.aspx?chave=API_KEY
Method POST
Input 包含要发送消息集合的 JSON
Response 包含发送调度结果的 JSON
API 密钥可在 SMS > SMS Settings 菜单中找到。
我们接受主要格式的请求,如 Zenvia、Movile、Twilio 等。详情请参阅 输入格式。
CURL 示例
curl --location 'https://sms.witi.me/sms/send.aspx?chave=API_KEY&type=short&to=%2B5511987654321&msg=test%2Bmessage'
在进行 CURL 调用之前,请替换 API_KEY 变量。
要测试其他路由,请在 CURL 调用中添加参数 &route=X。要查看活跃路由,请转到 SMS Settings > Preferred Route。
异步短信发送
异步发送允许更快地发送消息,只需在端点中添加参数 async=true:
EndPoint https://sms.witi.me/sms/send.aspx?chave=API_KEY&async=true
保存 API 返回的 Key 以便稍后 检查异步批次状态。
输入
Root 类
| 属性 | 内容 |
|---|---|
| tipo_envio | common | token | debug 默认: common |
| referencia | 发送名称以供参考,可选。 |
| rota | 用于发送短信的路由。如果未提供,使用默认路由。 |
| mensagens | 消息数组 |
Messages 类
| 属性 | 内容 |
|---|---|
| numero | 包含要发送消息的目标号码,格式为区号 + 号码 |
| mensagem | 消息文本 |
| DataAgendamento | 消息应该发送的日期和时间。 |
| Codigo_cliente | 自定义代码,可自由填写。 |
| template | 要发送的模板代码,代替 'message' 字段。 |
| TemplateWEBID | 要发送的模板的 WebId,代替 'message' 字段。 |
输入示例:
{
"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"
}
]
}
不要忘记告知所需的路由(在上述代码中已注释)。或在 SMS Settings 菜单中设置默认路由。
输入示例(模板):
{
"tipo_envio": "common",
"referencia": "api send",
//"route": 99,
"mensagens": [
{
"template": 123,
"number": "11999999999"
},
{
"TemplateWEBID": "4095a269-5d88-4bbb-9ff4-db33404d4f52",
"number": "11999999998"
},
]
}
输出
响应将是具有以下特征的 JSON。
Root 类
| 属性 | 内容 |
|---|---|
| CodigoResultado | 0 (零) 如果一切正确 其他值 如果有任何错误 |
| Mensagem | 状态描述 |
| Chave | 此发送批次的唯一标识密钥。 |
| Cobrado | true 或 false |
| ValorCobrado | 发送费用 |
Messages 类
| 属性 | 内容 |
|---|---|
| numero | 包含要发送消息的目标号码,格式为区号 + 号码 |
| Mensagem | 消息文本 |
| UniqueID | 此单个消息的唯一标识号。 |
| DataAgendamento | 消息应该发送的日期和时间。 |
| Custo | 单个消息成本 |
| IdDisparo | 如果提供了 "reference" 值,包含发送的唯一参考号。 |
| Situacao | 根据消息状态的代码: 0 Waiting 1 ReadyToSend 2 SentToAPI3 Blocked8 BlockedHLR9 SendingError10 DeliveredConfirmation11 Replied 99 OtherErrors |
| MensagemSituacao | 消息状态的描述性消息 |
| Codigo_cliente | 客户端提供的代码。 |
| Rota | 指示消息的输出路由 |
输出示例:
{
"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
}
短信状态
检查异步批次
返回异步批次的状态。
EndPoint https://sms.witi.me/sms/consultalote.aspx?chave=API_KEY&batch=BATCH_KEY
Method GET
Response 包含消息状态的 JSON
简单检查
根据提供的 ID 返回消息的当前状态。
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
Method GET
Response 包含消息状态的 JSON
批次检查
根据提供的消息列表返回状态。
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
Method POST
Input 包含消息 ID 的 JSON 列表
Response 包含消息状态的 JSON
输入示例:
[
"c6f5fd19-124a-4035-983a-471e3c448183",
"2185b568-537c-4702-bc38-a29009aa91c7",
"f586866a-d16a-43c7-98ee-7b86421251d5"
]
]
SMPP 输入示例:
[
"2145172767744231",
"3019283749203872",
"6018023984723650"
]
响应示例:
{
"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
}
取消短信发送
EndPoint https://sms.witi.me/sms/cancel.aspx?chave=API_KEY
Method POST
Input 包含要取消消息 ID 列表的 JSON
Response 包含发送调度结果的 JSON
取消可以在发送前 5 分钟 内完成。
输入
[
"f586866a-d16a-43c7-98ee-7b86421251d5",
"c6f5fd19-124a-4035-983a-471e3c448183",
...
// maximum of 250 messages per request
]
输出
{
"Resultado": {
"CodigoResultado": 0,
"Mensagem": "Messages canceled successfully, 2 records",
"Chave": "325f93a6-9a12-49ab-ad52-064cf509cee0",
"Cobrado": false,
"ValorCobrado": 0.0
},
"Mensagens": [
...
]
}