语音通话 VoiceCall-Node.js:“语音通知场景API”代码样例

时间:2025-02-12 14:58:59

“语音通知场景API”代码样例

/*jshint esversion: 6 */var https = require('https');var data = require('./data.js');var util = require('./reqUtil.js');/** * voiceNotifyAPI * @param displayNbr * @param calleeNbr * @param playInfoList * @returns */function voiceNotifyAPI(displayNbr, calleeNbr, playInfoList) {    if(displayNbr === undefined || displayNbr === null || calleeNbr === undefined || calleeNbr === null) {        return;    }    if(playInfoList === undefined || playInfoList === null) {        return;    }    var method = 'POST';    var uri = '/rest/httpsessions/callnotify/v2.0'; //v1.0 or v2.0    var xaksk = util.buildAKSKHeader(data.data.callnotify_appid, data.data.callnotify_secret);    var options = util.createOptions(method, uri, null, xaksk);    var body = {            /* 必填参数 */            'displayNbr': displayNbr,//主叫用户手机终端的来电显示号码。            'calleeNbr': calleeNbr,//被叫用户终端的来电显示号码。            'playInfoList': playInfoList//播放信息列表,最大支持5个,每个播放信息携带的参数都可以不相同。            /* 选填参数 *///            'bindNbr': '+86123456789', //CallEnabler业务号码,即绑定号码//            '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();}/** * getPlayInfoList * @param notifyVoice * @param templateId * @param templateParas * @returns */function getPlayInfoList(notifyVoice, templateId, templateParas) {    var playInfoList = [{        'notifyVoice': notifyVoice,//通知语音的放音文件名        'templateId': templateId,//语音通知模板ID,用于唯一标识语音通知模板。        'templateParas': templateParas,//语音通知模板的变量值列表,用于依次填充templateId参数指定的模板内容中的变量。//        'collectInd': 0, //是否进行收号//        'replayAfterCollection': 'false', //设置是否在收号后重新播放notifyVoice或templateId指定的放音//        'collectContentTriggerReplaying': '1' //设置触发重新放音的收号内容    }];    return playInfoList;}var playInfoList = getPlayInfoList('notifyvoice.wav', 'xxxxxx', ['3', '人民公园正门']);voiceNotifyAPI('+8653159511234', '+8613500000001', playInfoList);

support.huaweicloud.com/devg-VoiceCall/rtc_04_0021.html