开始之前
创建账户
注册并按要求完成企业认证。
报备模板
提交实际业务模板,确认审核通过。
获取凭据
在用户中心语音通知产品中查看 API ID / API KEY。
联调回执
配置服务端接收地址,验证完整通知流程。
以下示例供服务端联调使用。API KEY 应保存在服务端环境变量中,不应写入网页代码。
发送语音通知
使用 HTTPS 提交表单参数。官方接口支持 GET / POST,本站示例使用 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["YHT_API_ID"],
"password": os.environ["YHT_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 | 本次提交的结果描述 |
提交成功 ≠ 用户接听。提交响应只说明请求是否被接受,最终呼叫状态请查看回执;业务是否完成还需由你的系统单独判断。
查询账户剩余数量
将 method 改为 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 | 变量内容超过指定长度 | 按模板配置缩短变量内容 |
完整错误码与动态密码规则请查看 亿互通官方接口文档。实际联调以官方文档与账户配置为准。
