功能示例 / Example

语音短信接口

开发流程 / Process

  • 注册开发者账号

  • 免费测试语音发送

  • 购买语音套餐

  • 快速调用接口

  • 完成开发

接口介绍 / Introduction

  • 轻松开发

    标准HTTP(S)协议,提供完善的技术开发文档

  • 超高并发

    分布式集群架构,多点部署,安全稳定

  • 专业服务

    专业技术团队答疑解难,24小时运维监控

应用场景 / Scenes

  • 快递提醒

    适用于电商、物流、快消品等行业的出货、发货、到货等场景,提升用户体验

  • 预警提醒

    适用于线上支付环节,有效确保用户支付场景下的财产安全

  • 到期提醒

    适用于有付费会员、年费体系的企业, 提升用户服务体验

  • 概要
  • 语音发送
  • 余额查询
  • 发送回执推送
  • 生成动态密码方式
  • 常见问题

1、概要

1.1 文档说明

本文档主要提供给互亿平台的用户对接接口的使用说明,开发者可以利用 ihuyi 提供的 HTTP 接口,调用 ihuyi 的语音通知服务。

1.2 接口内容

本文档包含语音发送、余额查询、发送回执推送等。

1.3 提交方式

GET / POST

1.4 加密方式

1、采用HTTPS协议提交请求
2、通过MD5动态签名方式加密

1.5 API ID / API KEY

登录用户中心,进入【语音通知】模块,在【产品总揽】页面右上角,如下图所示:

1.6 语音模版

语音通知模板是对您将要发送的语音进行相似性提取后的内容。举个例子,

A 用户是您的老会员,即将过生日,需要发送一条语音短信,内容如下:
您的客户张茜将于 2 天后过生日,别忘记注意祝福哦~
同时,B 用户是您的老会员,即将过生日,发送了如下语音短信:
您的客户赵鑫将于 3 天后过生日,别忘记注意祝福哦~
我们提取相似度以后,可以制作以下语音模板:
您的客户【变量】将于 【变量】天后过生日,别忘记注意祝福哦~
其中,变量是可变的,可以是 数字、字母、汉字。

2、语音短信发送

2.1 接口描述

通过POST、 GET 方式进行短信提交,数据编码采用utf-8格式,24小时全天发送。

2.2 请求地址

        http://api.vm.ihuyi.com/webservice/voice.php?method=Submit

2.3 请求参数

参数名称 参数值描述 必填
account APIID(用户中心【语音通知】-【产品纵览】查看)
password 1、APIKEY(用户中心【语音通知】-【产品纵览】查看)
2、动态密码(生成动态密码方式请看该文档末尾的说明)
mobile 接收手机号码,只能提交一个号码
content 语音通知内容(编码格式为 UTF-8,支持 180 个字)
例如:您的订单号是:9633。已由顺风快递发出,请注意查收。
time Unix时间戳(10位整型数字,当使用动态密码方式时为必填)
format 返回格式(可选值为:xml或json,系统默认为xml)

用户通过http 或 https提交发送短信请求到服务器后,服务器会返回一串xml格式的字符串,SubmitResult结构说明如下:

参数名称 类型 描述
code int 返回值为2时,表示提交成功
voiceid string 当提交成功后,此字段为流水号,否则为0
msg string 提交结果描述

2.4 响应示例

示例(成功)

  2         提交成功 60495654 

示例(失败)

  405 用户名或密码不正确 0     

2.5 响应参数

code msg
0 提交失败
2 提交成功
400 非法ip访问
401 帐号不能为空
402 密码不能为空
403 手机号码不能为空
4030 手机号码已被列入黑名单
404 语音内容不能为空
405 用户名或密码不正确
4050 账号被冻结
4051 剩余条数不足
4052 访问 ip 与备案 ip 不符
406 手机格式不正确
407 短信内容含有敏感字符
4071 没有提交备案模板
4072 提交的语音内容必须与报备过的模板格式相匹配
40722 变量内容超过指定的长度
408 您的帐户疑被恶意利用,已被自动冻结,如有疑问请与客服联系

