本文檔主要提供給互億平臺的用戶對接接口的使用說明,開發(fā)者可以利用 ihuyi 提供的 HTTP 接口,調用 ihuyi 的語音通知服務。
本文檔包含語音發(fā)送、余額查詢、發(fā)送回執(zhí)推送等。
GET / POST
1、采用HTTPS協(xié)議提交請求
2、通過MD5動態(tài)簽名方式加密
登錄用戶中心,進入【語音通知】模塊,在【產品總攬】頁面右上角,如下圖所示:
語音通知模板是對您將要發(fā)送的語音進行相似性提取后的內容。舉個例子,
A 用戶是您的老會員,即將過生日,需要發(fā)送一條語音短信,內容如下: |
您的客戶張茜將于 2 天后過生日,別忘記注意祝福哦~ |
同時,B 用戶是您的老會員,即將過生日,發(fā)送了如下語音短信: |
您的客戶趙鑫將于 3 天后過生日,別忘記注意祝福哦~ |
我們提取相似度以后,可以制作以下語音模板: |
您的客戶【變量】將于 【變量】天后過生日,別忘記注意祝福哦~ |
其中,變量是可變的,可以是 數(shù)字、字母、漢字。 |
通過POST、 GET 方式提交語音通知,內容格式為:Content-Type: application/x-www-form-urlencoded,數(shù)據(jù)編碼采用utf-8格式。
http://api.vm.ihuyi.com/webservice/voice.php?method=Submit
參數(shù)名稱 | 參數(shù)值描述 | 必填 |
account | APIID(用戶中心【語音通知】-【產品總覽】查看) | 是 |
password | 1、APIKEY(用戶中心【語音通知】-【產品總覽】查看) 2、動態(tài)密碼(生成動態(tài)密碼方式請看該文檔末尾的說明) |
是 |
mobile | 支持中國內地手機號碼及固話號碼。 手機號:11位,示例:139****0000。 固話號碼:{區(qū)號}{號碼},示例:02151****29。 接收手機號碼,只能提交一個號碼 |
是 |
content | 語音通知內容(編碼格式為 UTF-8) 例如:您的訂單號是:9633。已由順風快遞發(fā)出,請注意查收。 |
是 |
time | Unix時間戳(10位整型數(shù)字,當使用動態(tài)密碼方式時為必填) | 否 |
format | 返回格式(可選值為:xml或json,系統(tǒng)默認為xml) | 否 |
用戶通過http 或 https提交發(fā)送短信請求到服務器后,服務器會返回一串xml格式的字符串,SubmitResult結構說明如下:
參數(shù)名稱 | 類型 | 描述 |
code | int | 返回值為2時,表示提交成功 |
voiceid | string | 當提交成功后,此字段為流水號,否則為0 |
msg | string | 提交結果描述 |
示例(成功)
2
提交成功 60495654
示例(失敗)
405
account或password不正確 0
code | msg |
0 | 提交失敗 |
2 | 提交成功 |
400 | 非法ip訪問 |
401 | 帳號不能為空 |
402 | 密碼不能為空 |
403 | 手機號碼不能為空 |
4030 | 手機號碼已被列入黑名單 |
404 | 語音內容不能為空 |
405 | 用戶名或密碼不正確 |
4050 | 賬號被凍結 |
40505 | 沒有簽定合同 |
4051 | 剩余條數(shù)不足 |
4052 | 訪問 ip 與備案 ip 不符 |
406 | 手機格式不正確 |
407 | 短信內容含有敏感字符 |
4071 | 沒有提交備案模板 |
4072 | 提交的語音內容必須與報備過的模板格式相匹配 |
40722 | 變量內容超過指定的長度 |
4077 | 發(fā)送內容未在運營商報備 |
408 | 您的帳戶疑被惡意利用,已被自動凍結,如有疑問請與客服聯(lián)系 |
4080 | 同一手機號碼同一秒鐘之內發(fā)送頻率不能超過1條 |
4081 | 同一手機號一分鐘之內發(fā)送超過3條 |
4082 | 超出同一手機號一天之內10條短信限制 |
http://api.vm.ihuyi.com/webservice/voice.php?method=Submit&account=APIID& password=APIKEY&mobile=手機號碼&content=您的訂單號是:0648。已由順風快遞 發(fā)出,請注意查收。
通過POST、 GET 方式查詢你的賬戶語音通知剩余條數(shù),內容格式為:Content-Type: application/x-www-form-urlencoded,數(shù)據(jù)編碼采用utf-8格式。
http://api.vm.ihuyi.com/webservice/voice.php?method=GetNum
參數(shù)名稱 | 參數(shù)值描述 | 是否必填 |
account | APIID(用戶中心【語音通知】-【產品總覽】查看) | 是 |
password | 1、APIKEY(用戶中心【語音通知】-【產品總覽】查看) 2、動態(tài)密碼(生成動態(tài)密碼方式請看該文檔末尾的說明) |
是 |
time | Unix時間戳(10位整型數(shù)字,當使用動態(tài)密碼方式時為必填) | 否 |
format | 返回格式(可選值為:xml或json,系統(tǒng)默認為xml) | 否 |
用戶通過http 或 https提交帳戶余額查詢請求到服務器后,服務器會返回一串xml格式的字符串,GetNumResult結構說明如下:
參數(shù)名稱 | 類型 | 描述 |
code | int | 狀態(tài)返回值 |
msg | string | 查詢結果描述 |
num | string | 剩余數(shù)量 |
示例(成功)
2
查詢成功 856
示例(失?。?/p>
405
account或password不正確 0
code | msg |
2 | 查詢成功 |
400 | 非法ip訪問 |
401 | 帳號不能為空 |
402 | 密碼不能為空 |
405 | 用戶名或密碼不正確 |
4050 | 賬號被凍結 |
http://api.vm.ihuyi.com/webservice/voice.php?method=GetNum&account=APIID&password=APIKEY
通過POST、 GET 方式提交語音通知模板,內容格式為:Content-Type: application/x-www-form-urlencoded,數(shù)據(jù)編碼采用utf-8格式。
http://api.vm.ihuyi.com/webservice/voice.php?method=AddTemplate&account=APIID&password=APIKEY&content=您的訂單號是:【變量】。已由順風快遞發(fā)出,請注意查收。
參數(shù)名稱 | 參數(shù)值描述 |
method | AddTemplate |
account | APIID(用戶中心【語音通知】-【產品總覽】查看) |
password | 1、APIKEY(用戶中心【語音通知】-【產品總覽】查看) 2、動態(tài)密碼(生成動態(tài)密碼方式請看該文檔末尾的說明) |
content | 模板內容 |
返回值 AddTemplateResult 結構說明:
參數(shù)名稱 | 類型 | 描述 |
code | int | 返回值為 2 時,表示添加成功 |
msg | string | 提交狀態(tài)描述 |
templateid | int | 添加成功則返回模板 ID |
code | msg |
2 | 添加成功 |
400 | 非法ip訪問 |
401 | 用戶名不能為空 |
402 | 密碼不能為空 |
404 | 模板內容不能為空 |
405 | 用戶名或密碼不正確 |
4050 | 賬號被凍結 |
407 | 模板內容含有敏感字符 |
408 | 模板己存在 |
在遵守 HTTP 協(xié)議規(guī)范的前提下,通過 POST 方式將回執(zhí)推送到用戶指定的 URL 地址。
注意:接口推送后請記錄數(shù)據(jù)并及時返回結果,業(yè)務邏輯采用異步處理,避免接口響應超時而導致重復推送。
參數(shù)說明:
參數(shù)名稱 | 參數(shù)值描述 |
code | 狀態(tài)值(2 成功 0 駁回) |
msg | 審核狀態(tài)描述 |
templateid | 模板 ID |
注意:
1.成功接收請輸出字符 “success” (不包含引號)結束推送,否則以接收失敗處理。
2.每個回執(zhí)最多推送 3 次。每次間隔疊加 60 秒。
3.code 值說明
2 成功
0 駁回(原因請看 msg 字段)
通過POST、 GET 方式刪除語音通知模板,內容格式為:Content-Type: application/x-www-form-urlencoded,數(shù)據(jù)編碼采用utf-8格式。
http://api.vm.ihuyi.com/webservice/voice.php?method=DelTemplate&account=APIID&password=APIKEY&templateid=123
參數(shù)名稱 | 參數(shù)值描述 |
method | DelTemplate |
account | APIID(用戶中心【語音通知】-【產品總覽】查看) |
password | 1、APIKEY(用戶中心【語音通知】-【產品總覽】查看) 2、動態(tài)密碼(生成動態(tài)密碼方式請看該文檔末尾的說明) |
templateid | 模板id |
返回值 AddTemplateResult 結構說明:
參數(shù)名稱 | 類型 | 描述 |
code | int | 返回值為 2 時,表示刪除成功 |
msg | string | 提交狀態(tài)描述 |
code | msg |
2 | 刪除成功 |
400 | 非法ip訪問 |
401 | 用戶名不能為空 |
402 | 密碼不能為空 |
404 | 模板ID不能為空或模板ID不存在 |
405 | 用戶名或密碼不正確 |
4050 | 賬號被凍結 |
用戶先提供數(shù)據(jù)接收地址,然后綁定到互億無線系統(tǒng)后臺,平臺會以POST方式實時的將回執(zhí)信息推送到此地址,內容格式為:Content-Type: application/x-www-form-urlencoded。
注意:接口推送后請記錄數(shù)據(jù)并及時返回結果,業(yè)務邏輯采用異步處理,避免接口響應超時而導致重復推送。
參數(shù)名稱 | 參數(shù)值描述 |
code | 狀態(tài)值(2 成功 0 失敗) |
msg | 回執(zhí)狀態(tài)說明 |
mobilephone | 手機號碼 |
talktime | 接聽時間(秒) |
voiceid | 流水號(對應提交時返回的voiceid) |
report_time | 回執(zhí)時間 例:2018-05-24 17:46:50 |
注意: 成功接收請輸出字符 “success” (不包含引號)結束推送,否則以接收失敗處理。 每個回執(zhí)最多推送 3 次。每次間隔疊加 60 秒。
code 參數(shù)說明
code | msg |
2 | 成功 |
0 | 未知錯誤 |
-1 | 關機 |
-2 | 停機 |
-3 | 暫時無法接通 |
-4 | 正在通話 |
-5 | 空號 |
-6 | 無人接聽 |
-8 | 呼入限制 |
-9 | 網(wǎng)絡忙 |
-10 | 呼出限制 |
-11 | 線路忙 |
-12 | 用戶拒接 |
以PHP為例,提交語音驗證碼的生成方式:
$time = time(); $password = md5($account.$apikey.$mobile.$content.$time);
例如:
APIID: test APIKEY:1q784322ba1d9bb88d50cf5cdfd89k7d 手機號:138xxxxxxxx 內容:1125 time:1451544941 結果: $password=md5('test1q784322ba1d9bb88d50cf5cdfd89k7d138xxxxxxxx11251451 544941');
查詢剩余條數(shù)的生成方式:
$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
語言 | 代碼 |
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) |
易語言 | 時間_到時間戳() |
互億無線提供各種語言的語音通知接口DEMO,詳情請點擊:語音通知接口示例
驗證碼已發(fā)送到您的手機,請查收!
輸入驗證碼后,點擊“開通體驗賬戶”按鈕可立即開通體驗賬戶。