短信(Short Message Service)沉淀Kewail多年短信服务技术和经验,帮助广大开发者快速灵活的接入高质量的文字或语音短信服务。
Kewail短信服务接入步骤:
1进入控制台
第一步,登录后台,创建Access Key,生成Access Key ID和Secret Access Key;用于调用接口和识别区分用户数据。
第二步,申请新签名,待相关工作人员审核通过后,即可使用。
第三步,申请新内容模板,待相关工作人员审核通过后,即可使用。
2 调用短信接口
协议 HTTP POST
编码格式 UTF8
URL https://live.kewail.com/sms/v2/sendsinglesms
接口说明 给用户发短信验证码、短信通知,营销短信(内容长度不超过450字)。
注:accesskey请填写您在Kewail上申请到的,random请填成随机数。 2) 请求参数:
参数名称 参数类型 是否必填 说明
accesskey String 是 用户控制台中对应的accesskey
random int 是 随机整数 3) 请求包体:
参数名称 参数类型 是否必填 说明
sig String 是 签名,用于校验用户的合法性;签名用SHA加密,加密的参数顺序为(secretkey=%s&random=%d&time=%d&mobile=%s)
signId String 是 短信签名ID (登录后台页面获取)
templateId String 是 业务在控制台审核通过的模板ID
time long 是 unix时间
type int 是 0:普通短信;1:营销短信(强调:要按需填值,不然会影响到业务的正常使用)
nationcode int 是 国家码(例如:86)
mobile int 是 手机号码
params List 是 短信的变量参数值 ,将短信模板中的变量{0},{1}替换为参数中的值,如果短信模板中没有变量,填null
ext String 否 用户的session内容,Kewailserver回包中会原样返回,可选字段,不需要就填空。 4) 返回值:
名称 类型 返回值
result int 0表示成功(计费依据),非0表示失败错误码
errmsg string 错误的信息,如果是成功则为OK
sid string 标识本次发送id,标识一次短信下发记录
ext string 用户的session内容,Kewailserver回包中会原样返回
surplus int 剩余短信投递量5) 样例demo:
请求的样例如下: https://live.kewail.com/sms/v2/sendsinglesms?accesskey=xxxxx&random=xxxxx
3 包体为json字符串及解析
包体为json字符串,参数如下:
{
“tel”: { //如需使用国际电话号码通用格式,如:"+8613788888888" ,请使用sendisms接口见下注
“nationcode”: “86”, //国家码
“mobile”: “13788888888” //手机号码
},
“signId”: “5aa7ef278475af0e19b05f5b”, //短信签名,如果使用默认签名,该字段可缺省
“templateId”: “5a9599a56fcafe461546b953”, //业务在控制台审核通过的模板ID
//假定这个模板为:您的注册的验证码是:{1},有效时间{2}分钟。
“params”: [
“35558”,
“30”
], //参数,分别对应上面假定模板的{1},{2}
“sig”: “30db206bfd3fea7ef0db929998642c8ea54cc7042a779c5a0d9897358f6e9505”, //app凭证,具体计算方式见下注
“time”: 1457336869, //unix时间戳,请求发起时间,如果和系统时间相差超过10分钟则会返回失败
“extend”: “”, //通道扩展码,可选字段,默认没有开通(需要填空)。
//在短信回复场景中,Kewailserver会原样返回,开发者可依此区分是哪种类型的回复
“ext”: “”, //用户的session内容,Kewailserver回包中会原样返回,可选字段,不需要就填空。
“type”: 0, //0:普通短信;1:营销短信(强调:要按需填值,不然会影响到业务的正常使用)
}
注:
1、“templateId"字段需填写审核通过的模板ID ,上面的请求参数组合后下发的内容为: “【Kewail科技】您注册的验证码:35558有效时间30分钟。” 如果您有多个短信签名,请将需要的短信签名填入"signId"字段 例如您有”【Kewail科技】","【Kewail】“两个签名,但是想以”【Kewail】"签名发送短信,则"signId"字段可赋值为:“Kewail”
2、“extend"字段的配置请联系Kewail短信技术支持
3、sendisms接口,“tel"字段为国际电话号码通用格式,如:”+8613788888888”
4、"sig"字段根据公式sha256(secretkey=%s&random=%d&time=%d)生成SDK。