功能示例 / Example
驗(yàn)證碼【變量】,您正嘗試異地登錄,若非本人操作,請(qǐng)勿泄露。
您正在進(jìn)行支付安全確認(rèn),驗(yàn)證碼是【變量】,請(qǐng)勿將驗(yàn)證碼泄露給他人,如非本人操作,可不用理會(huì)!
開發(fā)流程 / Process
-
注冊(cè)開發(fā)者賬號(hào)
-
免費(fèi)測(cè)試短信發(fā)送
-
購(gòu)買短信套餐
-
快速調(diào)用接口
-
完成開發(fā)
接口介紹 / Introduction
-
簡(jiǎn)單開發(fā)
支持HTTPS、CMPP、SMPP協(xié)議標(biāo)準(zhǔn),提供多種開發(fā)語(yǔ)言文檔
-
穩(wěn)定發(fā)送
專業(yè)機(jī)房,超大容量,海量并發(fā)支持
-
服務(wù)保障
7*24小時(shí)售后服務(wù),專業(yè)運(yùn)維實(shí)時(shí)監(jiān)控
應(yīng)用場(chǎng)景 / Scenes
-
注冊(cè)登錄
適用于網(wǎng)站/APP的短信登錄、賬號(hào)注冊(cè)場(chǎng)景,保障企業(yè)賬號(hào)體系安全
-
安全支付
適用于網(wǎng)站/APP執(zhí)行付款操作,為財(cái)產(chǎn)安全保駕護(hù)航
-
信息變更
適用于信息變更、賬號(hào)綁定、密碼找回等場(chǎng)景,保護(hù)用戶賬號(hào)安全
- 概要
- 短信發(fā)送
- 余額查詢
- 發(fā)送回執(zhí)推送
- 上行回復(fù)推送
- 提交模板
- 生成動(dòng)態(tài)密碼
- 常見問(wèn)題
- 短信插件
1、概要
1.1 文檔說(shuō)明
本文檔主要提供給互億平臺(tái)的用戶對(duì)接接口的使用說(shuō)明,開發(fā)者可以利用 ihuyi 提供的 HTTP 接口,調(diào)用 ihuyi 的短信驗(yàn)證碼/通知服務(wù)。
1.2 接口內(nèi)容
本文檔包含短信發(fā)送、余額查詢、發(fā)送回執(zhí)推送、上行回復(fù)推送等。
1.3 提交方式
GET / POST
1.4 加密方式
1、采用HTTPS協(xié)議提交請(qǐng)求
2、通過(guò)MD5動(dòng)態(tài)簽名方式加密
1.5 API ID / API KEY
登錄用戶中心,進(jìn)入【驗(yàn)證碼通知短信】模塊,在【產(chǎn)品總攬】頁(yè)面右上角,如下圖所示:
1.6 短信模版
短信模板是對(duì)您將要發(fā)送的短信進(jìn)行相似性提取后的內(nèi)容。舉個(gè)例子,
A 用戶在您平臺(tái)注冊(cè)會(huì)員,需要發(fā)送一條短信,內(nèi)容如下: |
您好,您的驗(yàn)證碼是:666666 |
同時(shí),B 用戶也在您的平臺(tái)注冊(cè)會(huì)員,發(fā)送了如下短信: |
您好,您的驗(yàn)證碼是:888888 |
我們提取相似度以后,可以制作以下短信模板: |
您好,您的驗(yàn)證碼是:【變量】 |
其中,變量是可變的,可以是 數(shù)字、字母、漢字。 |
注意:未付費(fèi)用戶僅可使用默認(rèn)短信模板,付費(fèi)用戶可以通過(guò)左側(cè)導(dǎo)航【驗(yàn)證碼通知短信】 -【短信發(fā)送】-【簽名/模版管理】新增短信模板,運(yùn)營(yíng)商審核通過(guò)之后即可正式使用。
1.7 短信簽名
短信簽名是加在短信的開頭或結(jié)尾,在【】加上您的公司名稱或店鋪名稱的標(biāo)識(shí)符,例如:【互億無(wú)線】。 根據(jù)電信基礎(chǔ)運(yùn)營(yíng)商的規(guī)定,每條短信必須附加短信簽名,否則將無(wú)法正常發(fā)送。
注意:未付費(fèi)用戶僅可使用默認(rèn)短信簽名【互億無(wú)線】,付費(fèi)用戶可以通過(guò)點(diǎn)擊左側(cè)導(dǎo)航【驗(yàn)證碼通知短信】-【短信發(fā)送】-【簽名/模版管理】修改簽名,運(yùn)營(yíng)商審核通過(guò)之后即可正式使用。
2、短信發(fā)送
2.1 接口描述
通過(guò)POST、 GET 方式進(jìn)行短信提交,數(shù)據(jù)編碼采用utf-8格式,24小時(shí)全天發(fā)送。
2.2 請(qǐng)求地址
https://106.ihuyi.com/webservice/sms.php?method=Submit
2.3 請(qǐng)求參數(shù)
參數(shù)名稱 | 參數(shù)值描述 | 必填 |
account | APIID(用戶中心【驗(yàn)證碼通知短信】-【產(chǎn)品縱覽】查看) | 是 |
password | 1、APIKEY(用戶中心【驗(yàn)證碼通知短信】-【產(chǎn)品縱覽】查看) 2、動(dòng)態(tài)密碼(生成動(dòng)態(tài)密碼方式請(qǐng)看該文檔末尾的說(shuō)明) |
是 |
mobile | 接收手機(jī)號(hào)碼,只能提交1個(gè)號(hào)碼 | 是 |
content | 短信內(nèi)容(編碼格式為 UTF-8,支持 300 個(gè)字的長(zhǎng)短信,長(zhǎng)短信 按多條計(jì)費(fèi)) 例如:您的驗(yàn)證碼是:1234。請(qǐng)不要把驗(yàn)證碼泄露給其他人。 |
是 |
time | Unix時(shí)間戳(10位整型數(shù)字,當(dāng)使用動(dòng)態(tài)密碼方式時(shí)為必填) | 否 |
format | 返回格式(可選值為:xml或json,系統(tǒng)默認(rèn)為xml) | 否 |
用戶通過(guò)http 或 https提交發(fā)送短信請(qǐng)求到服務(wù)器后,服務(wù)器會(huì)返回一串xml格式的字符串,SubmitResult結(jié)構(gòu)說(shuō)明如下:
參數(shù)名稱 | 類型 | 描述 |
code | int | 返回值為2時(shí),表示提交成功 |
smsid | string | 當(dāng)提交成功后,此字段為流水號(hào),否則為0 |
msg | string | 提交結(jié)果描述 |
2.4 響應(yīng)示例
示例(成功)
2
提交成功 14745625541233112231
示例(失?。?/p>
405
用戶名或密碼不正確 0
2.5 響應(yīng)參數(shù)
code | msg |
0 | 提交失敗 |
2 | 提交成功 |
400 | 非法ip訪問(wèn) |
401 | 帳號(hào)不能為空 |
402 | 密碼不能為空 |
403 | 手機(jī)號(hào)碼不能為空 |
4030 | 手機(jī)號(hào)碼已被列入黑名單 |
404 | 短信內(nèi)容不能為空 |
405 | API ID 或 API KEY 不正確 |
4050 | 賬號(hào)被凍結(jié) |
40501 | 動(dòng)態(tài)密碼已過(guò)期 |
40502 | 動(dòng)態(tài)密碼校驗(yàn)失敗 |
4051 | 剩余條數(shù)不足 |
4052 | 訪問(wèn) ip 與備案 ip 不符 |
406 | 手機(jī)格式不正確 |
407 | 短信內(nèi)容含有敏感字符 |
4070 | 簽名格式不正確 |
4071 | 簽名格式不正確 |
4072 | 簽名格式不正確 |
40722 | 變量?jī)?nèi)容超過(guò)指定的長(zhǎng)度【8】 |
4073 | 短信內(nèi)容超出長(zhǎng)度限制 |
4074 | 短信內(nèi)容包含 emoji 符號(hào) |
4075 | 簽名未通過(guò)審核 |
408 | 發(fā)送超限([20]條),已加入黑名單,可登入平臺(tái)解除 |
4080 | 同一手機(jī)號(hào)碼同一秒鐘之內(nèi)發(fā)送頻率不能超過(guò) 1 條 |
4082 | 超出同一手機(jī)號(hào)一天之內(nèi)【5】條短信限制 |
4085 | 同一手機(jī)號(hào)驗(yàn)證碼短信發(fā)送超出【5】條 |
2.6 請(qǐng)求示例
http://106.ihuyi.com/webservice/sms.php?method=Submit&account=APIID&password=APIKEY&mobile=手機(jī)號(hào)碼&content=您的驗(yàn)證碼是:1234。請(qǐng)不要把驗(yàn)證碼泄露給其他人。
3、余額查詢
3.1 接口描述
通過(guò)接口可以方便的查詢你的賬戶驗(yàn)證碼通知短信剩余條數(shù)。
3.2 請(qǐng)求地址
http://106.ihuyi.com/webservice/sms.php?method=GetNum
3.3 請(qǐng)求參數(shù)
參數(shù)名稱 | 參數(shù)值描述 | 是否必填 |
account | APIID(請(qǐng)登錄用戶中心【驗(yàn)證碼通知短信】-【產(chǎn)品縱覽】查看) | 是 |
password | 1、APIKEY(請(qǐng)登錄用戶中心【驗(yàn)證碼通知短信】-【產(chǎn)品縱覽】查看) 2、動(dòng)態(tài)密碼(生成動(dòng)態(tài)密碼方式請(qǐng)看該文檔末尾的說(shuō)明) |
是 |
time | Unix時(shí)間戳(10位整型數(shù)字,當(dāng)使用動(dòng)態(tài)密碼方式時(shí)為必填) | 否 |
format | 返回格式(可選值為:xml或json,系統(tǒng)默認(rèn)為xml) | 否 |
用戶通過(guò)http 或 https提交帳戶余額查詢請(qǐng)求到服務(wù)器后,服務(wù)器會(huì)返回一串xml格式的字符串,GetNumResult結(jié)構(gòu)說(shuō)明如下:
參數(shù)名稱 | 類型 | 描述 |
code | int | 狀態(tài)返回值 |
msg | string | 查詢結(jié)果描述 |
num | string | 剩余數(shù)量 |
3.4 響應(yīng)示例
示例(成功)
2
查詢成功 856
示例(失?。?/p>
405
用戶名或密碼不正確 0
3.5 響應(yīng)參數(shù)
code | msg |
2 | 查詢成功 |
400 | 非法ip訪問(wèn) |
401 | 帳號(hào)不能為空 |
402 | 密碼不能為空 |
405 | 用戶名或密碼不正確 |
4050 | 賬號(hào)被凍結(jié) |
3.6 GET請(qǐng)求示例
http://106.ihuyi.com/webservice/sms.php?method=GetNum&account=APIID&password=APIKEY
4、發(fā)送回執(zhí)推送
4.1 接口描述
用戶先提供數(shù)據(jù)接收地址,然后綁定到互億無(wú)線系統(tǒng)后臺(tái),平臺(tái)會(huì)以POST方式實(shí)時(shí)的將回執(zhí)信息推送到此地址。
4.2 推送參數(shù)
參數(shù)名稱 | 參數(shù)值描述 |
code | 狀態(tài)值(2成功 其他為失?。?/td> |
msg | 回執(zhí)狀態(tài)說(shuō)明 |
mobilephone | 手機(jī)號(hào)碼 |
smsid | 流水號(hào)(對(duì)應(yīng)提交時(shí)返回的smsid) |
report_time | 回執(zhí)時(shí)間 例:2017-08-02 14:31:51 |
注意: 成功接收請(qǐng)輸出字符 “success” (不包含引號(hào))結(jié)束推送,否則以接收失敗處理。 每個(gè)回執(zhí)最多推送 3 次。每次間隔疊加 60 秒。
5、上行回復(fù)推送
5.1 接口描述
用戶先提供數(shù)據(jù)接收地址,然后綁定到互億無(wú)線系統(tǒng)后臺(tái),平臺(tái)會(huì)以 POST 方式實(shí)時(shí)的將 回復(fù)信息推送到此地址。
5.2 推送參數(shù)
參數(shù)名稱 | 參數(shù)值描述 |
mobilephone | 手機(jī)號(hào)碼 |
content | 上行內(nèi)容 |
smsid | 流水號(hào)(對(duì)應(yīng)提交時(shí)返回的 smsid)(僅作參考) |
reply_time | 上行時(shí)間 例:2017-05-24 17:46:50 |
注意: 成功接收請(qǐng)輸出字符 “success” (不包含引號(hào))結(jié)束推送,否則以接收失敗處理。每個(gè)回執(zhí)最多推送 3 次。每次間隔疊加 60 秒。
6、提交模板
6.1 接口描述
通過(guò) POST、 GET 方式提交短信模版,數(shù)據(jù)編碼采用 utf-8 格式,24 小時(shí)全天發(fā)送。
6.2 請(qǐng)求地址
http://106.ihuyi.com/webservice/sms.php?method=AddTemplate&account=APIID&password=APIKEY&content=您的驗(yàn)證碼是:【變量】。請(qǐng)不要把驗(yàn)證碼泄露給其他人。
6.3 請(qǐng)求參數(shù)
參數(shù)名稱 | 參數(shù)值描述 |
method | AddTemplate |
account | 提交賬戶 |
password | 提交賬戶密碼 (可以明文密碼或使用 32 位 MD5 加密) |
模板內(nèi)容 | 模板內(nèi)容 |
返回值 AddTemplateResult 結(jié)構(gòu)說(shuō)明:
參數(shù)名稱 | 類型 | 描述 |
code | int | 返回值為 2 時(shí),表示添加成功 |
msg | string | 提交狀態(tài)描述 |
templateid | int | 添加成功則返回模板 ID |
6.4 響應(yīng)參數(shù)
code | msg |
2 | 添加成功 |
400 | 提交狀態(tài)描述 |
401 | 添加成功則返回模板 ID |
402 | 密碼不能為空 |
404 | 模板內(nèi)容不能為空 |
405 | 用戶名或密碼不正確 |
4050 | 賬號(hào)被凍結(jié) |
407 | 模板內(nèi)容含有敏感字符 |
6.5 模板審核狀態(tài)推送
在遵守 HTTP 協(xié)議規(guī)范的前提下,通過(guò) POST 方式將回執(zhí)推送到用戶指定的 URL 地址。
參數(shù)說(shuō)明:
參數(shù)名稱 | 參數(shù)值描述 |
code | 狀態(tài)值(2 成功 0 駁回) |
msg | 審核狀態(tài)描述 |
templateid | 模板 ID |
注意:
1.成功接收請(qǐng)輸出字符 “success” (不包含引號(hào))結(jié)束推送,否則以接收失敗處理。
2.每個(gè)回執(zhí)最多推送 3 次。每次間隔疊加 60 秒。
3.code 值說(shuō)明
2 成功
0 駁回(原因請(qǐng)看 msg 字段)
7、生成動(dòng)態(tài)密碼方式
以PHP為例,提交語(yǔ)音驗(yàn)證碼的生成方式:
$time = time(); $password = md5($account.$apikey.$mobile.$content.$time);
例如:
APIID: test APIKEY:1q784322ba1d9bb88d50cf5cdfd89k7d 手機(jī)號(hào):138xxxxxxxx 內(nèi)容:您的驗(yàn)證碼是:2546。請(qǐng)不要把驗(yàn)證碼泄露給其他人。 time:1451544941 結(jié)果:$password=md5('test1q784322ba1d9bb88d50cf5cdfd89k7d138xxxxxxxx 您的 驗(yàn)證碼是:2546。請(qǐng)不要把驗(yàn)證碼泄露給其他人。1451544941');
注意:因?yàn)槎绦艃?nèi)容會(huì)包含中文,所以字符編碼統(tǒng)一為 UTF-8
查詢剩余條數(shù)的生成方式:
$time = time(); $password = md5($account.$apikey.$time);
例如:
APIID: test APIKEY:1q784322ba1d9bb88d50cf5cdfd89k7d 手機(jī)號(hào):138xxxxxxxx time:1451544941 結(jié)果:$password=md5('test1q784322ba1d9bb88d50cf5cdfd89k7d1451544941');
Unix時(shí)間戳參考地址:http://tool.chinaz.com/Tools/unixtime.aspx
8、常見問(wèn)題
8.1 如何處理亂碼
說(shuō)明: 將短信內(nèi)容( content)進(jìn)行 UTF-8 編碼后提交。
PHP 亂碼:
$content = iconv("GBK","UTF-8",$content);
JAVA 亂碼:
sb.append("&content="+URLEncoder.encode(content,"UTF-8"));
C#亂碼:
byte[] bTemp = System.Text.Encoding.GetEncoding("GBK").GetBytes(sbTemp.ToString());
8.2 如何實(shí)現(xiàn) UNIX 時(shí)間戳
語(yǔ)言 | 代碼 |
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 的時(shí)間戳; |
VBScript / ASP | DateAdd("s", Unix timestamp, "01/01/1970 00:00:00") |
VB6 | DateDiff("s", "1970-1-1 0:0:0", ToUnixTime) |
易語(yǔ)言 | 時(shí)間_到時(shí)間戳() |
9、短信插件
短信發(fā)送錯(cuò)誤碼參照:
code | msg |
0 | 提交失敗 |
2 | 提交成功 |
400 | 非法ip訪問(wèn) |
401 | 帳號(hào)不能為空 |
402 | 密碼不能為空 |
403 | 手機(jī)號(hào)碼不能為空 |
4030 | 手機(jī)號(hào)碼已被列入黑名單 |
404 | 短信內(nèi)容不能為空 |
405 | API ID 或 API KEY 不正確 |
4050 | 賬號(hào)被凍結(jié) |
40501 | 動(dòng)態(tài)密碼已過(guò)期 |
40502 | 動(dòng)態(tài)密碼校驗(yàn)失敗 |
4051 | 剩余條數(shù)不足 |
4052 | 訪問(wèn) ip 與備案 ip 不符 |
406 | 手機(jī)格式不正確 |
407 | 短信內(nèi)容含有敏感字符 |
4070 | 簽名格式不正確 |
4071 | 簽名格式不正確 |
4072 | 簽名格式不正確 |
40722 | 變量?jī)?nèi)容超過(guò)指定的長(zhǎng)度【8】 |
4073 | 短信內(nèi)容超出長(zhǎng)度限制 |
4074 | 短信內(nèi)容包含 emoji 符號(hào) |
4075 | 簽名未通過(guò)審核 |
408 | 發(fā)送超限([20]條),已加入黑名單,可登入平臺(tái)解除 |
4080 | 同一手機(jī)號(hào)碼同一秒鐘之內(nèi)發(fā)送頻率不能超過(guò) 1 條 |
4082 | 超出同一手機(jī)號(hào)一天之內(nèi)【5】條短信限制 |
4085 | 同一手機(jī)號(hào)驗(yàn)證碼短信發(fā)送超出【5】條 |
余額查詢錯(cuò)誤碼參照:
code | msg |
2 | 查詢成功 |
400 | 非法ip訪問(wèn) |
401 | 帳號(hào)不能為空 |
402 | 密碼不能為空 |
405 | 用戶名或密碼不正確 |
4050 | 賬號(hào)被凍結(jié) |
提交模板錯(cuò)誤碼參照:
code | msg |
2 | 添加成功 |
400 | 提交狀態(tài)描述 |
401 | 添加成功則返回模板 ID |
402 | 密碼不能為空 |
404 | 模板內(nèi)容不能為空 |
405 | 用戶名或密碼不正確 |
4050 | 賬號(hào)被凍結(jié) |
407 | 模板內(nèi)容含有敏感字符 |
代碼示例
常見問(wèn)題
目錄 | 詳情鏈接 |
模板審核標(biāo)準(zhǔn) | http://m.422ajvm.cn/faq/qianmingguifan.html |
簽名審核標(biāo)準(zhǔn) | http://m.422ajvm.cn/faq/qianmingshenhebiaozhun.html |
支付問(wèn)題 | http://m.422ajvm.cn/faq/pay.html |
賬號(hào)問(wèn)題 | http://m.422ajvm.cn/faq/account.html |
產(chǎn)品問(wèn)題 | http://m.422ajvm.cn/faq/sms.html |
客戶服務(wù)
內(nèi)容 | 聯(lián)系方式 |
400熱線 | 400-880-8898 |
聯(lián)系電話 | 021-5169 8929 |
郵箱 | service@ihuyi.com |
郵政編碼 | 201203 |
市場(chǎng)合作/渠道代理
內(nèi)容 | 聯(lián)系方式 |
聯(lián)系電話 | 15902129325 |
郵箱 | linsn@ihuyi.com |
技術(shù)支持
內(nèi)容 | 聯(lián)系方式 |
聯(lián)系電話 | 4008 808 898 |
郵箱 | support@ihuyi.com |
公司地址
內(nèi)容 | 聯(lián)系方式 |
上??偣?/td> | 上海市浦東新區(qū)納賢路800號(hào)A座401 |
南京分公司 | 南京市秦淮區(qū)瞻園路19號(hào) |
成都分公司 | 中國(guó)(四川)自由貿(mào)易試驗(yàn)區(qū)成都高新區(qū)天府街69號(hào) |
熱門接口
-
短信群發(fā)接口
短信API接口調(diào)用,三網(wǎng)合一直連通道,15分鐘即可完成接入
-
語(yǔ)音驗(yàn)證碼接口
語(yǔ)音短信API接口調(diào)用,三網(wǎng)合一直連通道,15分鐘即可完成接入
-
語(yǔ)音通知接口
語(yǔ)音接口開發(fā),支持移動(dòng)、聯(lián)通、電信三網(wǎng)發(fā)送,0技術(shù)基礎(chǔ)接入語(yǔ)音通知服務(wù)
-
國(guó)際短信接口
國(guó)際短信API接口調(diào)用,三網(wǎng)合一直連通道,15分鐘即可完成接入
-
彩信群發(fā)接口
彩信群發(fā)API接口調(diào)用,支持移動(dòng)、聯(lián)通、電信,適用于新品上線、活動(dòng)促銷、企業(yè)宣傳等場(chǎng)景