互億無(wú)線 > 詞條 > R > Ruby實(shí)現(xiàn)語(yǔ)音通知功能

Ruby實(shí)現(xiàn)語(yǔ)音通知功能

  • 代碼示例
  • API接口
  • 錯(cuò)誤碼參照

PHP代碼示例

//接口類型:互億無(wú)線語(yǔ)音驗(yàn)證碼接口。
//賬戶注冊(cè):請(qǐng)通過(guò)該地址開(kāi)通賬戶http://user.ihuyi.com/register.html
//注意事項(xiàng):
//(1)調(diào)試期間,請(qǐng)仔細(xì)閱讀接口文檔;
//(2)請(qǐng)使用 APIID 及 APIKEY來(lái)調(diào)用接口,可在會(huì)員中心獲取;
//(3)該代碼僅供接入互億無(wú)線短信接口參考使用,客戶可根據(jù)實(shí)際需要自行編寫(xiě);
  
header("Content-type:text/html; charset=UTF-8");
  
function Post($curlPost,$url){
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_HEADER, false);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_NOBODY, true);
        curl_setopt($curl, CURLOPT_POST, true);
        curl_setopt($curl, CURLOPT_POSTFIELDS, $curlPost);
        $return_str = curl_exec($curl);
        curl_close($curl);
        return $return_str;
}
function xml_to_array($xml){
    $reg = "/<(\w+)[^-->]*>([\\x00-\\xFF]*)<\\/\\1>/";
    if(preg_match_all($reg, $xml, $matches)){
        $count = count($matches[0]);
        for($i = 0; $i < $count; $i++){
        $subxml= $matches[2][$i];
        $key = $matches[1][$i];
            if(preg_match( $reg, $subxml )){
                $arr[$key] = xml_to_array( $subxml );
            }else{
                $arr[$key] = $subxml;
            }
        }
    }
    return $arr;
}
  
$target = "http://api.voice.ihuyi.com/webservice/voice.php?method=Submit";
$mobile = '136xxxxxxxx';//手機(jī)號(hào)碼
$post_data = "account=用戶名&password=密碼&mobile=".$mobile."&content=1125";
//查看用戶名 登錄用戶中心->語(yǔ)音驗(yàn)證碼>產(chǎn)品總覽->API接口信息->APIID
//查看密碼 登錄用戶中心->語(yǔ)音驗(yàn)證碼>產(chǎn)品總覽->API接口信息->APIKEY
$gets =  xml_to_array(Post($post_data, $target));
if($gets['SubmitResult']['code']==2){
    echo '提交成功';
}
                    
                    
                    
                    
                    

JAVA代碼示例

import java.io.IOException;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
  
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
  
import util.StringUtil;
  
  
//接口類型:互億無(wú)線語(yǔ)音驗(yàn)證碼接口。
//賬戶注冊(cè):請(qǐng)通過(guò)該地址開(kāi)通賬戶http://user.ihuyi.com/register.html
//注意事項(xiàng):
//(1)調(diào)試期間,請(qǐng)仔細(xì)閱讀接口文檔;
//(2)請(qǐng)使用 APIID 及 APIKEY來(lái)調(diào)用接口,可在會(huì)員中心獲取;
//(3)該代碼僅供接入互億無(wú)線短信接口參考使用,客戶可根據(jù)實(shí)際需要自行編寫(xiě);
  
public class sendsms {
      
    private static String Url = "http://api.voice.ihuyi.com/webservice/voice.php?method=Submit";
  
