1 产品概述

短信(Short Message Service)沉淀Kewail多年短信服务技术和经验,帮助广大开发者快速灵活的接入高质量的文字或语音短信服务。

2 功能列表

Kewail短信服务当前支持的功能:

3 请求流程

一次短信(或语音)的业务请求流程如下所示:

 


1. 进入控制台

1) 第一步,登录后台,创建Access Key,生成Access Key ID和Secret Access Key;用于调用接口和识别区分用户数据。

2) 第二步,申请新签名,待相关工作人员审核通过后,即可使用。

2) 第三步,申请新内容模板,待相关工作人员审核通过后,即可使用。

2 调用短信接口
协议 HTTP POST
编码格式 UTF8
URL https://live.kewail.com/sms/v1/sendsinglesms
接口说明 给用户发短信验证码、短信通知,营销短信(内容长度不超过450字)。
注:accesskey请填写您在Kewail上申请到的,random请填成随机数。
参数名称参数类型是否必填说明
accesskey String 用户控制台中对应的accesskey
random int 随机整数
参数名称参数类型是否必填说明
sig String 签名,用于校验用户的合法性;签名用SHA加密,加密的参数顺序为(secretkey=%s&random=%d&time=%d&mobile=%s)
time long unix时间
type int 0:普通短信;1:营销短信(强调:要按需填值,不然会影响到业务的正常使用)
nationcode int 国家码(例如:86)
mobile int 手机号码
msg String 需要匹配审核通过的模板内容
extend String 通道扩展码,可选字段,默认没有开通(需要填空)。
ext String 服务端原样返回的参数,可填空

名称 类型 返回值
result int 0表示成功(计费依据),非0表示失败错误码
errmsg string 错误的信息,如果是成功则为OK
fee int 短信计费的条数
sid string 标识本次发送id,标识一次短信下发记录
ext string 服务端原样返回的参数

请求的样例如下: https://live.kewail.com/sms/v1/sendsinglesms?accesskey=xxxxx&random=xxxxx
3 包体为json字符串及解析

包体为json字符串,参数如下:

		{
    "tel": { //如需使用国际电话号码通用格式,如:"+8613788888888" ,请使用sendisms接口见下注
        "nationcode": "86", //国家码
        "mobile": "13788888888" //手机号码
    }, 
    "type": 0, //0:通知短信;1:营销短信(强调:要按需填值,不然会影响到业务的正常使用)
    "msg": "尊敬的客户:您本次的验证码为:123456", //utf8编码 
    "sig": "30db206bfd3fea7ef0db929998642c8ea54cc7042a779c5a0d9897358f6e9505", //app凭证,具体计算方式见下注
    "time": 1457336869, //unix时间戳,请求发起时间,如果和系统时间相差超过10分钟则会返回失败
    "extend": "", //通道扩展码,可选字段,默认没有开通(需要填空)。
     //在短信回复场景中,Kewailserver会原样返回,开发者可依此区分是哪种类型的回复
    "ext": "", //用户的session内容,Kewailserver回包中会原样返回,可选字段,不需要就填空。
}

					

注: 1、"msg"字段需要匹配审核通过的模板内容
如果您的模板是"尊敬的客户:你的验证码是{1}",则"msg"字段可赋值为:"尊敬的客户:你的验证码是xxxx"。(其中"xxxx"为下发的验证码) 如果您有多个短信签名,请将需要的短信签名放在短信内容前面 例如您有"【Kewail科技】","【Kewail】"两个签名,但是想以"【Kewail】"签名发送短信, 则"msg"字段可赋值为:"【Kewail】尊敬的客户:你的验证码是xxxx"。(其中"xxxx"为下发的验证码)
2、"extend"字段的配置请联系Kewail短信技术支持
3、sendisms接口,"tel"字段为国际电话号码通用格式,如:"+8613788888888"
4、"sig"字段根据公式sha256(secretkey=$accesskey&random=$random&time=$time&mobile=$mobile)生成。

4 SDK

我们为开发者封装了多个平台的 API 供开发者直接使用,以节省开发时间,点击这里查看

 


1. 进入控制台

1) 第一步,登录后台,创建Access Key,生成Access Key ID和Secret Access Key;用于调用接口和识别区分用户数据。

2) 第二步,申请新签名,待相关工作人员审核通过后,即可使用。

2) 第三步,申请新内容模板,待相关工作人员审核通过后,即可使用。

2 调用短信接口
协议 HTTP POST
编码格式 UTF8
URL https://live.kewail.com/sms/v2/sendsinglesms
接口说明 给用户发短信验证码、短信通知,营销短信(内容长度不超过450字)。
注:accesskey请填写您在Kewail上申请到的,random请填成随机数。
参数名称参数类型是否必填说明
accesskey String 用户控制台中对应的accesskey
random int 随机整数
参数名称参数类型是否必填说明
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回包中会原样返回,可选字段,不需要就填空。

名称 类型 返回值
result int 0表示成功(计费依据),非0表示失败错误码
errmsg string 错误的信息,如果是成功则为OK
sid string 标识本次发送id,标识一次短信下发记录
ext string 用户的session内容,Kewailserver回包中会原样返回
surplus int 剩余短信投递量

请求的样例如下: 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)生成

4 SDK

我们为开发者封装了多个平台的 API 供开发者直接使用,以节省开发时间,点击这里查看。

 


1. 进入控制台

1) 第一步,登录后台,创建Access Key,生成Access Key ID和Secret Access Key;用于调用接口和识别区分用户数据。

2 调用短信接口
协议 HTTP GET
编码格式 UTF8
URL http://live.kewail.com/sms/v2/dataQuery?accesskey=xxxx
接口说明 给用户查询用户余额,及短信和邮件的剩余量。
注:accesskey请填写您在Kewail上申请到的。
参数名称参数类型是否必填说明
accesskey String 用户控制台中对应的accesskey

名称 类型 返回值
username String 用户名
balance int 余额
mailBizNum int 商业邮件余量
mailTranNum int 事务邮件余量
smsBizNum int 平台短信余量
smsTranNum int 接口短信余量

请求的样例如下: http://live.kewail.com/sms/v2/dataQuery?accesskey=xxxx
 


1 协议说明

协议 HTTP POST
编码格式 UTF8
URL https://live.kewail.com/sms/v1/sendvoice
接口说明 给用户发语音验证码(支持英文字母、数字及组合)。
注:accesskey请填写您在Kewail上申请到的,random请填成随机数。

请求的样例如下: https://live.kewail.com/sms/v1/sendvoice?accesskey=xxxxx&random=xxxxx
2 请求包体

包体为json字符串,参数如下:

		{
    "tel": {
        "nationcode": "86", //国家码
        "mobile": "13788888888" //手机号码
    }, 
    "msg": "1234", //验证码,支持英文字母、数字及组合;实际发送给用户时,语音验证码内容前会添加"您的验证码是"语音提示。
    "playtimes": 2, //播放次数,可选,最多3次,默认2次
    "sig": "30db206bfd3fea7ef0db929998642c8ea54cc7042a779c5a0d9897358f6e9505", //app凭证,具体计算方式见下注
    "time": 1457336869, //unix时间戳,请求发起时间,如果和系统时间相差超过10分钟则会返回失败
    "ext": "", //用户的session内容,Kewailserver回包中会原样返回,可选字段,不需要就填空。
}

					
									