2.6 GET 请求示例

        http://api.vm.ihuyi.com/webservice/voice.php?method=Submit&account=APIID& password=APIKEY&mobile=手机号码&content=您的订单号是:0648。已由顺风快递 发出,请注意查收。

3、余额查询

3.1 接口描述

通过接口可以方便的查询你的账户验证码通知短信剩余条数。

3.2 请求地址

http://api.vm.ihuyi.com/webservice/voice.php?method=GetNum
    

3.3 请求参数

参数名称 参数值描述 是否必填
account APIID(请登录用户中心【语音通知】-【产品纵览】查看)
password 1、APIKEY(请登录用户中心【语音通知】-【产品纵览】查看)
2、动态密码(生成动态密码方式请看该文档末尾的说明)
time Unix时间戳(10位整型数字,当使用动态密码方式时为必填)
format 返回格式(可选值为:xml或json,系统默认为xml)

用户通过http 或 https提交帐户余额查询请求到服务器后,服务器会返回一串xml格式的字符串,GetNumResult结构说明如下:

参数名称 类型 描述
code int 状态返回值
msg string 查询结果描述
num string 剩余数量

3.4 响应示例

示例(成功)

  2 查询成功 856         

示例(失败)

  405 用户名或密码不正确 0 

3.5 响应参数

code msg
2 查询成功
400 非法ip访问
401 帐号不能为空
402 密码不能为空
405 用户名或密码不正确
4050 账号被冻结

3.6 GET请求示例

    http://api.vm.ihuyi.com/webservice/voice.php?method=GetNum&account=APIID&password=APIKEY

4、发送回执推送

4.1 接口描述

用户先提供数据接收地址,然后绑定到互亿无线系统后台,平台会以POST方式实时的将回执信息推送到此地址。

4.2 推送参数

参数名称 参数值描述
code 状态值(2 成功 0 失败)
msg 回执状态说明
mobilephone 手机号码
talktime 接听时间(秒)
voiceid 流水号(对应提交时返回的voiceid)
report_time 回执时间 例:2018-05-24 17:46:50

注意: 成功接收请输出字符 “success” (不包含引号)结束推送,否则以接收失败处理。 每个回执最多推送 3 次。每次间隔叠加 60 秒。

code 参数说明

code msg
2 成功
0 未知错误
-1 关机
-2 停机
-3 暂时无法接通
-4 正在通话
-5 空号
-6 无人接听
-7 开通来电提醒
-8 呼入限制
-9 网络忙
-10 呼出限制
-11 线路忙
-12 用户拒接
-13 呼叫转移
-14 传真机摘机识别
-15 自动应答机摘机识别
-16 自然人摘机识别
-17 接通无人回话
-18 呼叫超时
-19 无应答
-20 呼叫超时
-21 空白
-22 呼叫失败

5、生成动态密码方式

以PHP为例,提交语音验证码的生成方式:

$time = time();
$password = md5($account.$apikey.$mobile.$content.$time);

例如:

    APIID: test
    APIKEY:1q784322ba1d9bb88d50cf5cdfd89k7d
    手机号:138xxxxxxxx
    内容:1125
    time:1451544941
    结果: $password=md5('test1q784322ba1d9bb88d50cf5cdfd89k7d138xxxxxxxx11251451 544941');

查询剩余条数的生成方式:

$time = time();
$password = md5($account.$apikey.$time);

例如:

APIID: test
APIKEY:1q784322ba1d9bb88d50cf5cdfd89k7d
手机号:138xxxxxxxx
time:1451544941 结果:$password=md5('test1q784322ba1d9bb88d50cf5cdfd89k7d1451544941');

Unix时间戳参考地址:http://tool.chinaz.com/Tools/unixtime.aspx

6、常见问题

6.1 如何实现 UNIX 时间戳