    public static void main(String [] args) {
          
        HttpClient client = new HttpClient();
        PostMethod method = new PostMethod(Url);
  
        //client.getParams().setContentCharset("GBK");
        client.getParams().setContentCharset("UTF-8");
        method.setRequestHeader("ContentType","application/x-www-form-urlencoded;charset=UTF-8");
  
        NameValuePair[] data = {//提交短信
                new NameValuePair("account", "用戶名"),//查看用戶名 登錄用戶中心->語(yǔ)音驗(yàn)證碼>產(chǎn)品總覽->API接口信息->APIID
                new NameValuePair("password", "密碼"),//查看密碼 登錄用戶中心->語(yǔ)音驗(yàn)證碼>產(chǎn)品總覽->API接口信息->APIKEY
                new NameValuePair("mobile", "139xxxxxxxx"),//手機(jī)號(hào)碼
                new NameValuePair("content", "1125"),
        };
  
        method.setRequestBody(data);
  
        try {
            client.executeMethod(method);
              
            String SubmitResult = method.getResponseBodyAsString();
  
            //System.out.println(SubmitResult);
  
            Document doc = DocumentHelper.parseText(SubmitResult);
            Element root = doc.getRootElement();
  
            String code = root.elementText("code");
            String msg = root.elementText("msg");
            String voiceid = root.elementText("voiceid");
  
            System.out.println(code);
            System.out.println(msg);
            System.out.println(voiceid);
  
              if("2".equals(code)){
                System.out.println("短信提交成功");
            }
  
        } catch (HttpException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (DocumentException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
  
    }
  
}
                    
                    
                    
                    

1 接口描述

通過(guò)POST、 GET 方式進(jìn)行短信提交,數(shù)據(jù)編碼采用utf-8格式,24小時(shí)全天發(fā)送。

2 請(qǐng)求地址

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

3 請(qǐng)求參數(shù)

參數(shù)名稱 參數(shù)值描述 必填
account APIID(請(qǐng)登錄用戶中心【語(yǔ)音驗(yàn)證碼】-【產(chǎn)品縱覽】查看)
password 1、APIKEY(請(qǐng)登錄用戶中心【語(yǔ)音驗(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 驗(yàn)證碼(4-6位數(shù)字)
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é)果描述

4 響應(yīng)示例

示例(成功)


 2 提交成功 60495654 

示例(失?。?/p>


 405 用戶名或密碼不正確 0 

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 語(yǔ)音內(nèi)容不能為空
405 用戶名或密碼不正確
4050 賬號(hào)被凍結(jié)
4051 剩余條數(shù)不足
4052 訪問(wèn)ip與備案ip不符
406 手機(jī)格式不正確
407 短信內(nèi)容含有敏感字符
4070 語(yǔ)音驗(yàn)證碼內(nèi)容必須為4-6位數(shù)字
408 您的帳戶疑被惡意利用,已被自動(dòng)凍結(jié),如有疑問(wèn)請(qǐng)與客服聯(lián)系。

6 請(qǐng)求示例

http://api.voice.ihuyi.com/webservice/voice.php?method=Submit&account=APIID&password=APIKEY&mobile=手機(jī)號(hào)碼&content=1125

語(yǔ)音發(fā)送錯(cuò)誤碼參照:

code msg
0 提交失敗
2 提交成功
400 非法ip訪問(wèn)
401 帳號(hào)不能為空
402 密碼不能為空
403 手機(jī)號(hào)碼不能為空
4030 手機(jī)號(hào)碼已被列入黑名單
404 語(yǔ)音內(nèi)容不能為空
405 用戶名或密碼不正確
4050 賬號(hào)被凍結(jié)
4051 剩余條數(shù)不足
4052 訪問(wèn)ip與備案ip不符
406 手機(jī)格式不正確
407 短信內(nèi)容含有敏感字符
4070 語(yǔ)音驗(yàn)證碼內(nèi)容必須為4-6位數(shù)字
408 您的帳戶疑被惡意利用,已被自動(dòng)凍結(jié),如有疑問(wèn)請(qǐng)與客服聯(lián)系。

余額查詢錯(cuò)誤碼參照:

code msg
2 查詢成功
400 非法ip訪問(wèn)
401 帳號(hào)不能為空
402 密碼不能為空
405 用戶名或密碼不正確
4050 賬號(hào)被凍結(jié)

自助開(kāi)通云通信賬戶
免費(fèi)試用,試用滿意再購(gòu)買

Ruby實(shí)現(xiàn)語(yǔ)音通知功能相關(guān)的資訊內(nèi)容

Ruby實(shí)現(xiàn)語(yǔ)音通知功能相關(guān)的資訊詳情

語(yǔ)音通知接口一般采用http和webservice方式進(jìn)行調(diào)用。使用語(yǔ)音通知http接口的效率比較高一些,它支持客戶/服務(wù)器模式,運(yùn)行速度很快,而webservice遇到一些比較復(fù)雜麻煩的數(shù)據(jù)類型時(shí),處理起來(lái)更加有效。短信平臺(tái)通常會(huì)將語(yǔ)音通知能力進(jìn)行API封裝,開(kāi)發(fā)者僅需拷貝幾行代碼,即可在網(wǎng)站、APP、系統(tǒng)中輕松實(shí)現(xiàn)語(yǔ)音驗(yàn)證碼、語(yǔ)音通知等短信內(nèi)容的自動(dòng)化發(fā)送。開(kāi)發(fā)者用戶可以通過(guò)不同開(kāi)發(fā)語(yǔ)言,如Ruby進(jìn)行語(yǔ)音通知接口開(kāi)發(fā)。一般短信平臺(tái)提供的語(yǔ)音通知發(fā)送服務(wù),可支持全國(guó)移動(dòng)、聯(lián)通、電信手機(jī)號(hào)碼,免除運(yùn)營(yíng)商之間不同通訊協(xié)議的煩惱。為了更方便開(kāi)發(fā)者進(jìn)行語(yǔ)音通知接入,短信平臺(tái)會(huì)預(yù)先為開(kāi)發(fā)者提供各語(yǔ)言的DEMO示例供開(kāi)發(fā)者使用,僅需少量代碼即可創(chuàng)建語(yǔ)音通知API請(qǐng)求。

語(yǔ)音通知具備運(yùn)營(yíng)商特有的身份認(rèn)證能力,企業(yè)通過(guò)接入Ruby短信接口發(fā)送語(yǔ)音驗(yàn)證碼,及時(shí)有效地確認(rèn)用戶身份安全,保障用戶的賬號(hào)安全,優(yōu)化企業(yè)的服務(wù)體驗(yàn),語(yǔ)音通知?jiǎng)t是企業(yè)維護(hù)會(huì)員最常見(jiàn)的方式之一,通常具備功能性,例如系統(tǒng)通知、物流通知等,相較于新生的微信通知等方式,語(yǔ)音通知的觸達(dá)率更高,更及時(shí),也更不容易被用戶所遺漏。

現(xiàn)代企業(yè)對(duì)語(yǔ)音通知的應(yīng)用越來(lái)越重視,其在游戲、廣告、教育、五金、制造、衛(wèi)浴等多個(gè)領(lǐng)域都有舉足輕重的作用,企業(yè)通過(guò)語(yǔ)音驗(yàn)證碼解決用戶在登錄、注冊(cè)、支付等場(chǎng)景中的安全驗(yàn)證問(wèn)題,為企業(yè)完善客戶安全系統(tǒng)做出了卓越貢獻(xiàn)。

語(yǔ)音通知在信息安全服務(wù)上的優(yōu)勢(shì)很突出,語(yǔ)音通知的普遍下發(fā)速度都在5s以內(nèi),及時(shí)送達(dá)信息避免了用戶因等待產(chǎn)生的流失,同時(shí),經(jīng)過(guò)三大運(yùn)營(yíng)商加密、并通過(guò)語(yǔ)音形式下發(fā)的短信安全性也更高,避免了信息劫持造成的用戶損失。

企業(yè)想要接入語(yǔ)音通知接口,可在幫助文檔中下載Ruby短信接口文檔,如有疑問(wèn),也可聯(lián)系技術(shù)人員尋求技術(shù)幫助,最快半個(gè)小時(shí)即可完成短信的接入,此外,企業(yè)實(shí)名認(rèn)證也是必不可少的一環(huán),只有完成了企業(yè)認(rèn)證的用戶才可上線短信服務(wù)

目前主流的短信接口標(biāo)準(zhǔn)主要有HTTP、HTTPS、SMPP、CMPP、SMGP、SGIP等,其中最為常用的是HTTP、HTTPS兩種短信接口協(xié)議,HTTP是超文本傳輸協(xié)議,信息是明文傳輸,簡(jiǎn)捷快速,允許傳輸任意類型的數(shù)據(jù)對(duì)象,同時(shí)限制單次鏈接只處理一個(gè)請(qǐng)求,節(jié)省傳輸時(shí)間,但是HTTP協(xié)議是無(wú)狀態(tài)協(xié)議,對(duì)事務(wù)處理沒(méi)有記憶能力,缺少狀態(tài)必須重傳,這樣可能導(dǎo)致每次連接傳送的數(shù)據(jù)量增大。

更多關(guān)于Ruby實(shí)現(xiàn)語(yǔ)音通知功能進(jìn)入幫助文檔查看相應(yīng)內(nèi)容,您可以通過(guò)幫助文檔了解更多,也可以點(diǎn)擊互億無(wú)線工作人員進(jìn)行咨詢。

顯示更多

Ruby實(shí)現(xiàn)語(yǔ)音通知功能相關(guān)的問(wèn)答內(nèi)容

5分鐘快速自助開(kāi)通免費(fèi)試用賬戶

在線咨詢
電話咨詢

服務(wù)熱線:

4008 808 898

服務(wù)熱線(工作時(shí)間):

4008 808 898

業(yè)務(wù)咨詢(非工作時(shí)間):

售后咨詢(非工作時(shí)間):

驗(yàn)證碼已發(fā)送到您的手機(jī),請(qǐng)查收!

輸入驗(yàn)證碼后,點(diǎn)擊“開(kāi)通體驗(yàn)賬戶”按鈕可立即開(kāi)通體驗(yàn)賬戶。

收不到短信驗(yàn)證碼?
互億無(wú)線不提供接碼服務(wù),接碼用戶請(qǐng)勿點(diǎn)擊開(kāi)通按鈕。
×