注:
1、"sig"字段根据公式sha256(secretkey=$accesskey&random=$random&time=$time&mobile=$mobile)生成
伪代码如下:

 
string strMobile = "13788888888"; //tel的mobile字段的内容
string strsecretkey = "dffdfd6029698a5fdf4"; //accesskey对应的accesskey,需要业务方高度保密
string strRand = "7226249334"; //url中的random字段的值
string strTime = "1457336869"; //unix时间戳
string sig = sha256(secretkey=$strsecretkey&random=$strRand&time=$strTime&mobile=$strMobile);

					
3 应答包体
 
{
    "result": 0, //0表示成功,非0表示失败
    "errmsg": "OK", //result非0时的具体错误信息
    "ext": "", //用户的session内容,Kewailserver回包中会原样返回
    "callid": "xxxx" //标识本次发送id,标识一次下发记录
    "fee": 1 //扣费的数量
}

					
 


1 协议说明

协议 HTTP POST
编码格式 UTF8
URL https://live.kewail.com/sms/v1/sendvoice
接口说明 给用户发语音通知(支持中文、英文字母、数字及组合,内容长度不超过100字)。
注:accesskey请填写您在Kewail上申请到的,random请填成随机数。

请求的样例如下: https://live.kewail.com/sms/v1/sendvoice?accesskey=xxxxx&random=xxxxx
2 请求包体

包体为json字符串,参数如下:

		{
    "tel": {
        "nationcode": "86", //国家码
        "mobile": "13788888888" //手机号码
    }, 
    "prompttype": 2, //语音类型,目前固定为2
    "promptfile": "语音内容文本", //通知内容,utf8编码,支持中文英文、数字及组合,需要和语音内容模版相匹配
    "playtimes": 2, //播放次数,可选,最多3次,默认2次
    "sig": "30db206bfd3fea7ef0db929998642c8ea54cc7042a779c5a0d9897358f6e9505", //app凭证,具体计算方式见下注
    "time": 1457336869, //unix时间戳,请求发起时间,如果和系统时间相差超过10分钟则会返回失败
    "ext": "", //用户的session内容,Kewailserver回包中会原样返回,可选字段,不需要就填空。
}

					
									

注:
1、"sig"字段根据公式sha256(secretkey=$accesskey&random=$random&time=$time&mobile=$mobile)生成
伪代码如下:

 
string strMobile = "13788888888"; //tel的mobile字段的内容
string strsecretkey = "dffdfd6029698a5fdf4"; //accesskey对应的accesskey,需要业务方高度保密
string strRand = "7226249334"; //url中的random字段的值
string strTime = "1457336869"; //unix时间戳
string sig = sha256(secretkey=$strsecretkey&random=$strRand&time=$strTime&mobile=$strMobile);

					
3 应答包体
 
{
    "result": 0, //0表示成功,非0表示失败
    "errmsg": "OK", //result非0时的具体错误信息
    "ext": "", //用户的session内容,Kewailserver回包中会原样返回
    "callid": "xxxx" //标识本次发送id,标识一次下发记录
}

					
 


1 协议说明

协议 HTTP POST
编码格式 UTF8
URL https://live.kewail.com/sms/v1/saveTemplate
接口说明 添加短信(或语音)模板
注:accesskey请填写您在Kewail上申请到的,random请填成随机数。

请求的样例如下: https://live.kewail.com/sms/v1/saveTemplate?accesskey=xxxxx&random=xxxxx
2 请求包体

包体为json字符串,参数如下:

		{
	"accesskey": "xxxxx", //accesskey ,可登陆系统查看
    "sig": "30db206bfd3fea7ef0db929998642c8ea54cc7042a779c5a0d9897358f6e9505", //app凭证,具体计算方式见下注
    "time": 1457336869, //unix时间戳,请求发起时间,如果和系统时间相差超过10分钟则会返回失败
    "remark": "xxxxx", //模板备注,比如申请原因,使用场景等,可选字段
    "content": "xxxxx", //模板内容
}

					
									

注:
"sig"字段根据公式sha256(secretkey=$accesskey&random=$random&time=$time)生成
伪代码如下:


string secretkey = "dffdfd6029698a5fdf4"; //accesskey对应的secretkey,需要业务方高度保密
string random = "7226249334"; //url中的random字段的值
string time = "1457336869"; //unix时间戳
string sig = sha256(secretkey=$secretkey&random=$random&time=$time);
3 应答包体
 
{
    "result": 0, //0表示成功,非0表示失败
    "errmsg": "", //result非0时的具体错误信息
    "data": {
        "_id": 123, //模板id
        "content": "xxxxx", //模板内容
        "status": 1, //0:待审核;1:已通过;2:已拒绝
        "userId": xxx //用户Id
    }
}

					
 


1 协议说明

协议 HTTP POST
编码格式 UTF8
URL https://live.kewail.com/sms/v1/updateTemplate
接口说明 修改短信(或语音)模板
注:accesskey请填写您在Kewail上申请到的,random请填成随机数。

请求的样例如下: https://live.kewail.com/sms/v1/updateTemplate?accesskey=xxxxx&random=xxxxx
2 请求包体

包体为json字符串,参数如下:

		{
    "sig": "30db206bfd3fea7ef0db929998642c8ea54cc7042a779c5a0d9897358f6e9505", //app凭证,具体计算方式见下注
    "time": 1457336869, //unix时间戳,请求发起时间,如果和系统时间相差超过10分钟则会返回失败
    "content": "xxxxx", //新的模板内容
    "templateId": 123, //待修改的模板的模板id
}

					
									

注:
"sig"字段根据公式sha256(secretkey=$accesskey&random=$random&time=$time)生成
伪代码如下:


string secretkey = "dffdfd6029698a5fdf4"; //accesskey对应的accesskey,需要业务方高度保密
string random = "7226249334"; //url中的random字段的值
string time = "1457336869"; //unix时间戳
string sig = sha256(secretkey=$secretkey&random=$random&time=$time);
3 应答包体
 
{
    "result": 0, //0表示成功,非0表示失败
    "errmsg": "", //result非0时的具体错误信息
    "data": {
        "_id": 123, //模板id
        "content": "xxxxx", //模板内容
        "status": 1, //0:待审核 1:已通过;;2:已拒绝
        "userId": xx //用户Id
    }
}

					
 


1 协议说明

协议 HTTP POST
编码格式 UTF8
URL 举例:
接口说明 删除短信(或语音)模板
注:accesskey请填写您在Kewail上申请到的,random请填成随机数。
2 请求包体

包体为json字符串,参数如下:

		{
    "sig": "30db206bfd3fea7ef0db929998642c8ea54cc7042a779c5a0d9897358f6e9505", //app凭证,具体计算方式见下注
    "time": 1457336869, //unix时间戳,请求发起时间,如果和系统时间相差超过10分钟则会返回失败
    "tpl_id": [123, 124...] //模板id,也可以通过值指定一个"tpl_id":123
}

					
									

注:
"sig"字段根据公式sha256(secretkey=$accesskey&random=$random&time=$time)生成
伪代码如下:


