回调接口
设置并校验回调地址;
回调消息格式说明;
测试回调功能的方法;
设置回调地址
功能说明
设置并校验回调地址
操作路径
Step1:登入控制台
Step2:进入应用模版
Step3:右侧菜单中选择[短信设置]
Step4:点击选择需要使用的回调接口
设置回调地址
在控制台填写回调地址,回调地址必须以 http:// 或 https:// 开头,不支持自定义端口。填写回调地址后需校验通过后才可以使用,校验规则:极光将给回调 URL 发起一个 GET 请求并附带一个 8 位随机字符串的参数 echostr,开发者需要在 Response Body 里原样输出 echostr 的值。
回调消息格式
回调方式说明
当有回调消息时,将采用 HTTP POST 的方式向开发者填写的回调 URL 提交通知消息。需要注意的是,如果回调失败,那么极光将会在一定的时间间隔后重试,最多重试三次。重试回调的时间间隔分别是 3 分钟、1 小时、12 小时。
回调的基础参数如下
KEY
REQUIRE
DESCRIPTION
nonce
Long
随机长整数
signature
String
签名,结合 appKey、appMasterSecret、nonce、timestamp 生成
timestamp
Long
当前时间戳,毫秒值
type
String
通知类型(SMS_REPORT/SMS_REPLY)
data
String
通知内容,json 字符串,开发者可以根据 type 反序列化 data
signature生成校验规则
将 appKey、appMasterSecret、nonce、timestamp 的值代入生成字符串 appKey={appKey}&appMasterSecret={appMasterSecret}&nonce={nonce}×tamp={timestamp};
对生成的字符串进行 sha1 加密;
开发者把接收到的 signature 和自己本地代码按照同样规则生成的签名作对比,如果一致,则可以认定此回调来自极光。
下行消息送达状态回调参数
CODE
TYPE
DESCRIPTION
msgId
String
API 调用的时候返回的 msg_id
status
Integer
发送状态返回码
receiveTime
Timestamp
短信送达时间
phone
String
短信送达手机号
发送状态返回码
CODE
DESCRIPTION
4001
发送成功
4002
被叫手机号码为运营商黑名单,需联系运营商处理
4003
手机终端问题,手机关机、停机等,请确认手机状态是否正常
4004
被叫手机号码为空号,请核实手机号码是否合规
4005
可发送短信余量不足
4006
发送超频,发送频率超过运营商限制
4007
未应答,语音短信状态,语音短信呼叫成功,用户未接听或拒绝接听
4008
用户正忙,语音短信状态,被叫用户正忙
4009
无法接通,语音短信状态,不在服务区、手机无信号或电话被转入来电提醒等
4010
敏感词拦截,因短信内容存在敏感词导致运营商拦截
4100
其他错误
上行消息内容回调参数
CODE
TYPE
DESCRIPTION
phone
String
主叫号码(用户手机号码)
replyTime
Date
消息送达到极光平台的时间
content