语音通话 VOICECALL-Node.js:“语音验证码场景API”代码样例

时间:2024-09-25 15:29:01

“语音验证码场景API”代码样例

/*jshint esversion: 6 */
var https = require('https');
var data = require('./data.js');
var util = require('./reqUtil.js');

/**
 * voiceVerificationCodeAPI
 * @param displayNbr
 * @param calleeNbr
 * @param languageType
 * @param preTone
 * @param verifyCode
 * @returns
 */
function voiceVerificationCodeAPI(displayNbr, calleeNbr, languageType, preTone, verifyCode) {
    if(displayNbr === undefined || displayNbr === null || calleeNbr === undefined || calleeNbr === null) {
        return;
    }
    if(languageType === undefined || languageType === null || preTone === undefined || preTone === null) {
        return;
    }
    if(languageType === verifyCode || languageType === verifyCode) {
        return;
    }

    var method = 'POST';
    var uri = '/rest/httpsessions/callVerify/v1.0';
    var xaksk = util.buildAKSKHeader(data.data.callverify_appid, data.data.callverify_secret);

    var options = util.createOptions(method, uri, null, xaksk);

    var body = {
            /* 必填参数 */
            'displayNbr': displayNbr,//主叫用户手机终端的来电显示号码。
            'calleeNbr': calleeNbr,//被叫用户终端的来电显示号码。
            'languageType': languageType,//验证码播放的语言类型。
            'preTone': preTone,//播放语音验证码之前需要播放的放音文件名
            'verifyCode': verifyCode//验证码:只支持0~9的数字,最大8位。
            /* 选填参数 */
//            'bindNbr': '+86123456789', //CallEnabler业务号码,即绑定号码
//            'posTone': 'postone.wav', //播放语音验证码之后需要播放的放音文件名
//            'times': 3, //播放次数:0~9
//            'statusUrl': 'aHR0cDovLzIxOC40LjMzLjU1Ojg4ODgvdGVzdA==', //要获取通话状态需要在请求中加入statusUrl
//            'feeUrl': 'aHR0cDovLzIxOC40LjMzLjU1Ojg4ODgvdGVzdA==', //要获取话单需要在请求中加入feeUrl
//            'returnIdlePort': 'false', //指示是否需要返回平台空闲呼叫端口数量
//            'userData': 'customerId123' //设置用户的附属信息
    };
    var req = https.request(options, function (res) {
        var resHeaders = JSON.stringify(res.headers);
        res.setEncoding('utf8');
        res.on('data', function (chunk) {
            console.log(chunk);
        });     
    });

    req.on('error', function(e) {
        console.error('problem with request: ' + e);
    });
    console.log(JSON.stringify(body));
    req.write(JSON.stringify(body));
    req.end();
}

voiceVerificationCodeAPI('+8653159511234', '+8613500000001', 2, 'test.wav', '1234');
support.huaweicloud.com/devg-VoiceCall/rtc_04_0025.html