互億無(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 

示例(失敗)


 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ǔ)音短信接口被廣泛應(yīng)用于網(wǎng)站、APP等互聯(lián)網(wǎng)及移動(dòng)互聯(lián)網(wǎng)產(chǎn)品中,為了方便開(kāi)發(fā)者集成語(yǔ)音短信服務(wù),語(yǔ)音短信平臺(tái)會(huì)面向開(kāi)發(fā)者用戶提供完整的語(yǔ)音短信開(kāi)發(fā)相關(guān)文檔,包含開(kāi)放的語(yǔ)音短信接口api,采用通用的http或webservice,webservice就是使用soap協(xié)議且能處理一些比較復(fù)雜的數(shù)據(jù),而http?service通過(guò)post和get方式,方便集成各種軟件系統(tǒng)。同時(shí),一些語(yǔ)音短信平臺(tái)也會(huì)針對(duì)如Ruby等開(kāi)發(fā)語(yǔ)言提供語(yǔ)音短信DEMO實(shí)例代碼,支持語(yǔ)音短信接口二次開(kāi)發(fā)。語(yǔ)音短信平臺(tái)也會(huì)提供簡(jiǎn)單易用的SUBHOOK?,在設(shè)置的事件觸發(fā)后,將消息發(fā)送到你指定的回調(diào)?URL,通過(guò)SUBHOOK功能,開(kāi)發(fā)者能夠?qū)崟r(shí)接收從網(wǎng)關(guān)發(fā)回的短信回執(zhí)數(shù)據(jù)和語(yǔ)音短信的發(fā)送狀態(tài),甚至能實(shí)時(shí)接收到用戶回復(fù)的內(nèi)容。

Ruby語(yǔ)音短信的應(yīng)用場(chǎng)景非常廣泛,三大運(yùn)營(yíng)商特有的身份認(rèn)證能力能夠有效確保用戶信息的準(zhǔn)確性,因此語(yǔ)音短信也被應(yīng)用在登錄、注冊(cè)、支付等高頻次場(chǎng)景中,此外,會(huì)員通知也是很常見(jiàn)的短信應(yīng)用場(chǎng)景之一,企業(yè)向自己的會(huì)員發(fā)送語(yǔ)音短信,將重要通知以語(yǔ)音形式播報(bào),可以有效避免用戶遺漏重要信息,有效減少了物流企業(yè)的售后成本,優(yōu)化了用戶服務(wù)體驗(yàn)。

現(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ǔ)音驗(yàn)證碼通過(guò)Ruby短信接口實(shí)現(xiàn)系統(tǒng)對(duì)接之后可以實(shí)現(xiàn)全自動(dòng)發(fā)送,用戶在發(fā)送請(qǐng)求之后的5秒內(nèi)即可收到語(yǔ)音驗(yàn)證碼,簡(jiǎn)單快捷,在過(guò)去,人們登錄賬號(hào)通常只有賬密登陸一種方式,不同網(wǎng)站的賬密往往又不盡相同,忘記密碼是常有的事情,但現(xiàn)在,用戶可以選擇用語(yǔ)音驗(yàn)證碼登錄,有效解決了用戶需要記住不同賬號(hào)密碼的問(wèn)題,提升了用戶體驗(yàn)!

Ruby短信接口接入流程大致分為四步:注冊(cè)、測(cè)試、認(rèn)證、充值、正式接入。語(yǔ)音短信支持測(cè)試使用,用戶只需注冊(cè)登陸,即可領(lǐng)取測(cè)試短信條數(shù),完成技術(shù)對(duì)接,進(jìn)行短信測(cè)試之后,用戶完成企業(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ù)量增大。

以上便是Ruby實(shí)現(xiàn)語(yǔ)音短信功能的全部?jī)?nèi)容,如果想要了解更多的相關(guān)信息,可進(jìn)入幫助文檔,搜索關(guān)鍵詞Ruby實(shí)現(xiàn)語(yǔ)音短信功能查詢相關(guān)內(nèi)容。

顯示更多

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)通按鈕。
×