文档首页/ 消息&短信 MSGSMS/ API参考/ 附录/ 错误码/ API错误码(发送短信)
更新时间:2024-08-06 GMT+08:00
分享

API错误码(发送短信)

本章节为调用API错误返回的错误码全集,数量较多,建议您使用快捷键Ctrl+F在界面进行搜索,找到您需要的错误码处理建议。

404问题处理

若调用接口时返回了404响应,请检查APP接入地址和访问URI(详见开发准备)是否都填写正确,且拼接成了完整的请求URL,如“https://smsapi.cn-north-4.myhuaweicloud.com:443/sms/batchSendSms/v1”。

错误码处理

调用发送短信/发送分批短信接口会产生接口调用错误码,响应示例如下:

注:一个请求响应只有一个code,一个手机号码对应一个status。

HTTP/1.1 200 OK
Date: Mon, 06 Aug 2018 11:59:50 GMT
Server: WebServer
Content-Type: application/json;charset=UTF-8
Content-Length: 224

{
    "code":"000000",
    "description":"Success",
    "result":
    [{
        "originTo":"+8618612345678",
        "createTime":"2018-08-06T11:59:50Z",
        "from":"1069031221280000001",
        "smsMsgId":"4b4b34e7-1a9e-42ac-b309-d10997148905_85496076",
        "status":"000000"
    }]
}
表1 code参数处理

参数取值

说明

处理建议

000000

请求成功。

接口调用成功,请等待短信状态报告。

E000000

表示系统异常,一般是请求格式异常,短信平台无法解析。

  • 请检查短信模板,变量部分用{},而不是();重新申请模板
  • 请参考代码样例检查“templateParas”参数值引号使用是否合理:
    • 发送短信API中,“templateParas”参数为字符串类型,参数值需要加引号,每个模板变量值都需要加引号,请合理使用转义字符或单引号/双引号嵌套。示例:templateParas='["3","人民公园正门"]'
    • 发送分批短信API中,“templateParas”参数为字符串数组类型,参数值无需加引号,每个数组元素(即模板变量)都需要加引号。示例:templateParas=["3","人民公园正门"]
  • 请检查请求消息体编码格式是否正确:

E000001

HTTP消息头未找到Authorization字段

  • 请检查HTTP消息头中是否携带了Authorization字段。
  • 请检查APP_Secret是否为空或错误。
  • 请检查传入的Created 与当前UTC时间的偏差是否小于24小时(Created:随机数生成时间。采用标准UTC格式,例如:2018-02-12T15:30:20Z。不同编程语言中的时间格式转换方式不同,部分语言可参考表 不同编程语言的时间格式)。
  • 请检查传入的 passwordDigest 和使用服务支持的加密方式得到的passwordDigest是否匹配。

    服务支持的加密方式:根据PasswordDigest = Base64 (SHA256 (Nonce + Created + Password))生成,直接使用Nonce、Created、Password拼接后的字符串进行SHA256加密即可,字符串中无需包含+号和空格。其中,Password为app_secret的值。

E000002

Authorization字段中未找到realm属性

请检查Authorization字段中的是否携带了realm属性。

E000003

Authorization字段中未找到profile属性

请检查Authorization字段中的是否携带了profile属性。

E000004

Authorization中realm属性值应该为“SDP”

请检查Authorization字段中的realm属性值是否为“SDP”

E000005

Authorization中profile属性值应该为“UsernameToken”

请检查Authorization字段中的profile属性值是否为“UsernameToken”

E000006

Authorization中type属性值应该为“Appkey”

请检查Authorization字段中的type属性值是否为Appkey

E000007

Authorization字段中未找到type属性

请检查Authorization字段中是否携带了type属性。

E000008

Authorization中没有携带WSSE

请检查Authorization字段中是否携带了WSSE。

E000020

HTTP头未找到X-WSSE字段

请检查HTTP消息头中是否携带了X-WSSE字段。

E000021

X-WSSE字段中未找到UserName属性

请检查X-WSSE字段中的是否携带了UserName属性。

E000022

X-WSSE字段中未找到Nonce属性

请检查X-WSSE字段中的是否携带了Nonce属性。

E000023

X-WSSE字段中未找到Created属性

请检查X-WSSE字段中的是否携带了Created属性。

E000024

X-WSSE字段中未找到PasswordDigest属性

请检查X-WSSE字段中的是否携带了PasswordDigest属性。

E000025

Created属性格式错误

请检查X-WSSE字段中的Created属性格式是否正确。

E000026

X-WSSE字段中未找到UsernameToken属性

请检查X-WSSE字段中的是否携带了UsernameToken属性。

E000027

非法请求

根据API接口文档的参数描述和要求,检查请求携带的参数是否都合法。

E000040

ContentType值应该为application/x-www-form-urlencoded

请检查ContentType头域的取值是否为“application/x-www-form-urlencoded”。发送短信时,ContentType值应为application/x-www-form-urlencoded。发送分批短信时,ContentType值应为application/json。

E000041

X-Sdk-Date为空

特殊AK/SK认证时,请检查HTTP消息头X-Sdk-Date的值。

E000042

X-Sdk-Date格式错误

特殊AK/SK认证时,请检查HTTP消息头X-Sdk-Date的格式,格式为:yyyyMMdd'T'HHmmss'Z'

E000043

Authorization格式错误

特殊AK/SK认证时,请检查HTTP消息头Authorization格式。

E000044

X-Sdk-Date过期