string strAppkey = "dffdfd6029698a5fdf4"; //accesskey对应的accesskey,需要业务方高度保密
string strRand = "7226249334"; //url中的random字段的值
string strTime = "1457336869"; //unix时间戳
string sig = sha256(secretkey=$strAppkey&random=$strRand&time=$strTime);
3 应答包体
 
{
    "result": 0, //0表示成功,非0表示失败
    "msg": "" //result非0时的具体错误信息
}

					
 


1 协议说明

协议 HTTP POST
编码格式 UTF8
URL https://live.kewail.com/sms/v1/findTemplate
接口说明 查询申请的短信(或语音)模板状态
注:accesskey请填写您在Kewail上申请到的,random请填成随机数。

请求的样例如下: https://live.kewail.com/sms/v1/findTemplate?accesskey=xxxxx&random=xxxxx
2 请求包体

包体为json字符串,参数如下:

		{
    "sig": "30db206bfd3fea7ef0db929998642c8ea54cc7042a779c5a0d9897358f6e9505", //app凭证,具体计算方式见下注
    "time": 1457336869, //unix时间戳,请求发起时间,如果和系统时间相差超过10分钟则会返回失败
    "templateId": 123 //查询指定模版id的信息
       
}
	
									

注:
"sig"字段根据公式sha256(secretkey=$accesskey&random=$random&time=$time)生成
伪代码如下:


string secretkey = "dffdfd6029698a5fdf4"; //accesskey对应的accesskey,需要业务方高度保密
string random = "7226249334"; //url中的random字段的值
string time = "1457336869"; //unix时间戳
string sig = sha256(secretkey=$secretkey&random=$random&time=$time);
3 应答包体
 
{
    "result": 0, //0表示成功,非0表示失败
    "errmsg": "", //result非0时的具体错误信息
    "data": 
        {
            "_id": 123, //模板id
            "content": "xxxxx", //模板内容
            "status": 0, //0:待审核;1:已通过;2:已拒绝
            "userId": 0 //用户Id
        }
    
}

					
 


1 协议说明

协议 HTTP POST
编码格式 UTF8
URL 举例:
接口说明 添加短信签名
注:accesskey请填写您在Kewail上申请到的,random请填成随机数。
2 请求包体

包体为json字符串,参数如下:

		{
    "sig": "30db206bfd3fea7ef0db929998642c8ea54cc7042a779c5a0d9897358f6e9505", //app凭证,具体计算方式见下注
    "time": 1457336869, //unix时间戳,请求发起时间,如果和系统时间相差超过10分钟则会返回失败
    "remark": "xxxxx", //签名备注,比如申请原因,使用场景等,可选字段
    "text": "xxxxx" //签名内容,不带【】,例如:【Kewail科技】这个签名,这里填"Kewail科技"
}

									

注:
"sig"字段根据公式sha256(secretkey=$accesskey&random=$random&time=$time)生成
伪代码如下:


string strAppkey = "dffdfd6029698a5fdf4"; //accesskey对应的accesskey,需要业务方高度保密
string strRand = "7226249334"; //url中的random字段的值
string strTime = "1457336869"; //unix时间戳
string sig = sha256(secretkey=$strAppkey&random=$strRand&time=$strTime);
3 应答包体
 
{
    "result": 0, //0表示成功,非0表示失败
    "msg": "", //result非0时的具体错误信息
    "data": {
        "id": 123, //签名id
        "text": "xxxxx", //签名内容
        "status": 1, //0:已通过;1:待审核;2:已拒绝
    }
}

					
 


1 协议说明

协议 HTTP POST
编码格式 UTF8
URL 举例:
接口说明 修改短信签名
注:accesskey请填写您在Kewail上申请到的,random请填成随机数。
2 请求包体

包体为json字符串,参数如下:

		{
    "sig": "30db206bfd3fea7ef0db929998642c8ea54cc7042a779c5a0d9897358f6e9505", //app凭证,具体计算方式见下注
    "time": 1457336869, //unix时间戳,请求发起时间,如果和系统时间相差超过10分钟则会返回失败
    "remark": "xxxxx", //新的签名备注,比如申请原因,使用场景等,可选字段
    "text": "xxxxx", //新的签名内容,不带【】,例如:改为【Kewail科技】这个签名,这里填"Kewail科技"
    "sign_id": 123 //待修改的签名对应的签名id
}

									

注:
"sig"字段根据公式sha256(secretkey=$accesskey&random=$random&time=$time)生成
伪代码如下:


string strAppkey = "dffdfd6029698a5fdf4"; //accesskey对应的accesskey,需要业务方高度保密
string strRand = "7226249334"; //url中的random字段的值
string strTime = "1457336869"; //unix时间戳
string sig = sha256(secretkey=$strAppkey&random=$strRand&time=$strTime);
3 应答包体
 
{
    "result": 0, //0表示成功,非0表示失败
    "msg": "", //result非0时的具体错误信息
    "data": {
        "id": 123, //签名id
        "text": "xxxxx", //签名内容
        "status": 1, //0:已通过;1:待审核;2:已拒绝
    }
}

					
 


1 协议说明

协议 HTTP POST
编码格式 UTF8
URL 举例:
接口说明 删除短信签名
注:accesskey请填写您在Kewail上申请到的,random请填成随机数。
2 请求包体

包体为json字符串,参数如下:

		{
    "sig": "30db206bfd3fea7ef0db929998642c8ea54cc7042a779c5a0d9897358f6e9505", //app凭证,具体计算方式见下注
    "time": 1457336869, //unix时间戳,请求发起时间,如果和系统时间相差超过10分钟则会返回失败
    "sign_id": [123, 124...] //签名id,也可以通过值指定一个"sign_id":123
}

									

注:
"sig"字段根据公式sha256(secretkey=$accesskey&random=$random&time=$time)生成
伪代码如下:


string strAppkey = "dffdfd6029698a5fdf4"; //accesskey对应的accesskey,需要业务方高度保密
string strRand = "7226249334"; //url中的random字段的值
string strTime = "1457336869"; //unix时间戳
string sig = sha256(secretkey=$strAppkey&random=$strRand&time=$strTime);
3 应答包体
 
{
    "result": 0, //0表示成功,非0表示失败
    "msg": "" //result非0时的具体错误信息
}

					
 


1 协议说明

协议 HTTP POST
编码格式 UTF8
URL 举例:
接口说明 查询申请的短信签名状态
注:accesskey请填写您在Kewail上申请到的,random请填成随机数。
2 请求包体

包体为json字符串,参数如下:

		{
    "sig": "30db206bfd3fea7ef0db929998642c8ea54cc7042a779c5a0d9897358f6e9505", //app凭证,具体计算方式见下注
    "time": 1457336869, //unix时间戳,请求发起时间,如果和系统时间相差超过10分钟则会返回失败
    "sign_id": [123, 124...] //签名id,也可以通过值指定一个"sign_id":123
}

									

注:
"sig"字段根据公式sha256(secretkey=$accesskey&random=$random&time=$time)生成
伪代码如下:


string strAppkey = "dffdfd6029698a5fdf4"; //accesskey对应的accesskey,需要业务方高度保密
string strRand = "7226249334"; //url中的random字段的值
string strTime = "1457336869"; //unix时间戳
string sig = sha256(secretkey=$strAppkey&random=$strRand&time=$strTime);
3 应答包体
 
