互億無線 > 詞條 > N > node.js語音短信發(fā)送源碼

node.js語音短信發(fā)送源碼

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

PHP代碼示例

//接口類型:互億無線語音驗(yàn)證碼接口。
//賬戶注冊:請通過該地址開通賬戶http://user.ihuyi.com/register.html
//注意事項(xiàng):
//(1)調(diào)試期間,請仔細(xì)閱讀接口文檔;
//(2)請使用 APIID 及 APIKEY來調(diào)用接口,可在會員中心獲取;
//(3)該代碼僅供接入互億無線短信接口參考使用,客戶可根據(jù)實(shí)際需要自行編寫;
  
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ī)號碼
$post_data = "account=用戶名&password=密碼&mobile=".$mobile."&content=1125";
//查看用戶名 登錄用戶中心->語音驗(yàn)證碼>產(chǎn)品總覽->API接口信息->APIID
//查看密碼 登錄用戶中心->語音驗(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;
  
  
//接口類型:互億無線語音驗(yàn)證碼接口。
//賬戶注冊:請通過該地址開通賬戶http://user.ihuyi.com/register.html
//注意事項(xiàng):
//(1)調(diào)試期間,請仔細(xì)閱讀接口文檔;
//(2)請使用 APIID 及 APIKEY來調(diào)用接口,可在會員中心獲取;
//(3)該代碼僅供接入互億無線短信接口參考使用,客戶可根據(jù)實(shí)際需要自行編寫;
  
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àn)證碼>產(chǎn)品總覽->API接口信息->APIID
                new NameValuePair("password", "密碼"),//查看密碼 登錄用戶中心->語音驗(yàn)證碼>產(chǎn)品總覽->API接口信息->APIKEY
                new NameValuePair("mobile", "139xxxxxxxx"),//手機(jī)號碼
                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 接口描述

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

2 請求地址

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

3 請求參數(shù)

參數(shù)名稱 參數(shù)值描述 必填
account APIID(請登錄用戶中心【語音驗(yàn)證碼】-【產(chǎn)品縱覽】查看)
password 1、APIKEY(請登錄用戶中心【語音驗(yàn)證碼】-【產(chǎn)品縱覽】查看)
2、動態(tài)密碼(生成動態(tài)密碼方式請看該文檔末尾的說明)
mobile 接收手機(jī)號碼,只能提交1個(gè)號碼
content 驗(yàn)證碼(4-6位數(shù)字)
time Unix時(shí)間戳(10位整型數(shù)字,當(dāng)使用動態(tài)密碼方式時(shí)為必填)
format 返回格式(可選值為:xml或json,系統(tǒng)默認(rèn)為xml)

用戶通過http 或 https提交發(fā)送短信請求到服務(wù)器后,服務(wù)器會返回一串xml格式的字符串,SubmitResult結(jié)構(gòu)說明如下:

參數(shù)名稱 類型 描述
code int 返回值為2時(shí),表示提交成功
smsid string 當(dāng)提交成功后,此字段為流水號,否則為0
msg string 提交結(jié)果描述

4 響應(yīng)示例

示例(成功)


 2 提交成功 60495654 

示例(失?。?/p>


 405 用戶名或密碼不正確 0 

5 響應(yīng)參數(shù)

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

6 請求示例

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

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

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

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

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

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

node.js語音短信發(fā)送源碼相關(guān)的資訊內(nèi)容

node.js語音短信發(fā)送源碼相關(guān)的資訊詳情

語音短信接口即語音短信發(fā)送API接口,面向有一定技術(shù)開發(fā)能力的企業(yè)。語音短信接口支持二次開發(fā),可把語音短信接口嵌入到企業(yè)自有的網(wǎng)站、APP及業(yè)務(wù)系統(tǒng)中,快速擁有語音短信發(fā)送能力。語音短信接口一般支持http、https和webservice調(diào)用,HTTPService基于http協(xié)議,而WebService基于soap協(xié)議。如需使用node.js開發(fā)語音短信接口服務(wù),需先在第三方短信平臺開通短信賬號,獲取語音短信接口地址及相關(guān)請求參數(shù),如發(fā)送至手機(jī)號碼、發(fā)送的短信內(nèi)容及其他相關(guān)參數(shù),成功調(diào)用后會返回XML數(shù)據(jù),提示短信提交成功和失敗。

根據(jù)短信的不同類型,語音短信具備不同的應(yīng)用場景,語音驗(yàn)證碼可用戶APP/網(wǎng)站注冊時(shí)企業(yè)向手機(jī)下發(fā)驗(yàn)證碼,用戶登錄賬戶、登錄異常時(shí)進(jìn)行安全提醒,找回密碼時(shí)進(jìn)行安全驗(yàn)證,線上支付、手機(jī)綁定時(shí)進(jìn)行身份認(rèn)證;語音通知常常用于企業(yè)向用戶下發(fā)通知,例如快遞物品時(shí)的物流信息,系統(tǒng)變更、系統(tǒng)異常時(shí)的消息推送,消費(fèi)變動時(shí)的支付/到賬通知等等。

在IT、化工、建材、能源、房產(chǎn)、工商等多個(gè)領(lǐng)域,語音短信都具有難以替代的作用,其在身份驗(yàn)證、及時(shí)觸達(dá)領(lǐng)域有著其他產(chǎn)品所不具備的能力,是現(xiàn)代企業(yè)安全體系中不可或缺的一環(huán)。

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

node.js短信接口接入流程大致分為四步:注冊、測試、認(rèn)證、充值、正式接入。語音短信支持測試使用,用戶只需注冊登陸,即可領(lǐng)取測試短信條數(shù),完成技術(shù)對接,進(jìn)行短信測試之后,用戶完成企業(yè)認(rèn)證和賬戶充值,服務(wù)即可正式上線。

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

更多關(guān)于node.js語音短信發(fā)送源碼進(jìn)入幫助文檔查看相應(yīng)內(nèi)容,您可以通過幫助文檔了解更多,也可以點(diǎn)擊互億無線工作人員進(jìn)行咨詢。

顯示更多

node.js語音短信發(fā)送源碼相關(guān)的問答內(nèi)容

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

在線咨詢
電話咨詢

服務(wù)熱線:

4008 808 898

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

4008 808 898

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

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

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

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

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