获取状态报告
更新时间:2020-07-12
1. 功能说明
开通此接口功能后,您可以通过接口主动请求获取短信发送状态报告消息。
1.1 功能要点
1.1.1 本功能默认不开启,如需开启请前往“系统设置→开发管理→接口设置→消息接收”页设置;
1.1.2 数据默认保存时间为72小时,且已成功获取的数据将会删除,请妥善处理接口返回的数据;
1.1.3 平台每次返回最大300组内容,考虑到获取效率及性能,建议使用单线程获取,接收数据后再做异步处理;
1.1.4 建议采用POST方法提交请求。时间间隔最好定为1分钟左右;
1.1.5 同一条报告数据,只能被一种方式接收。如:已通过“推送状态报告”接口接收,则“获取状态报告”接口将不会接收;
1.1.6 接口地址:http(s)://api.guoyangyun.com/api/sms/smsReport.htm
1.1.2 数据默认保存时间为72小时,且已成功获取的数据将会删除,请妥善处理接口返回的数据;
1.1.3 平台每次返回最大300组内容,考虑到获取效率及性能,建议使用单线程获取,接收数据后再做异步处理;
1.1.4 建议采用POST方法提交请求。时间间隔最好定为1分钟左右;
1.1.5 同一条报告数据,只能被一种方式接收。如:已通过“推送状态报告”接口接收,则“获取状态报告”接口将不会接收;
1.1.6 接口地址:http(s)://api.guoyangyun.com/api/sms/smsReport.htm
1.2 协议说明
参数 | 说明 |
协议 | HTTP + JSON |
编码 | UTF-8 |
2. 开启HTTP推送
2.1 打开并登录国阳云平台:http://www.guoyangyun.com/webx/user/auth/sign.htm。
2.2 在“接口设置”中,点击“消息接收” 标签页,进行开启/关闭HTTP批量获取。如下图:
2.2 在“接口设置”中,点击“消息接收” 标签页,进行开启/关闭HTTP批量获取。如下图:
3. 请求说明
3.1 HTTP头信息
Accept:application/json;charset=utf-8;
Content-Type:application/x-www-form-urlencoded;charset=utf-8;
3.2 请求参数
参数 | 名称 | 类型 | 必须 | 描述 |
公共参数 | 公共参数 | — | 是 | 详见《公共参数和配置》文档 |
smsid | 消息ID | String | 否 | 要查询的消息ID |
mobile | 手机号码 | String | 否 | 要查询的手机号码 |
startTime | 开始时间 | String | 否 | 查询起始时间(该时间为状态更新时间)。格式:yyyy-mm-dd hh:mm:ss |
endTime | 结束时间 | String | 否 | 查询结束时间(该时间为状态更新时间)。格式:yyyy-mm-dd hh:mm:ss |
3.3 请求示例
http(s)://api.guoyangyun.com/api/sms/smsReport.htm?appkey=123456&appsecret=20a1eb330d41d0d4da
4. 响应说明
4.1 JSON返回参数
参数 | 名称 | 类型 | 描述 |
code | 错误码 | Int | 提交返回结果。0:表示成功,其他:失败。(状态码详见:《公共错误代码定义》) |
msg | 返回信息 | String | 返回信息。 |
num | 记录数 | Int | 若code值为0即成功时,才有该参数。 表示本次取出状态报告记录总数。例num=3表示有3个状态报告记录信息。若Report中num=0表示没有状态报告信息。 |
list | 状态报告信息 | List | 状态报告详细信息 |
receiveStatus | 发送状态 | String | 状态0表示发送成功,其他表示失败 |
smsid | 消息ID | String | 发送短信时,系统返回(或者自己指定)的消息ID |
mobile | 手机号码 | String | 发送的手机号码 |
receiveCode | 状态码 | String | 运营商网关返回的发送状态码。 |
reportTime | 报告时间 | String | 状态报告返回时间 |
desc | 状态描述 | String | 状态码对应的详细描述 |
重要说明:
● 请先使用receiveStatus判断发送状态,如果是0为发送成功,否则为发送失败;
● 如果状态失败,可以参考receiveCode以及desc来获取更详细信息;
● 特别注意,这两个字段为解释型字段,请不要依据这两个字段判断接收状态。
● 请先使用receiveStatus判断发送状态,如果是0为发送成功,否则为发送失败;
● 如果状态失败,可以参考receiveCode以及desc来获取更详细信息;
● 特别注意,这两个字段为解释型字段,请不要依据这两个字段判断接收状态。
4.2 调用成功样例
{
"code":"0",
"msg":"成功",
"num":2,
"list" [
{
"receiveStatus":"0",
"smsid":"155262931459818111848220",
"mobile":"19000000000",
"receiveCode":"DELIVRD"
"reportTime":"2019-03-15 13:55:16",
"desc":"发送成功"
},
{
"receiveStatus":"1",
"smsid":"155262931459818111848221",
"mobile":"18000000000",
"receiveCode":"MN:0000",
"reportTime":"2019-03-15 13:55:16",
"desc":"空号"
}
]
}
4.3.调用失败样例
{
"code":"XXXX",
"msg":"错误提示内容”
}