语言 代码
JAVA String date = new java.text.SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(new java.util.Date(Unix timestamp *1000))
Linux date -d @Unix timestamp
C strptime(datetime, "%Y-%m-%d %H:%M:%S", &tm_time); unixtime = mktime(&tm_time);
C++ std::time_t t = std::time(0);
DELPHI uses DateUtils;
DateTimeToUnix(Now)
GO import "time"
cur := time.Now()
timestamp := cur.UnixNano() / 1000000
Perl 先 my $time = Unix timestamp 然后 my ($sec, $min, $hour, $day, $month, $year) = (localtime($time))[0,1,2,3,4,5,6]
PHP date('r', Unix timestamp)
Node.js var date = new Date( time * 1000 );
var time = date.getTime()/1000;
Python 先 import time 然后 time.gmtime(Unix timestamp)
Ruby Time.at(Unix timestamp)
SHELL date +%s //UNIX 的时间戳;
VBScript / ASP DateAdd("s", Unix timestamp, "01/01/1970 00:00:00")
VB6 DateDiff("s", "1970-1-1 0:0:0", ToUnixTime)
易语言 时间_到时间戳()

语音发送错误码参照:

code msg
0 提交失败
2 提交成功
400 非法ip访问
401 帐号不能为空
402 密码不能为空
403 手机号码不能为空
4030 手机号码已被列入黑名单
404 语音内容不能为空
405 用户名或密码不正确
4050 账号被冻结
4051 剩余条数不足
4052 访问 ip 与备案 ip 不符
406 手机格式不正确
407 短信内容含有敏感字符
4071 没有提交备案模板
4072 提交的语音内容必须与报备过的模板格式相匹配
40722 变量内容超过指定的长度
408 您的帐户疑被恶意利用,已被自动冻结,如有疑问请与客服联系

余额查询错误码参照:

code msg
2 查询成功
400 非法ip访问
401 帐号不能为空
402 密码不能为空
405 用户名或密码不正确
4050 账号被冻结

发送回执错误码参照:

code msg
2 成功
0 未知错误
-1 关机
-2 停机
-3 暂时无法接通
-4 正在通话
-5 空号
-6 无人接听
-7 开通来电提醒
-8 呼入限制
-9 网络忙
-10 呼出限制
-11 线路忙
-12 用户拒接
-13 呼叫转移
-14 传真机摘机识别
-15 自动应答机摘机识别
-16 自然人摘机识别
-17 接通无人回话
-18 呼叫超时
-19 无应答
-20 呼叫超时
-21 空白
-22 呼叫失败

代码示例

语言 详情链接
PHP https://www.ihuyi.com/demo/voice_notice/php.html
JAVA https://www.ihuyi.com/demo/voice_notice/java.html
ASP https://www.ihuyi.com/demo/voice_notice/asp.html
ASP.NET(C#) https://www.ihuyi.com/demo/voice_notice/aspx.html
JSP https://www.ihuyi.com/demo/voice_notice/jsp.html
C https://www.ihuyi.com/demo/voice_notice/c.html
C++ https://www.ihuyi.com/demo/voice_notice/cpp.html
GO https://www.ihuyi.com/demo/voice_notice/go.html
PYTHON https://www.ihuyi.com/demo/voice_notice/python.html
SHELL https://www.ihuyi.com/demo/voice_notice/shell.html
VB6 https://www.ihuyi.com/demo/voice_notice/vb6.html

常见问题

目录 详情链接
模板审核标准 https://www.ihuyi.com/faq/qianmingguifan.html
签名审核标准 https://www.ihuyi.com/faq/qianmingshenhebiaozhun.html
支付问题 https://www.ihuyi.com/faq/pay.html
账号问题 https://www.ihuyi.com/faq/account.html
产品问题 https://www.ihuyi.com/faq/voice_notice.html

客户服务

内容 联系方式
400热线 400-880-8898
联系电话 021-5169 8929
邮箱 service@ihuyi.com
邮政编码 201203

市场合作/渠道代理

内容 联系方式
联系电话 15902129325
邮箱 linsn@ihuyi.com

技术支持

内容 联系方式
联系电话 021-51698929
邮箱 support@ihuyi.com

公司地址

内容 联系方式
上海总公司 上海市浦东新区纳贤路800号1栋B区5层
南京分公司 南京市秦淮区瞻园路19号
成都分公司 中国(四川)自由贸易试验区成都高新区天府街69号

热门接口

服务热线:
4008 808 898