{
    "result": 0, //0表示成功,非0表示失败
    "msg": "", //result非0时的具体错误信息
    "count": 3, //result为0时有效,返回的信息条数,信息内容在data字段中
    "data": [
        {
            "id": 123, //签名id
            "text": "xxxxx", //签名内容
            "status": 0, //0:已通过;1:待审核;2:已拒绝
            "reply": "xxxxx" // 审批信息,如果status为2,会说明拒绝原因
        },...
    ]
}

					
 


1 协议说明

协议 HTTP POST
编码格式 UTF8
URL 举例:
接口说明 拉取一段时间短信发送状态(发送量,成功量,计费条数)
注:accesskey请填写您在Kewail上申请到的,random请填成随机数。
2 请求包体

包体为json字符串,参数如下:

		{
    "sig": "30db206bfd3fea7ef0db929998642c8ea54cc7042a779c5a0d9897358f6e9505", //app凭证,具体计算方式见下注
    "time": 1457336869, //unix时间戳,请求发起时间,如果和系统时间相差超过10分钟则会返回失败
    "begin_date": 2016090800, //yyyymmddhh需要拉取的起始时间,精确到小时
    "end_date": 2016090823 //yyyymmddhh需要拉取的截止时间,精确到小时
}

									

注:
"sig"字段根据公式sha256(secretkey=$accesskey&random=$random&time=$time)生成
伪代码如下:


string strAppkey = "dffdfd6029698a5fdf4"; //accesskey对应的accesskey,需要业务方高度保密
string strRand = "7226249334"; //url中的random字段的值
string strTime = "1457336869"; //unix时间戳
string sig = sha256(secretkey=$strAppkey&random=$strRand&time=$strTime);
3 应答包体
 
{
    "result": 0, //0表示成功,非0表示失败
    "errmsg": "OK", //result非0时的具体错误信息
    "data": { //result为0时有效 
        "request": 101, //短信提交量
        "success": 100, //短信提交成功量
        "bill_number": 120 // 短信计费条数,比如提交成功量中有20条是长短信80个字节,拆分成2条,计费条数=80*1+20*2=120条
    }
}

					
 


1 协议说明

协议 HTTP POST
编码格式 UTF8
URL 举例:
接口说明 拉取一段时间短信回执状态(提交成功量,回执量,回执成功量,回执失败量及失败分布)
注:accesskey请填写您在Kewail上申请到的,random请填成随机数。
2 请求包体

包体为json字符串,参数如下:

		{
    "sig": "30db206bfd3fea7ef0db929998642c8ea54cc7042a779c5a0d9897358f6e9505", //app凭证,具体计算方式见下注
    "time": 1457336869, //unix时间戳,请求发起时间,如果和系统时间相差超过10分钟则会返回失败
    "begin_date": 2016090800, //yyyymmddhh需要拉取的起始时间,精确到小时
    "end_date": 2016090823 //yyyymmddhh需要拉取的截止时间,精确到小时
}

									

注:
"sig"字段根据公式sha256(secretkey=$accesskey&random=$random&time=$time)生成
伪代码如下:


string strAppkey = "dffdfd6029698a5fdf4"; //accesskey对应的accesskey,需要业务方高度保密
string strRand = "7226249334"; //url中的random字段的值
string strTime = "1457336869"; //unix时间戳
string sig = sha256(secretkey=$strAppkey&random=$strRand&time=$strTime);
3 应答包体
 
{
    "result": 0, //0表示成功,非0表示失败
    "errmsg": "OK", //result非0时的具体错误信息
    "data": { //result为0时有效
        "success": 100, //短信提交成功量
        "status": 90, //短信回执量
        "status_success": 80, //短信回执成功量
        "status_fail": 10, //短信回执失败量
        "status_fail_0": 2, //运营商内部错误
        "status_fail_1": 2, //号码无效或空号
        "status_fail_2": 2, //停机、关机等
        "status_fail_3": 2, //黑名单
        "status_fail_4": 2 //运营商频率限制
    }
}

					
 


1 协议说明

 


进入短信控制台,点击左侧的统计数据按钮后,可以看到您发送短信的统计分析。

1 数据总览

在选定应用后,您可以查看今天、昨天、最近7天,最近30天或指定时间段的短信发送量和发送成功率。

2 短信查询

在选定应用后,可以查看单个手机号在指定时间段的短信下发记录。

3 模版查询

在选定应用,输入模版ID后,可查看指定时间内该模版的短信发送量和发送成功率。

 


1 短信发送错误码

错误码原因解决方案
1001sig校验失败请核对API的sig格式说明
1002短信/语音内容中含有敏感词应答包会返回该敏感词,请去掉该敏感词后重新发送
1003请求包体没有sig字段或sig为空请遵守API接口说明规范
1004请求包解析失败,通常情况下是由于没有遵守API接口说明规范导致的可参考1004错误详解
1006请求没有权限,比如没有扩展码权限等请查看错误提示语说明,如还有问题请提供失败手机号联系客服
1007其他错误请查看错误提示语说明,如还有问题请提供失败手机号联系客服
1008请求下发短信/语音超时出现概率很低,可重试解决
1009请求ip不在白名单中您配置了校验请求来源ip,但是检测到当前请求ip不在配置列表中,如有需要请联系客服
1011不存在该REST API接口请核查REST API接口说明
1012签名格式错误或者签名未审批签名只能由中英文、数字组成,要求2~8个字;如果符合签名格式规范,请核查签名是否已审批
1013下发短信/语音命中了频率限制策略可自行到控制台调整短信频率限制策略;语音如有需要请联系客服
1014模版未审批或请求的内容与审核通过的模版内容不匹配可参考1014错误详解
1015手机号在黑名单库中,通常是用户退订或者命中运营商黑名单导致的可联系客服解决
1016手机号格式错误请核查下发短信/语音的用户手机号格式是否正确
1017请求的短信内容太长短信内容长度超过限制,请调整短信长度
1018语音验证码格式错误请遵守API接口说明规范
1019accesskey不存在
1020accesskey已禁用此accesskey禁止提供服务,如有需要请联系客服
1021请求发起时间不正常,通常是由于您的服务器时间与Kewail服务器时间差异超过10分钟导致的请核对服务器时间及API接口中的时间字段是否正常
1022业务短信日下发条数超过设定的上限可自行到控制台调整短信频率限制策略
1023单个手机号30秒内下发短信条数超过设定的上限可自行到控制台调整短信频率限制策略
1024单个手机号1小时内下发短信条数超过设定的上限可自行到控制台调整短信频率限制策略
1025单个手机号日下发短信条数超过设定的上限可自行到控制台调整短信频率限制策略
1026单个手机号下发相同内容超过设定的上限可自行到控制台调整短信频率限制策略
1027商业或事务发送没有投递量请购买套餐
1028json参数错误请检查发送的json参数

2 状态回执错误码

