联接短信API接口调用

概述

欢迎使用IoT云通信服务(短消息服务)。IoT云通信覆盖全球多家优质运营商和渠道,为企业用户提供的通信服务。IoT云通信是华为云携手全球多家优质运营商和渠道,为企业用户提供的通信服务。企业API接口调用,即可使用IoT云通信发送服务。

本文档提供了IoT云通信API的描述、参数说明及示例等内容。支持的全部操作请参见API接口调用使用说明

在API接口调用之前,请确保已经充分了解IoT云通信相关概念,详细信息请参见IoT云通信产品概述。

API接口调用-推送上行短信

接口功能

IoT云通信主动向用户推送上行短信


接口地址

表1 接口地址

其中IP:Port表示SP业务平台的IP和端口号。


请求消息

表2 接口地址

请求消息样例:

{

"mobile" : "12345678911",

"content" : "TD",

"sendTime" : "2017-05-15 16:08:54"

}


响应消息

表3 接口地址

响应样例如下:

{

"resultCode": "0"

}

API接口调用-推送状态报告

接口功能

IoT云通信主动向用户推送状态报告。


接口地址

表1 接口地址

说明:其中IP:Port表示SP业务平台的IP和端口号。


请求消息

表2 接口地址

请求消息示例:

{

"messageId": "12345",

"mobile": "12345678911",

"receiveTime": "2016-05-29 10:55:23",

"status": "DELIVED",

"smsCount":2

}


响应消息

表3 接口地址

响应样例如下。

{

"resultCode": "0"

}

IoT云通信联接短信API接口调用常见问题解答

IoT云通信联接短信API接口调用常见问题解答

  • 为何短信发送过了很久才收到状态报告?

    问题描述:

    短信API接口调用发送短信请求成功,但过了很久用户才收到短信发送状态报告。

    原因分析:

    1.短信平台已将短信请求发送到运营商短信网关,但运营商短信网关未及时返回短信发送状态报告给短信平台。

    2.正常情况下,运营商短信网关会在秒级返回短信发送状态报告。遇到异常情况(如手机关机、手机欠费停机、信号不好、网络波动、短信内容被运营商审核等)时,运营商短信网关返回状态可能不及时。

    3.还可能是发送的短信内容触发了运营商的人工审核流程,通常一个模板初次触发人工审核通过后,后续就不会再触发。

  • 为何接收号码不正确也能请求成功?

    因为短信平台不会校验接收号码的有效性,即短信API接口调用发送短信时,请求成功并不表示短信发送成功。

    请求成功后,短信平台最多72小时内会返回状态报告,无法送达的接收号码会有对应的状态码标识错误原因。

  • 状态报告接收地址如何填写?

    前提条件:用户有能接收HTTP/HTTPS协议POST请求的服务器,且提供的URL地址能通过公网访问。

    状态报告接收地址,是指客户用于接收IoT云通信平台推送的状态报告通知的地址。客户短信API接口调用发送短信时,通过“statusCallback”参数携带该地址。IoT云通信服务通过回调该地址,向客户推送已发送短信的状态报告通知。

  • 提交报错如何解决?

    请参考如下方法进行检查:

    1.检查是否关闭了SSL校验。

    2.检查接口地址是否正确。

    接口地址格式:https://{IP:Port}/common/sms/sendTemplateMessage

    其中,IP、Port需替换为对应的账号参数。

  • 提交失败如何解决?

    提交失败,系统会返回resultCode,请参考下表中的解决方案进行检查。

  • 为何提交成功,resultCode也返回了0,但却未接收到短信?

    请参考如下方法进行检查:

    1.检查账号account、密码password是否填写正确。

    2.检查号码是否填写正确。C#和PHP中多个号码需要用英文逗号隔开,JAVA中则需要传list。

    3.检查模板ID,格式为SMS_......,并核对模板类型是否与账号匹配。

    例如:行业账号发送行业模板,营销账号发送营销模板。

    4.检查templateParas是否填写正确。templateParas是对模板中变量赋值。

    若模板中无变量,将templateParas赋值空即可;若模板中有变量,例如:模板中有变量{code},则需要在templateParas中赋值”code”:”1234”,变量的赋值需要跟模板中报备的一致。

    5.检查signature签名是否是已经报备好的签名,并且赋值时需要带签名符号【】。

    例如:”signature”:”【华为云】”

    6.检查statusCallback是否正确。

    statusCallback是设置回调地址,可选,用于接受短信下发的状态报告。默认设置容易报错,可以先删除或者注释掉。

    例如:

    消息体中的样例: "statusCallback":"http://ip:port/sms/notifySmsMessage"

    C#中的样例:map.Add("statusCallback", "http://ip:port/sms/notifySmsMessage");

    PHP中的样例:$statusCallback = 'http://ip:port/xx/xx';

  • 登录/购买异常如何处理?

    异常现象:

    登录时一直在转圈,不显示或无反应。

    登录时提示“请完成企业认证”。

    登录时提示“系统错误”。

    处理建议:

    请检查本地网络,确保能正常访问公网。

    请检查浏览器,推荐使用谷歌Chrome浏览器。

    请清理浏览器缓存后重试,清理缓存快捷键为Ctrl+Shift+Delete。

    请检查华为云账号基本信息(https://account.huaweicloud.com/usercenter/?locale=zh-cn&region=cn-north-4#/accountindex/accountInfo),确认已认证为华为云企业账号并绑定注册邮箱。

  • 短信服务支持哪些协议?

    建议使用CMPP2.0或HTTPS协议。具体支持参见开通接入

  • 短信是否支持发送动态短链接?

    不支持,链接只能以固定网址的形式填写在模板中,待审核通过后才能发送,不支持动态变化,不支持通过变量传递。链接不能是跳转链接或短网址。