paas-node-sdk
Version:
PAAS NODE SDK
439 lines (420 loc) • 22.4 kB
JavaScript
/**
* Created by donz on 2017/3/17.
*/
var Main = require('../app/main');
var express = require('express');
var router = express.Router();
var Result = require('../tools/Result');
var config = require('../config/config');
/**
* 获取黑名单
* @params 参数
* token:sdk凭据,PAAS官网系统登陆后首页获取
* account::账户名
* timelimit:黑名单有效日期
* size:每次获取数据量,用于分页
* page:页码,用于分页
*/
router.get('/getBlackNums', function(req, res, next) {
console.log('........................')
Main.PaasBlackNum.getBlackNums({token:config.testToken,account:config.testAccount}).then(function (result) {
// res.render('index', {result:JSON.stringify(result)});
res.json(result)
}, function (err) {
res.json(err)
})
});
/**
* 添加黑名单
* @params 参数
* token:sdk凭据,PAAS官网系统登陆后首页获取
* account:账户名
* blackNum:要添加黑名单的号码
* timelimit:黑名单有效期至,黑名单作用在该日期之前,日期格式为yyyy-MM-dd HH:mm:ss
*/
router.get('/saveBlackNum', function(req, res, next) {
Main.PaasBlackNum.saveBlackNum({token:config.testToken,account:config.testAccount,blackNum:'18888889999'}).then(function (result) {
res.json(result)
}, function (err) {
res.json(err)
})
});
/**
* 删除黑名单
* @params 参数
* token:sdk凭据,PAAS官网系统登陆后首页获取
* account:账户名
* blackNum:要添加黑名单的号码
* timelimit:黑名单有效期至,黑名单作用在该日期之前,日期格式为yyyy-MM-dd HH:mm:ss
*/
router.get('/deleteBlackNum', function(req, res, next) {
Main.PaasBlackNum.deleteBlackNum({token:config.testToken,account:config.testAccount,blackNum:'18888889999'}).then(function (result) {
res.json(result)
}, function (err) {
res.json(err)
})
});
/**
* 绑定总机号
* @params 参数
* token(必选):sdk凭据,PAAS官网系统登陆后首页获取
* account(必选):账户名
* bigNum(必选):总机号
* extNum(必选):小号
* calleeNum(必选):被叫真实号码
* appId(必选):应用标识。由平台提供,通过PAAS平台管理系统应用详情获取
* calleeShowNum(可选):外显号码,只能填写平台提供的号码。为空则显示主叫的真实号码
* callerAudio(可选):主叫侧IVR铃音ID,为空则播放默认铃音。IVR铃音需提前在PAAS平台上传,并通过审核之后才可以使用。支持TTS语音,格式必须为 TTS:语音内容
* calleeAudio(可选):被叫侧IVR铃音ID,为空则播放默认铃音。IVR铃音需提前在PAAS平台上传,并通过审核之后才可以使用。支持TTS语音,格式必须为 TTS:语音内容
* calldata(可选):随路数据,该数据体现在话单callData字段中
*/
router.get('/saveBigExtNum', function(req, res, next) {
Main.PaasBigExtNum.saveBigExtNum({token:config.testToken,account:config.testAccount,appId:'tdlxtestapp',
bigNum:'4008890605',extNum:'1222',calleeNum:'18888889999'}).then(function (result) {
res.json(result)
}, function (err) {
res.json(err)
})
});
/**
* 查询总机号
* @params 参数
* token(必选):sdk凭据,PAAS官网系统登陆后首页获取
* account(必选):账户名
* appId(必选):应用标识。由平台提供,通过PAAS平台管理系统应用详情获取
* bigNum(必选):总机号
* extNum(可选):小号
* calleeNum(可选):被叫真实号码
* page(可选):页码
* size(可选):每页容量
*/
router.get('/queryBigExtNum', function(req, res, next) {
Main.PaasBigExtNum.queryBigExtNum({token:config.testToken,account:config.testAccount,bigNum:'4008890605',appId:'tdlxtestapp'}).then(function (result) {
res.json(result)
}, function (err) {
res.json(err)
})
});
/**
* 更新总机号
* @params 参数
* token(必选):sdk凭据,PAAS官网系统登陆后首页获取
* account(必选):账户名
* bigNum(必选):总机号
* extNum(必选):小号
* calleeNum(必选):被叫真实号码
* appId(必选):应用标识。由平台提供,通过PAAS平台管理系统应用详情获取
* calleeShowNum(可选):外显号码,只能填写平台提供的号码。为空则显示主叫的真实号码
* callerAudio(可选):主叫侧IVR铃音ID,为空则播放默认铃音。IVR铃音需提前在PAAS平台上传,并通过审核之后才可以使用。支持TTS语音,格式必须为 TTS:语音内容
* calleeAudio(可选):被叫侧IVR铃音ID,为空则播放默认铃音。IVR铃音需提前在PAAS平台上传,并通过审核之后才可以使用。支持TTS语音,格式必须为 TTS:语音内容
* calldata(可选):随路数据,该数据体现在话单callData字段中
*/
router.get('/updateBigExtNum', function(req, res, next) {
Main.PaasBigExtNum.updateBigExtNum({token:config.testToken,account:config.testAccount,bigNum:'4008890605',
extNum:'1222',calleeNum:'18989898989',appId:'tdlxtestapp'}).then(function (result) {
res.json(result)
}, function (err) {
res.json(err)
})
});
/**
* 删除总机号
* @params 参数
* token(必选):sdk凭据,PAAS官网系统登陆后首页获取
* account(必选):账户名
* bigNum(必选):总机号
* extNum(必选):小号
* calleeNum(必选):被叫真实号码
* appId(必选):应用标识。由平台提供,通过PAAS平台管理系统应用详情获取
*/
router.get('/deleteBigExtNum', function(req, res, next) {
Main.PaasBigExtNum.deleteBigExtNum({token:config.testToken,account:config.testAccount,bigNum:'4008890605',
extNum:'1222',appId:'tdlxtestapp'}).then(function (result) {
res.json(result)
}, function (err) {
res.json(err)
})
});
/**
* 绑定中间号
* @param 参数
* callerNum(必选) 主叫号码 手机或固话号码(带区号)
* calleeNum(必选) 被叫号码 手机或固话号码(带区号)
* midNum(可选) 中间号(主叫拨打的平台号码),为空则平台分配中间号
* calleeShowNum(可选) 外显号码,只能填写主叫号码或当前企业拥有的平台号码。为空则默认显示平台提供号码。
* callerAudio(可选) 主叫侧IVR铃音ID,为空则播放默认铃音。该ID通过PAAS平台管理系统IVR列表获取,IVR铃
* 音请先通过管理系统上传到PAAS平台,并通过审核之后才可以使用。支持TTS语音,格式必须为 TTS:语音内容
* calleeAudio(可选) 被叫侧IVR铃音ID,为空则播放默认铃音。该ID通过PAAS平台管理系统IVR列表获取,IVR铃音请先通过管理系统
* 上传到PAAS平台,并通过审核之后才可以使用。支持TTS语音,格式必须为 TTS:语音内容
* outdate(可选) 绑定到期时间,格式为“yyyy-MM-dd HH:mm:ss”,为空则默认次日凌晨03:00。该时间点之后,则绑定关系失效。
* area(必选) 区域代码 由平台提供。
* appId(可选) 应用标识。由平台提供,通过PAAS平台管理系统应用详情获取。
* calldata 随路数据。该数据体现在话单callData字段中。
*/
router.get('/midNum', function(req, res, next) {
Main.PaasMidNum.midNum({token:config.testToken,account:config.testAccount,appId:'tdlxtestmidapp',callerNum:'18666666666',
calleeNum:'18899999999',midNum:'18612670084',area:'022'}).then(function (result) {
res.json(result)
}, function (err) {
res.json(err)
})
});
/**
* @param 参数
* callerNum(可选) 主叫号码,手机或固话号码(带区号)
* calleeNum(可选) 被叫号码,手机或固话号码(带区号)
* appId(必选) 应用标识。由平台提供,通过PAAS平台管理系统应用详情获取。
* area(必选) 地区代码,由平台提供
* size(可选) 每页展示的数据量,用于分页展示,默认为50
* page(可选) 页码,用于分页展示,默认1
*/
router.get('/getMidnums', function(req, res, next) {
Main.PaasMidNum.getMidnums({token:config.testToken,account:config.testAccount,area:'022',appId:'tdlxtestmidapp'}).then(function (result) {
res.json(result)
}, function (err) {
res.json(err)
})
});
/**
* @param 参数
* callerNum(可选) 主叫号码,手机或固话号码(带区号)
* calleeNum(可选) 被叫号码,手机或固话号码(带区号)
* appId(必选) 应用标识。由平台提供,通过PAAS平台管理系统应用详情获取。
* area(必选) 地区代码,由平台提供
*/
router.get('/releaseMidnum', function(req, res, next) {
Main.PaasMidNum.releaseMidnum({token:config.testToken,account:config.testAccount,callerNum:'18666666666',
calleeNum:'18899999999',appId:'tdlxtestmidapp',area:'022'}).then(function (result) {
res.json(result)
}, function (err) {
res.json(err)
})
});
/**
* @param 参数
* calleeNum(必选) 被叫号码,接收验证码的号码
* calleeShowNum(可选) 外显号码,只能填写平台提供的号码。为空则显示平台统一号码
* code(必选) 验证码,必须为长度小于10位的数字
* area(可选) 区域代码,由天地提供
* appId(必选) 应用标识。由平台提供,通过PAAS平台管理系统应用详情获取。
* config(可选) 外呼验证码配置,包含两个配置项repeatspace
* repeat(可选) 播放铃音重复次数 为空则默认为3次
* interval(可选) 每次铃音的播放间隔(单位秒) 为空则默认为1秒
* calldata(可选) 随路数据,该数据体现在话单callData字段中
*/
router.get('/veriCodeNotify', function(req, res, next) {
Main.PaasNotify.veriCodeNotify({token:config.testToken,account:config.testAccount,calleeNum:'18811431675',
code:'1222',appId:'sdsdsdssd',area:'020'}).then(function (result) {
res.json(result)
}, function (err) {
res.json(err)
})
});
/**
* 查询语音验证码历史记录
* @param 参数
* calleeNum(可选) 被叫号码
* appId(必选) 应用标识。由平台提供,通过PAAS平台管理系统应用详情获取。
* callTime(可选) 呼叫时间,格式为“yyyy-MM-dd HH:mm:ss”,查询该时间之后的记录。
* calldata(可选) 随路数据,该数据体现在话单callData字段中。
* size(可选) 每页展示的数据量,用于分页展示,默认为50
* page(可选) 页码,用于分页展示,默认1
*/
router.get('/getVeriCode', function(req, res, next) {
Main.PaasNotify.getVeriCode({token:config.testToken,account:config.testAccount,calleeNum:'18811431675',
appId:'sdsdsdssd'}).then(function (result) {
res.json(result)
}, function (err) {
res.json(err)
})
});
/**
* 发送语音通知
* @param 参数
* calleeNum(必选) 被叫号码,接收语音通知的号码
* calleeShowNum(可选) 外显号码,只能填写平台提供的号码。为空则默认显示平台统一号码
* calleeAudio(必选) 待播放的IVR铃音ID,为空则播放默认铃音。IVR铃音需提前在PAAS平台上传,并通过审核之后才可以使用。支持TTS语音,格式必须为 TTS:语音内容
* area(可选) 区域代码,由天地提供
* appId(必选) 应用标识。由平台提供,通过PAAS平台管理系统应用详情获取。
* config(可选) 外呼语音配置项 repeat重复次数 space间隔时间
* calldata(可选) 随路数据,该数据体现在话单callData字段中。
* repeat(可选) 播放铃音重复次数 为空则默认为3次
* interval(可选) 每次铃音的播放间隔(单位秒) 为空则默认为1秒
*/
router.get('/callNotify', function(req, res, next) {
Main.PaasNotify.callNotify({token:config.testToken,account:config.testAccount,calleeNum:'18811431675',
appId:'sdsdsdssd',calleeAudio:1,area:'020'}).then(function (result) {
res.json(result)
}, function (err) {
res.json(err)
})
});
/**
* 查询语音通知历史记录
* @param 参数
* calleeNum(可选) 被叫号码
* appId(必选) 应用标识。由平台提供,通过PAAS平台管理系统应用详情获取。
* callTime(可选) 呼叫时间,格式为“yyyy-MM-dd HH:mm:ss”,查询该时间之后的记录。
* calldata(可选) 随路数据,该数据体现在话单callData字段中。
* size(可选) 每页展示的数据量,用于分页展示,默认为50
* page(可选) 页码,用于分页展示,默认1
*/
router.get('/getCallNotify', function(req, res, next) {
Main.PaasNotify.getCallNotify({token:config.testToken,account:config.testAccount,calleeNum:'18811431675',
appId:'sdsdsdssd'}).then(function (result) {
res.json(result)
}, function (err) {
res.json(err)
})
});
/**
* 双向外呼
* @param 参数
* callerNum(必选) 主叫号码
* calleeNum(必选) 被叫号码
* callerShowNum(可选) 主叫外显号码,只能填写平台提供的号码。为空则默认显示平台统一号码
* calleeShowNum(可选) 被叫外显号码,只能填写平台提供的号码。为空则默认显示平台统一号码
* callerAudio(可选) 播放给主叫的IVR铃音ID,为空则播放默认铃音。IVR铃音需提前在PAAS平台上传,并通过审核之后才可以使用。支持TTS语音,格式必须为 TTS:语音内容
* calleeAudio(可选) 播放给被叫的IVR铃音ID,为空则播放默认铃音。IVR铃音需提前在PAAS平台上传,并通过审核之后才可以使用。支持TTS语音,格式必须为 TTS:语音内容
* duration(可选) 本次通话的最大时长(单位秒),为空则默认时长(2个小时)
* area(必选) 区域代码,由天地提供
* appId(必选) 应用标识。由PAAS平台提供
* calldata(可选) 随路数据,该数据体现在话单callData字段中
*/
router.get('/callTwoWay', function(req, res, next) {
Main.PaasWebCall.callTwoWay({token:config.testToken,account:config.testAccount,callerNum:'15110097044',calleeNum:'18811431675',
appId:'sdsdsdssd',area:'020'}).then(function (result) {
res.json(result)
}, function (err) {
res.json(err)
})
});
/**
* 查询双向外呼历史记录
* @param 参数
* callerNum(必选) 主叫号码
* calleeNum(必选) 被叫号码
* callTime(可选) 呼叫时间,格式为“yyyy-MM-dd HH:mm:ss”,查询该时间之后的记录
* appId(必选) 应用标识。由平台提供,通过PAAS平台管理系统应用详情获取。
* calldata(可选) 随路数据
* size(可选) 每页展示的数据量,用于分页展示,默认为50
* page(可选) 页码,用于分页展示,默认1
*/
router.get('/getCallTwoWay', function(req, res, next) {
Main.PaasWebCall.getCallTwoWay({token:config.testToken,account:config.testAccount,callerNum:'15110097044',calleeNum:'18811431675',
appId:'sdsdsdssd',area:'020'}).then(function (result) {
res.json(result)
}, function (err) {
res.json(err)
})
});
/**
* 获取话单
* @param 参数
* callTime(可选) 话单呼叫时间,格式为“yyyy-MM-dd HH:mm:ss”,查询该时间之后的记录。
* syncFlag(可选) 话单推送标识 1表示获取推送成功的话单, 2表示获取通知失败话单 为空则获取全部话单
* appId(可选) 应用标识。由平台提供,通过PAAS平台管理系统应用详情获取。
* productionId(可选) 功能Id,1代表语音验证码,2代表中间号,3 代表语音通知 4代表双向外呼,5代表总机号,空默认为查询应用下的全部功能
* size(可选) 每页展示的数据量,用于分页展示,默认为50
* startId(可选) 话单记录ID 获取指定ID之后的话单 空默认1
*/
router.get('/getCallrecords', function(req, res, next) {
Main.PaasCallRecord.getCallrecords({token:config.testToken,account:config.testAccount,productionId:'1',
appId:'sdsdsdssd',size:5}).then(function (result) {
res.json(result)
}, function (err) {
res.json(err)
})
});
/**
* 定时提醒
* @param 参数
* remindPhone(必选) 被提醒的号码
* count(可选) 提醒的次数
* duration(可选) 提醒的时间间隔(单位分钟)
* remindTime(可选) 提醒的开始时间 格式为“yyyy-MM-dd HH:mm:ss”,提醒时间应至少大于当前时间一分钟
* audio(可选) 提醒时播放的IVR铃音ID,为空则播放默认铃音。IVR铃音需提前在PAAS平台上传,并通过审核之后才可以使用。
* showNum(可选) 外显号码,只能填写平台提供的号码,为空则由平台生成外显
* appId(必选) 应用标识。由PAAS平台提供
*/
router.get('/remind', function(req, res, next) {
Main.PaasRemind.remind({token:config.testToken,account:config.testAccount,remindPhone:'18811431675',count:2,audio:1,
appId:'sdsdsdssd',remindTime:'2017-03-21 11:00:00',area:'020'}).then(function (result) {
res.json(result)
}, function (err) {
res.json(err)
})
});
/**
* 绑定直拨号
* @param 参数
* directCallNum(必选) 直拨号码 400号码
* calleeNum(必选) 直拨号码对应的被叫 支持多个被叫,以 英文“,” 隔开
* calleeShowNum(可选) 外显号码,只能填写主叫号码或当前企业拥有的平台号码。为空则默认显示平台提供号码。
* callerAudio(可选) 主叫侧IVR铃音ID,为空则播放默认铃音。该ID通过PAAS平台管理系统IVR列表获取,IVR铃音请先通过管理系统上传到PAAS平台,并通过审核之后才可以使用。支持TTS语音,格式必须为 TTS:语音内容
* calleeAudio(可选) 被叫侧IVR铃音ID,为空则播放默认铃音。该ID通过PAAS平台管理系统IVR列表获取,IVR铃音请先通过管理系统上传到PAAS平台,并通过审核之后才可以使用。支持TTS语音,格式必须为 TTS:语音内容
* area(必选) 区域代码 由平台提供
* appId(必选) 应用标识。由平台提供,通过PAAS平台管理系统应用详情获取
* calldata(可选) 随路数据。该数据体现在话单callData字段中
*/
router.get('/directCall', function(req, res, next) {
Main.PaasDirectCall.directCall({token:config.testToken,account:config.testAccount,directCallNum:'59864170',calleeNum:'15110097044',
appId:'02CBE2CFBA9523C9CE6C7D5CD4ED6F2F',area:'022'}).then(function (result) {
res.json(result)
}, function (err) {
res.json(err)
})
});
/**
* 更新直拨号
* @param 参数
* directCallNum(必选) 直拨号码 400号码
* calleeNum(必选) 直拨号码对应的被叫 支持多个被叫,以 英文“,” 隔开
* calleeShowNum(可选) 外显号码,只能填写主叫号码或当前企业拥有的平台号码。为空则默认显示平台提供号码。
* callerAudio(可选) 主叫侧IVR铃音ID,为空则播放默认铃音。该ID通过PAAS平台管理系统IVR列表获取,IVR铃音请先通过管理系统上传到PAAS平台,并通过审核之后才可以使用。支持TTS语音,格式必须为 TTS:语音内容
* calleeAudio(可选) 被叫侧IVR铃音ID,为空则播放默认铃音。该ID通过PAAS平台管理系统IVR列表获取,IVR铃音请先通过管理系统上传到PAAS平台,并通过审核之后才可以使用。支持TTS语音,格式必须为 TTS:语音内容
* area(必选) 区域代码 由平台提供。
* appId(必选) 应用标识。由平台提供,通过PAAS平台管理系统应用详情获取。
* calldata(可选) 随路数据。该数据体现在话单callData字段中
*/
router.get('/updateDirectCall', function(req, res, next) {
Main.PaasDirectCall.updateDirectCall({token:config.testToken,account:config.testAccount,directCallNum:'59864170',calleeNum:'15110097044',
appId:'02CBE2CFBA9523C9CE6C7D5CD4ED6F2F',area:'022'}).then(function (result) {
res.json(result)
}, function (err) {
res.json(err)
})
});
/**
* 查询直拨号关系
* @param 参数
* directCallNum(可选) 直叫号码 400号码
* area(必选) 区域代码 由平台提供
* appId(必选) 应用标识。由平台提供,通过PAAS平台管理系统应用详情获取
* calleeNum 直拨号码对应的被叫 支持多个被叫,以 英文“,” 隔开
* size(可选) 每页展示的数据量,用于分页展示,默认为50
* page(可选) 页码,用于分页展示,默认1
*/
router.get('/getDirectCalls', function(req, res, next) {
Main.PaasDirectCall.getDirectCalls({token:config.testToken,account:config.testAccount,area:'022',appId:'02CBE2CFBA9523C9CE6C7D5CD4ED6F2F'}).then(function (result) {
res.json(result)
}, function (err) {
res.json(err)
})
});
/**
* 释放直拨号关系
* @param 参数
* directCallNum(可选) 直叫号码 400号码
* area(必选) 区域代码 由平台提供
* appId(可选) 应用标识。由平台提供,通过PAAS平台管理系统应用详情获取
* calleeNum 直拨号码对应的被叫 支持多个被叫,以 英文“,” 隔开
*/
router.get('/releaseDirectCall', function(req, res, next) {
Main.PaasDirectCall.releaseDirectCall({token:config.testToken,account:config.testAccount,area:'022',appId:'02CBE2CFBA9523C9CE6C7D5CD4ED6F2F'}).then(function (result) {
res.json(result)
}, function (err) {
res.json(err)
})
});
module.exports = router;