代码分类原因解决方案
DELIVRD三网用户短信接收成功
MX:0003三网单个手机号码当天下行条数超过该签名日上限请联系客服解除限制
REJECTD三网短消息因某种原因被拒绝请核实手机终端是否处于正常状态
MX:0012三网目标号码在客户退订黑名单中用户回复上行退订信息后加黑的,请联系客服解除黑名单
MX:0011三网目标号码在禁1年黑名单中禁1年黑名单中的号码均为恶意投诉号码,或是多次投诉的高危号码
BWLIST _006三网网关黑名单
UNDELIV移动空号、停机或关机请核实手机终端是否处于正常状态
MI:0013移动停机或关机
MN:0001移动空号、停机或关机请核实手机终端是否处于正常状态
MK:0012移动空号请核实手机终端是否处于正常状态
MK:0005移动该短消息的被叫用户的开户数据的21号增值业务属性是否支持如号码状态正常,可请用户自行拨打当地运营商客服电话确认手机端短信业务是否开启
MK:0005移动呼叫被禁止。该用户的短消息业务被禁止了。在维测台中的错误值为5。在ETSI GSM 0902协议中定义为13。请核实手机终端是否处于正常状态
MK:0000移动号码为空号请核实手机终端是否处于正常状态
MN:0054移动空号、停机或关机请核实手机终端是否处于正常状态
MK:0001移动MK0001是HLR查无此号,短信中心返回状态为无法识别被叫号码。说明用户发送的号码有误请核实手机终端是否处于正常状态
EXPIRED移动短消息超过有效期手机终端长时间未响应,导致短信接收失败
MI:0024移动停机或关机
MI:0011移动空号、停机或关机
MC:0151移动空号、停机或关机
IC:0001移动停机或关机
MI:0029移动停机或关机
MI:0005移动空号、停机或关机
MK:0004移动停机或关机
MI:0000移动空号、停机或关机
MI:0022移动移动网关的内部错误请核实手机终端是否处于正常状态
IA:0054移动超时未接收到响应消息请核实手机终端是否处于正常状态,可请用户重启手机后再次测试看看
MC:0055移动由于用户不在服务区或内存满导致发送失败请核实手机终端是否处于正常状态
MN:0059移动空号、停机或关机请核实手机终端是否处于正常状态
MN:0036移动用户当时不在服务区请核实手机终端是否处于正常状态,主要为用户端忙碌导致短信下发失败
MI:0004移动空号、停机或关机
MI:0020移动空号、停机或关机
MK:0029移动暂时无法接通请核实手机终端是否处于正常状态
MI:0084移动空号、停机或关机
MK:0024移动下发短消息时,目的手机关机,导致该短消息下发失败。请核实手机终端是否处于正常状态
MK00001移动手机终端是空号请核实手机终端是否处于正常状态
MI:0017移动空号、停机或关机
MK:0015移动下发短消息时,手机在接收过程出现软件问题。例如,手机重启后,处理短消息部分软件没有初始化完成,此时无法正常处理短消息。请核实手机终端是否处于正常状态
MN:0029移动空号、停机或关机请核实手机终端是否处于正常状态
IC:0151移动空号、停机或关机请核实手机终端是否处于正常状态
MN:0075移动运营商内部错误
MK:0010移动暂时无法接通请核实手机终端是否处于正常状态
IC:0015移动运营商内部错误
BEYONDN移动运营商内部错误
MI:0055移动空号、停机或关机
MI:0010移动号码已失效
MC00151移动运营商内部错误
IC:0055移动运营商内部错误
MB:1078移动运营商内部错误请提供具体号码给客服,下工单向运营商核实
MN00001移动运营商内部错误
ID:0013移动运营商内部错误
MC:0001移动未知错误
MK:0017移动手机内存满。手机保存短消息的空间已满,需要清除保存的短消息,释放空间。
MI:0081移动运营商内部错误
DA:0054移动超时未接收到响应消息请核实手机终端是否处于正常状态
MB:1042移动SMC内存中缓存的、要下发给被叫用户的短消息数超过了该用户的最大下发数。检查该被叫号码在SMC内存中的短消息积压情况。若达到了该被叫实体的最大下发数,请稍后再提交。
ERR_NUM移动被叫号码不正确或被限制请核实手机终端是否处于正常状态
MI:0054移动空号、停机或关机
MK:0011移动停机或关机
MN:0052移动运营商内部错误
MK:0008移动用户当前所在地区信号不好,无法接收短消息。请核实手机终端是否处于正常状态
IA:0073移动运营商内部错误
IA:0051移动运营商内部错误
MK:0075移动空号、停机或关机请核实手机终端是否处于正常状态
MN:0022移动空号、停机或关机请核实手机终端是否处于正常状态
MN:0020移动移动网关的内部错误请核实手机终端是否处于正常状态
MI00029移动运营商内部错误
MI:0008移动移动网关的内部错误
MI:0012移动非法设备请核实手机终端是否处于正常状态
MN:0012移动空号、停机或关机请核实手机终端是否处于正常状态
MI:0059移动空号、停机或关机
MN:0050移动空号、停机或关机请核实手机终端是否处于正常状态
MN:0017移动短消息被拒绝请核实手机终端是否处于正常状态
MI:0045移动移动网关的内部错误
MN:0055移动运营商内部错误
NOROUTE移动查找路由失败
MI:0036移动移动网关的内部错误
MB:1077移动黑名单,用户在移动公司有恶意投诉记录需要用户自己与移动运营商10086沟通解除
MK:0020移动运营商内部错误
MK:0022移动运营商内部错误
MN:0053移动运营商内部错误
DB:0505移动运营商内部错误
ID:0070移动运营商内部错误
MX:0002移动向上级通道提交短信失败
DB:0141移动曾多次投诉移动或者工信部的黑名单无法解除
MA:0051移动运营商内部错误
IB:0008移动运营商内部错误
MI00000移动消息在短信中心过期
DB:0164移动运营商黑名单
MK:0013移动空号
DB:0144移动用户在全局黑名单中
BWLIST移动网关黑名单请联系客服解除黑名单
HD:19移动网关黑名单请联系客服解除黑名单
MI00020移动短信下发手机终端失败ErrorinMS
MI:0041移动运营商内部错误
MC:0055_006移动由于用户不在服务区或内存满导致发送失败请核实手机终端是否处于正常状态
MI:0064移动运营商内部错误
ERR_NUM_006移动被叫号码不正确或被限制请核实手机终端是否处于正常状态
MI:0057移动运营商内部错误
MI:0056移动响应超时请核实手机终端是否处于正常状态
MN:0098移动运营商内部错误
MK:0036移动来自MSC的未知错误。
MN:0019移动运营商内部错误
MI:0030移动运营商内部错误
MI:0023移动运营商内部错误
MI:0002移动运营商内部错误
MK:0019移动MS不支持短消息终呼业务请核实手机终端是否处于正常状态
IB:0064移动关机请核实手机终端是否处于正常状态
MB:1026移动SMC的相关运行参数(如MO速度、MT速度、短消息数、短消息实体数)已经达到了License的最大限制。请稍后再尝试提交消息。
MK:0055移动运营商内部错误
MK:0066移动运营商内部错误
MI00022移动手机终端内存满请核实手机终端是否处于正常状态
IB:0009移动运营商内部错误
MK:0006移动运营商内部错误
MK:0053移动运营商内部错误
MK:0023移动运营商内部错误
MK:0045移动运营商内部错误
MC:0055_000移动由于用户不在服务区或内存满导致发送失败请核实手机终端是否处于正常状态
MA:0054移动运营商内部错误请提供具体号码给客服,下工单向运营商核实
MK:0041移动运营商内部错误
MK:0063移动运营商内部错误
ID:0012移动计费地址错误请核实手机终端是否处于正常状态
MK:0084移动HLR返回收到未预期响应请提供具体号码给客服,下工单向运营商核实
MB:0088移动运营商内部错误
MI00036移动运营商内部错误
DB00144移动目的号码在全局黑名单被拦截
MA:0073移动请提供具体号码给客服,下工单向运营商核实
MI:0099移动vmsc返回收到未预期响应请核实手机终端是否处于正常状态
MI:0089移动运营商内部错误
MI:0063移动运营商内部错误
MI:0090移动vmsc返回远端地址不可达请核实手机终端是否处于正常状态
MN00013移动机终端停机请核实手机终端是否处于正常状态
DB:0107移动运营商内部错误
IB:0255移动运营商内部错误
MA:0022移动运营商内部错误
IB:0013移动运营商内部错误
MA:0001移动运营商内部错误
MK:0065移动GIW超时无应答
MN:0009移动运营商内部错误
UNKNOWN移动未知的短消息状态
DB:0010移动运营商内部错误
MK:0021移动运营商内部错误
MI:0038移动运营商内部错误
MI:0052移动漫游限制
MK:0003移动非法用户。本次短消息发送过程中,用户鉴权未通过,可能的原因是MSC认为该手机的鉴权密码非法。在维测台中的错误值为3。在ETSI GSM 0902协议中定义为9。
MK:0009移动用户不在服务区MWDSET。
MK:0051移动运营商内部错误
MK:0068移动运营商内部错误
DB:0106移动服务代码错误
MB:1031移动短信中心回的,超出最大发送次数 可能是手机满了。请核实手机终端是否处于正常状态
MI:0048移动运营商内部错误
MK00011移动手机终端没有短信业务"请核实手机终端是否处于正常状态
MK:0048移动运营商内部错误
MK:0056移动运营商内部错误
MK:0057移动运营商内部错误
MK:0088移动vmsc返回潜在的版本不匹配
TUIDING移动运营商黑名单
HIGRISK移动运营商黑名单请联系客服解除黑名单
CA:0054移动移动内部错误
MN:0041移动当前手机处于关机、无法接通等异常状态
MK:0090移动当前手机状态处于停机、暂时无法接通等异常状态
XL:169移动手机号码为空号或不存在
MN:xxxx移动M开头的移动错误代码是指Mobile,大多是因为手机端问题导致。原因有:关机,停机,信号弱,不在服务区,无效号码等等。
MK:xxxx移动M开头的移动错误代码是指Mobile,大多是因为手机端问题导致。原因有:关机,停机,信号弱,不在服务区,无效号码等等。
MI:xxxx移动M开头的移动错误代码是指Mobile,大多是因为手机端问题导致。原因有:关机,停机,信号弱,不在服务区,无效号码等等。
12联通计费地址错(空号、关机、停机、通话被限制或者转到联通秘书)请核实手机终端是否处于正常状态
1联通空号、号码不存在请核实手机终端是否处于正常状态
10联通Src_ID错(空号、关机、停机、通话被限制或者转到联通秘书)请核实手机终端是否处于正常状态
24联通计费号码无效(用户不在使用)请核实手机终端是否处于正常状态
5联通号码已停机请核实手机终端是否处于正常状态
29联通手机用户信息错误请确认手机号码状态是否为正确状态
13联通业务代码未分配,根据MT话单里的接入号和业务代码找不到对应的申报项请核实手机终端是否处于正常状态,如正常可请用户致电联通客服确认号码的短信业务是否开通
93联通月租鉴权失败(用户已经停机或销户)请核实手机终端是否处于正常状态
11联通运营商内部错误
4联通手机关机请核实手机终端是否处于正常状态
54联通用户已关机请核实手机终端是否处于正常状态
59联通运营商内部错误请提供具体号码给客服,下工单向运营商核实
15联通号码不在服务区请核实手机终端是否处于正常状态
23联通运营商内部错误请提供具体号码给客服,下工单向运营商核实
27联通手机不支持短消息请核实手机终端是否处于正常状态,如正常可请用户致电联通客服确认号码的短信业务是否开通
W-BLACK联通号码为全局黑名单请提供具体号码给客服解除黑名单
17联通运营商内部错误
51联通用户已关机请核实手机终端是否处于正常状态
-37联通用户已关机请核实手机终端是否处于正常状态
20联通暂时停机请核实手机终端是否处于正常状态
55联通号码不在服务区请核实手机终端是否处于正常状态
67联通号码是空号请核实手机终端是否处于正常状态
95联通鉴权失败因为用户销户或不存在请核实手机终端是否处于正常状态
22联通运营商内部错误
90联通运营商内部错误
-74联通运营商内部错误
2联通运营商内部错误
104联通运营商内部错误
92联通请提供具体号码给客服,下工单向运营商核实
86联通号码不在服务区
50联通停机
8联通信息长度错
57联通运营商内部错误
79联通内存满请核实手机终端是否处于正常状态
53联通用户已关机请核实手机终端是否处于正常状态
3联通运营商内部错误
255联通请提供具体号码给客服,下工单向运营商核实
100联通请提供具体号码给客服,下工单向运营商核实
61联通号码是空号请核实手机终端是否处于正常状态
117联通请提供具体号码给客服,下工单向运营商核实
45联通号码停机请核实手机终端是否处于正常状态
164联通请提供具体号码给客服,下工单向运营商核实
46联通请提供具体号码给客服,下工单向运营商核实
14联通运营商内部错误
9联通非法序列号,包括序列号重复、序列号格式错误等请核实手机终端是否处于正常状态
69联通黑名单用户
89联通号码不在服务区请核实手机终端是否处于正常状态
64联通号码不在服务区请核实手机终端是否处于正常状态
88联通号码不在服务区请核实手机终端是否处于正常状态
98联通暂时停机请核实手机终端是否处于正常状态
18联通用户未订购请核实手机终端是否处于正常状态,如正常可请用户致电联通客服确认号码的短信业务是否开通
36联通号码停机请核实手机终端是否处于正常状态
44联通手机无短信功能请核实手机终端是否处于正常状态,如正常可请用户致电联通客服确认号码的短信业务是否开通
99联通暂时停机请核实手机终端是否处于正常状态
43联通内存满请核实手机终端是否处于正常状态
-43联通内存满请核实手机终端是否处于正常状态
118联通手机无短信功能请核实手机终端是否处于正常状态,如正常可请用户致电联通客服确认号码的短信业务是否开通
52联通手机终端无短信接收功能请核实手机终端是否处于正常状态,如正常可请用户致电联通客服确认号码的短信业务是否开通
31联通非法设备请核实手机终端是否处于正常状态,如正常可请用户致电联通客服确认号码的短信业务是否开通
75联通号码限制请核实手机终端是否处于正常状态,如正常可请用户致电联通客服确认号码的短信业务是否开通
103联通请提供具体号码给客服,下工单向运营商核实
56联通欠费停机请核实手机终端是否处于正常状态
106联通非法费用,鉴权失败
-1联通运营商内部错误
19联通用户未订购
148联通运营商内部错误
48联通运营商内部错误
63联通运营商内部错误
73联通运营商内部错误
70联通号码不在服务区请核实手机终端是否处于正常状态
32联通运营商内部错误
40联通运营商内部错误
110联通运营商内部错误
116联通运营商内部错误
21联通运营商内部错误
219联通用户手机终端处于关机、停机、暂时无法接听等不正常状态导致手机无法接收到短信
182联通用户手机终端已暂停服务
124联通用户手机终端处于关机、通话被限制、暂停服务等异常状态
101联通手机号码为空号
105联通当前手机状态处于停机、暂停服务、呼入被限制等异常情况
213联通当前手机状态处于停机、暂停服务、呼入被限制等异常情况
72联通145号段空号或者不存在
LT:0002联通因信号原因导致联通失败。若批量失败则有可能是内容敏感词导致,需和运营商确认
UNDELIV_601电信用户因为状态不正确如处于停机、挂起等状态而导致用户无法接收到短信请核实手机终端是否处于正常状态
EXPIRED_602电信用户因为状态不正确如处于停机、挂起等状态而导致用户无法接收到短信请核实手机终端是否处于正常状态
UNDELIV_640电信用户因为状态不正确如处于停机、挂起等状态而导致用户无法接收到短信请核实手机终端是否处于正常状态
REJECTD_006电信短消息因为某种原因被拒绝请核实短信是否为行业短信,如是,可以请用户致电联通客服确认号码的短信业务是否开通
UNDELIV_705电信用户因为状态不正确如处于停机、挂起等状态而导致用户无法接收到短信请核实手机终端是否处于正常状态
EXPIRED_760电信用户因为状态不正确如处于停机、挂起等状态而导致用户无法接收到短信请核实手机终端是否处于正常状态
EXPIRED_601电信用户因为状态不正确如处于停机、挂起等状态而导致用户无法接收到短信请核实手机终端是否处于正常状态
UNDELIV_869电信用户因为状态不正确如处于停机、挂起等状态而导致用户无法接收到短信请核实手机终端是否处于正常状态
UNDELIV_999电信请提供具体号码给客服,下工单向运营商核实
UNDELIV_602电信用户因为状态不正确如处于停机、挂起等状态而导致用户无法接收到短信请核实手机终端是否处于正常状态
UNDELIV_614电信用户因为状态不正确如处于停机、挂起等状态而导致用户无法接收到短信请核实手机终端是否处于正常状态
EXPIRED_660电信用户因为状态不正确如处于停机、挂起等状态而导致用户无法接收到短信请核实手机终端是否处于正常状态
UNDELIV_713电信请提供具体号码给客服,下工单向运营商核实
UNDELIV_615电信请提供具体号码给客服,下工单向运营商核实
EXPIRED_702电信用户因为状态不正确如处于停机、挂起等状态而导致用户无法接收到短信请核实手机终端是否处于正常状态
EXPIRED_640电信用户因为状态不正确如处于停机、挂起等状态而导致用户无法接收到短信请核实手机终端是否处于正常状态
REJECTD_706电信短消息因为某种原因被拒绝请核实短信是否为行业短信,如是,可以请用户致电联通客服确认号码的短信业务是否开通
EXPIRED_615电信短消息因为某种原因被拒绝请核实手机终端是否处于正常状态
UNDELIV_765电信请提供具体号码给客服,下工单向运营商核实
UNDELIV_870电信运营商内部错误
UNDELIV_899电信请提供具体号码给客服,下工单向运营商核实
EXPIRED_001电信请提供具体号码给客服,下工单向运营商核实
UNDELIV_612电信请提供具体号码给客服,下工单向运营商核实
UNDELIV_714电信请提供具体号码给客服,下工单向运营商核实
UNDELIV_702电信用户因为状态不正确如处于停机、挂起等状态而导致用户无法接收到短信请核实手机终端是否处于正常状态
UNDELIV_815电信用户因为状态不正确如处于停机、挂起等状态而导致用户无法接收到短信请核实手机终端是否处于正常状态
UNDELIV_771电信用户因为状态不正确如处于停机、挂起等状态而导致用户无法接收到短信请核实手机终端是否处于正常状态
UNDELIV_711电信用户因为状态不正确如处于停机、挂起等状态而导致用户无法接收到短信请核实手机终端是否处于正常状态
UNDELIV_627电信用户因为状态不正确如处于停机、挂起等状态而导致用户无法接收到短信请核实手机终端是否处于正常状态
UNDELIV_814电信用户因为状态不正确如处于停机、挂起等状态而导致用户无法接收到短信请核实手机终端是否处于正常状态
UNDELIV_660电信用户因为状态不正确如处于停机、挂起等状态而导致用户无法接收到短信请核实手机终端是否处于正常状态
EXPIRED_612电信运营商内部错误
UNDELIV_613电信用户因为状态不正确如处于停机、挂起等状态而导致用户无法接收到短信请核实手机终端是否处于正常状态
UNDELIV_619电信用户因为状态不正确如处于停机、挂起等状态而导致用户无法接收到短信请核实手机终端是否处于正常状态
UNDELIV_680电信用户因为状态不正确如处于停机、挂起等状态而导致用户无法接收到短信请核实手机终端是否处于正常状态
UNDELIV_636电信用户因为状态不正确如处于停机、挂起等状态而导致用户无法接收到短信请核实手机终端是否处于正常状态
UNDELIV_726电信用户因为状态不正确如处于停机、挂起等状态而导致用户无法接收到短信请核实手机终端是否处于正常状态
UNDELIV_718电信用户因为状态不正确如处于停机、挂起等状态而导致用户无法接收到短信请核实手机终端是否处于正常状态
UNDELIV_880电信用户因为状态不正确如处于停机、挂起等状态而导致用户无法接收到短信请核实手机终端是否处于正常状态
UNDELIV_634电信用户因为状态不正确如处于停机、挂起等状态而导致用户无法接收到短信请核实手机终端是否处于正常状态
EXPIRED_010电信短消息超过有效期手机终端超时未响应
EXPIRED_619电信短消息超过有效期手机终端超时未响应
EXPIRED_999电信短消息超过有效期手机终端超时未响应
UNDELIV_001电信用户因为状态不正确如处于停机、挂起等状态而导致用户无法接收到短信请核实手机终端是否处于正常状态
UNDELIV_620电信用户因为状态不正确如处于停机、挂起等状态而导致用户无法接收到短信请核实手机终端是否处于正常状态
EXPIRED_614电信运营商内部错误
EXPIRED_618电信运营商内部错误
EXPIRED_613电信运营商内部错误
EXPIRED_617电信运营商内部错误
UNDELIV_701电信空号、停机或关机
UNDELIV_701电信空号、停机或关机
UNDELIV_802电信空号、停机或关机
UNDELIV_801电信空号、停机或关机
UNDELIV电信/联通用户因为状态不正确如处于停机、挂起等状态而导致用户无法接收到短信
MOBILE BLACK电信/联通号码为全局黑名单请联系客服解除黑名单
其他电信/联通运营商未公布原因请提供具体号码给客服,下工单向运营商核实
 


