准备账户、模板与接收服务
创建账户
开设账户,并按平台要求提供企业认证资料。
报备模板
用真实业务文案报备模板,审核通过后组织发送。
获取凭据
进入语音通知产品模块,获取对应的 API ID 与 API KEY。
联调回执
准备可访问的服务端地址,测试回执接收与确认。
以下示例供服务端联调使用。API KEY 应保存在服务端环境变量中,不应写入网页代码。
提交一次语音通知请求
接口接受 GET 或 POST;下面采用 HTTPS POST 表单提交方式。
POST https://api.vm.ihuyi.com/webservice/voice.php?method=Submit
Content-Type: application/x-www-form-urlencoded| 参数 | 必填 | 说明 |
|---|---|---|
| account | 是 | 语音通知产品的 API ID |
| password | 是 | API KEY;或按官方规则生成的动态密码 |
| mobile | 是 | 接收手机号码,一次仅提交一个号码 |
| content | 是 | UTF-8 编码的语音内容;文档标注支持 180 个字,需匹配已审核模板 |
| time | 条件必填 | 使用动态密码时必填,10 位 Unix 时间戳 |
| format | 否 | xml 或 json,默认 xml;本站示例显式指定 json |
按开发语言选择调用示例
将凭据配置到服务端环境变量,填入授权号码及审核模板后联调。以下内容为调用示例,网页不会执行拨号。
import os
import requests
url = "https://api.vm.ihuyi.com/webservice/voice.php"
data = {
"account": os.environ["SURLINK_API_ID"],
"password": os.environ["SURLINK_API_KEY"],
"mobile": "YOUR_TEST_MOBILE",
"content": "已审核模板对应的通知内容",
"format": "json"
}
response = requests.post(
url, params={"method": "Submit"},
data=data, timeout=10
)
response.raise_for_status()
print(response.json())
# 提交成功不等于呼叫成功,结果请结合回执判断。思锐短信平台语音通知接口示例Python 3 · requests
提交响应与呼叫回执分开处理
| 字段 | 含义 |
|---|---|
| code | 2 表示提交成功,其他值按错误码处理 |
| voiceid | 提交成功后的流水号,应关联到业务通知记录 |
| msg | 本次提交的结果描述 |
提交成功 ≠ 用户接听。提交响应只说明请求是否被接受,最终呼叫状态请查看回执;业务是否完成还需由你的系统单独判断。
获取账户可用条数
沿用语音账户凭据,将请求方法设为 GetNum,读取当前剩余数量。
POST https://api.vm.ihuyi.com/webservice/voice.php?method=GetNum| 参数 | 说明 |
|---|---|
| account / password | 必填,使用语音通知产品凭据 |
| time | 动态密码方式下必填 |
| format | 可选 xml / json,默认 xml |
| 响应字段 | 说明 |
|---|---|
| code | 2 表示查询成功 |
| msg | 查询结果描述 |
| num | 剩余数量 |
将电话结果写回业务系统
在平台登记回执接收地址,由服务端接收 POST 结果并更新对应的通知任务。
| 字段 | 说明 |
|---|---|
| code | 呼叫结果状态,2 表示成功;失败原因见完整文档 |
| msg | 回执状态说明 |
| mobilephone | 接收手机号码 |
| talktime | 接听时长,单位秒 |
| voiceid | 与提交响应对应的流水号 |
| report_time | 回执时间 |
成功接收并处理后输出
success。官方文档注明每个回执最多推送 3 次,间隔叠加 60 秒;接收端应按流水号等信息处理重复推送。无人接听(-6)、占线(-4)与拒接(-12)属于不同呼叫状态,需分别记录,与提交阶段的错误区分处理。
按错误类型定位提交问题
| 错误码 | 说明 | 排查方向 |
|---|---|---|
| 405 | 用户名或密码不正确 | 核对语音通知产品 API ID / KEY |
| 4051 | 剩余条数不足 | 检查语音产品余额 |
| 4052 | 访问 IP 与备案 IP 不符 | 核对服务器出口 IP 与账户绑定 |
| 406 | 手机格式不正确 | 确认单次一个号码及号码格式 |
| 4071 | 没有提交备案模板 | 检查模板是否已报备 |
| 4072 | 内容与报备模板不匹配 | 检查固定内容、标点和变量 |
| 40722 | 变量内容超过指定长度 | 按模板配置缩短变量内容 |
完整错误码与动态密码规则请查看 思锐短信平台官方接口文档。实际联调以官方文档与账户配置为准。