特殊AK/SK认证时,请检查HTTP消息头X-Sdk-Date的时间,不能与发送请求时的本地时间相差太大(15分钟内),否则会导致鉴权失败。

E000045

Authorization校验失败

特殊AK/SK认证时,请检查HTTP消息头Authorization中的Signature字段。

E000101

鉴权失败

请检查Authorization和X-WSSE参数的填写是否正确。

E000102

app_key无效

请检查请求携带的app_key填写是否正确。

如app_key填写正确,建议检查app接入地址是否正确(从控制台“应用管理”获取)。

E000103

app_key不可用

请联系管理员确认该app_key状态是否正常。

E000104

app_secret无效

请检查请求携带的app_secret填写是否正确。

E000105

PasswordDigest无效

请检查请求携带的PasswordDigest填写是否正确。

E000106

app_key没有调用本API的权限

请联系管理员确认该app_key是否具有“短信能力开放”能力。

E000109

用户状态未激活

请联系管理员激活用户。

E000110

时间超出限制

请确认X-WSSE鉴权时,生成随机数的时间(Created)与发送请求时的本地时间不能相差太大(具体差值请与管理员确认)。

请确认服务器的本地时间是否正确,建议不要与北京时间相差大于8小时。

请检查随机数生成时间(Created)的代码实现,以Java为例,将格式字符串中的YYYY改为yyyy。请参考发送短信API

E000111

用户名或密码错误

系统找不到app_key对应的用户信息,请联系管理员处理。

E000112

用户状态已冻结

若是因账户欠费冻结,请参考华为云账户充值完成充值,到账后自动解冻。

若是因业务违规冻结,请整改业务后联系运营经理申请解冻。

E000503

参数格式错误

请检查参数格式是否正确,有如下几种格式错误情况,请根据返回的具体英文描述对应处理:

  • 模板变量里有特殊字符,参考模板规范变量规范修改。
  • 未携带模板id。
  • 未携带号码。
  • 模板id长度需为1~32或id格式错误。
  • 手机号码格式错误。
  • 单次请求号码数量超过限定值。
  • smsContent无效。
  • 扩展字段超出128字节。

E000510

短信发送失败,描述见参数status

请参考status参数处理,修改后重新发送。

E000620

对端app IP不在白名单列表中

  • IP白名单配置生效约有10~15分钟的时延,未及时生效可能导致该报错。
  • IP白名单配置不正确。请前往控制台“应用管理”点击“修改”应用,检查并修改自行配置的IP白名单,或重新添加正确的IP白名单(IP白名单为平台管理员配置时)。

E000623

短信发送量达到限额

参考通用管理调整短信发送量限额值,阈值管理默认日发送量上限值500条,月发送量上限值10000条,请注意根据需求提工单申请提升阈值上限。

E000630

短信发送量达到国家/地区级限额

参考通用管理调整该国家/地区的短信发送量限额值。

表2 status参数处理

参数取值

说明

处理建议

E200015

待发送短信数量太大

短信平台进行正常的业务流控,请等待一段时间(10分钟左右)后重试。

E200028

模板变量校验失败

模板问题,请检查请求携带的“templateParas”参数值,对照“templateId”指定的模板,核对模板变量个数是否正确,变量长度是否小于模板变量定义的长度。

“templateId”指定的模板为无变量模板,则请求无需携带“templateParas”参数;若携带了该参数,请置空。

当时间变量需要同时指定日期和时间时,请检查模板中是否将日期和时间配置为两个变量,一个变量传入日期,另一个变量传入时间。不要将日期和时间合成一个变量。

请检查“其他”类型的变量赋值是否包含“.”、“。”、“ ' ”、“<”、“>”、“{”或“}”字符,建议剔除后重试。如果变量取值为IP地址,请重新申请模板,并设置变量属性为“金额”。

例如:

模板内容为:您的验证码为:${1},请尽快完成验证。祝您生活愉快!

注:模板中有一个变量,变量属性为“其他号码”,最大长度以8个字符为例。

正确示例:

templateParas='["12345"]'; //发送短信API

templateParas=["12345678"]; //发送分批短信API

错误示例:

templateParas='["123","456"]'; //发送短信API,变量个数不正确

templateParas='["123456789"]'; //发送短信API,变量长度不正确

templateParas='["1a2b.3c"]'; //发送短信API,变量内容类型不正确

E200029

模板类型校验失败

模板签名问题,请检查请求携带的“templateId”“from”参数值,核对模板ID和签名通道号填写是否正确,类型是否匹配。

  1. 进入短信控制台,选择国内短信 > 模板管理,根据“templateId”参数值查看对应模板的“模板类型”和“所属签名”。
  2. 进入短信控制台,选择国内短信 > 签名管理,根据“from”参数值查看对应签名的“签名类型”和“签名名称”。
  3. 核对“模板类型”和“签名类型”是否一致,“所属签名”和“签名名称”是否一致。
    说明:

    当“所属签名”为“通用签名”时,无需核对“所属签名”和“签名名称”是否一致。

E200030

模板未激活

模板ID错误,请检查请求携带的“templateId”参数值,核对模板ID是否正确。

E200031

协议校验失败

配置不正确,请检查代码参数,确认APP_Key、APP_Secret配置是否正确。

E200033

模板类型不正确

模板问题,请参考E200029进行处理,等待一段时间(10分钟左右)后,重新发送请求。

E200041

同一短信内容接收号码重复

发送短信请求的接收方号码中含有重复的号码,短信平台自动去重,仅会给该号码发送一条短信。

相关文档