1 短信、语音价格

短信根据长度按条计费,语音按实际通话分钟数计费(不足一分钟,按一分钟计算)。
国内短信、语音实行阶梯收费,月结后付费模式。量级越大,价格越优惠,详情请联系客服
海外短信,支持200多个不同国家和地区,不同国家价格不一样,详情请点击海外短信价格

2 短信长度

单次发送的短信(含签名)长度不要超过450字(汉字,字符,数字等可见符号,都按1个字计算)。单条短信长度为70字,超过70字后,按67字/条分隔成多条, 以长短信的方式发送给用户,即用户收到的是一条短信,但是按多条计费。

3 短信签名

短信签名是附加在短信内容前面的标识,用于标识公司或业务。短信签名由【】及签名内容组成,签名内容要求2~8个字(由中英文,数字组成,不能包含其他特殊字符,如“+,@,|等”), 例如Kewail的短信签名为“【Kewail】”。短信签名需要在移动运营商备案,需要您提供企业的营业执照正本或副本复印件(要加盖企业公章),如有疑问请咨询客服

4 短信内容

默认情况下,需要在Kewail控制台申请内部模版备案后,才可以发送短信给用户。内部模版示例如下:
{1}为您的登录验证码,请于{2}分钟内填写。如非本人操作,请忽略本短信。
如您的短信业务量很大,想自定义短信内容,请咨询客服, 审核通过后,短信内容可以省去备案流程。(注:营销类短信内容一定需要备案)

5 短信接入审核规则

您在Kewail短信控制台申请短信签名或内容模版后, 会有专门同事进行审核,正常情况下,1个工作日会反馈审核结果。如果您急需使用短信功能, 请咨询客服, 我们会加速审核进度。
如果审核未通过(如没有提交过营业执照复印件,短信签名不符合要求, 短信内容中含有敏感词等),也可 咨询客服进行详细沟通。

6 多个签名如何发送短信

如果您有多个短信签名,请将需要的短信签名放在 短信内容前面,然后调用短信接口进行发送。
例如您有"【Kewail科技】"," 【Kewail】"两个签名,但是您想以"【Kewail】"签名发送短信,则发送内容可赋值为: "【Kewail】你的验证码是xxxx"。(其中"xxxx"为下发的验证码)

7 通知短信与营销短信区别

通知短信:也即行业短信,指通过一定的客户端向不同的客户发送手机短信的业务, 短信内容一般为验证码信息、触发类信息、内部通知等不带营销字眼的短信。
示例1:{1}为您的登录验证码,请于{2}分钟内填写。如非本人操作,请忽略本短信。
示例2:您{1}的信用订单本期已成功还款{2}元,可用授信额度已恢复至{3}元,感谢您的使用。
示例3:备案订单{1}提交的邮寄材料已通过审核,请尽快提交{2},如已提交Kewail将尽快审核。
营销短信:指短信内容一般为经营性公司向网站、公司注册会员下发促销、会员活动信息等明显营销类推广短信。 (强调:营销类短信内容后面,要添加“回T退订”)
示例1:好消息!明星店铺可以通过{1}申请了,品牌亮起来, 人气旺起来,超多免费物料等你拿!赶紧来申请!回T退订
示例2:年后补货让利疯抢第{1}波! 美发专场低至{2}折!{3}限时开抢,猛戳:{4}。回T退订

8 查询单个手机发送记录

当您的客户反馈收不到短信,或者您想查看用户手机的短信发送状态,您可以在Kewail短信控制台的“统计数据-短信查询”页面查询,如下所示:

9 用户没有收到短信

首先确认下调用接口后是否返回成功,如果返回成功,再确认下状态报告中的状态是否为成功 (也可在Kewail短信控制台查询短信下发状态)。
如果返回失败,则可以查看应答包的失败原因说明, 如请求次数过多命中了频率控制策略,短信内容格式不正确(比如双签名,或者有敏感词),手机在黑名单中等 。
如果返回成功,但是用户没有收到,则存在以下几种场景:
1、用户手机关机,欠费或者停机,可以通过拨打手机确认;
2、用户手机状态不稳定(如信号不好),可以让用户确认下信号是否正常,必要时重启下手机;
3、用户手机收件箱满,可以让用户删除多余的短信,然后再重试确认下;
4、短信被用户手机中的安全软件屏蔽了,可以让用户确认是否在屏蔽列表中;
5、如果以上场景都不满足,请 咨询客服解决。

10 手机黑名单

当用户收到不想收到的短信时,可能会投诉或者退订等,此时我们会把用户的手机加入到运营黑名单中。 后续下发短信时,如果匹配了黑名单,将不会给用户的手机下发短信,避免对用户的骚扰。
如果您的客户反馈收不到短信,并确认是黑名单导致的,可 联系客服申请解除黑名单。

11 1004错误详解

调用Kewail短信接口发送短信时,如果应答包返回1004错误,可通过以下方式定位解决:
1、确认发送的请求是否是标准的json格式,联系 客服可以校验一下;
2、检查是否有将单引号当做双引号使用(json标准应该是双引号);
3、检查参数名称是否写错(打字时可能打错);
4、检查请求的字段类型和API中描述的字段类型是否一致,是否存在弄混了json字符串和json整型的情况,
例如:{"姓名":"小明", "年龄":23},"姓名"为json字符串,"年龄"为json整型;
5、检查对API的调用是否和官网描述的一致,例如:使用群发短信的API但是包体的格式是单发短信的;

12 1014错误详解

调用Kewail短信接口发送短信时,如果应答包返回1014错误,可通过以下方式定位解决:
1、确认申请的内容模版格式是否正确,如内容模版中的“{}”为英文的括号,括号中的数字需从1开始连续编号, 如{1},{2}……
2、确认请求内容对应的模版是否审批通过;
3、确认请求包中type参数的值(0表示通知短信,1表示营销短信)与申请的内容模版类型是否一致;
4、确认请求的内容与申请的内容模版格式是否一致,特别要留意是否有空格等不可见字符 导致的不匹配;
5、如果内容中含有中文,请确认中文是utf-8编码;

13 60008错误详解

调用Kewail短信接口发送短信时,如果应答包返回60008错误,可通过以下方式定位解决:
1、如果请求在1s内响应60008错误码,请确认请求格式是否是标准HTTP格式;
2、确认dns配置是否正常,确保使用的是公网dns server;
3、推荐业务使用http长连接,并使用连接池,以提升网络质量;
4、如果还是无法解决, 请联系客服

14 短信频率限制

对于验证码、通知类短信,同一号码同一内容30秒内最多发送1条; 对于营销类短信, 同一号码同一内容24小时内最多发送3条,同一号码不同内容24小时内最多发送15条。

15 短信结算

Kewail采用后付费的方式与业务方进行短信费用结算。每月5日前, Kewail会向您提供上月短信的详细账单,经您确认无误后,需要您支付上月的短信费用 ,Kewail会为您出具有效发票。
对于后付费服务,为避免坏账,会在月结后, 按上个月后付费结算金额的 120% 进行冻结。 次月结算日时,先对冻结费用解冻,再扣费,再按后付费结算金额的 120% 冻结。

16 短信账单

每月5日前,Kewail会向您提供上月短信的详细账单,您可以在Kewail的“用户中心-费用中心-收支明细” 的短信类别下面查看短信费用消耗,点击“用量报表”会为您展示对应月份短信的每日用量, 同时您可以导出报表数据用于财务报帐和存底等用途,如下图:

17 充值与发票

您可以参考充值 中的指引进行充值;在支付Kewail短信费用后,可按照 发票管理中的指引申请对应金额的发票。

 


如有其它疑问,请@Kewail短信技术支持,QQ 2403602442,电子邮箱member@notice.kewail.com