paas-node-sdk
Version:
PAAS NODE SDK
164 lines (152 loc) • 5.11 kB
JavaScript
/**
* Created by donz on 2017/3/17.
*/
var netUtil = require('../tools/netUtil');
var authTool = require('../tools/authTools');
var Promise = require('bluebird');
var Result = require('../tools/Result');
var PaasMidNum = {
midNum: function (data) {
return netUtil.requestWrapper('midnum',data);
},
getMidnums: function (data) {
return netUtil.requestWrapper('getMidnums ',data);
},
releaseMidnum: function (data) {
return netUtil.requestWrapper('releaseMidnum',data);
}
}
var PaasBigExtNum = {
saveBigExtNum: function (data) {
return netUtil.requestWrapper('saveBigExtNum',data);
},
updateBigExtNum: function (data) {
return netUtil.requestWrapper('updateBigExtNum',data);
},
deleteBigExtNum : function (data) {
return netUtil.requestWrapper('deleteBigExtNum',data);
},
queryBigExtNum: function (data) {
return netUtil.requestWrapper('queryBigExtNum',data);
}
}
var PaasNotify = {
veriCodeNotify: function (data) {
return netUtil.requestWrapper('veriCodeNotify',data);
},
getVeriCode: function (data) {
return netUtil.requestWrapper('getVeriCode',data);
},
callNotify: function (data) {
return netUtil.requestWrapper('callNotify',data);
},
getCallNotify: function (data) {
return netUtil.requestWrapper('getCallNotify',data);
}
}
var PaasWebCall = {
callTwoWay: function (data) {
return netUtil.requestWrapper('callTwoWay',data);
},
getCallTwoWay: function (data) {
return netUtil.requestWrapper('getCallTwoWay',data);
}
}
var PaasCallRecord = {
getCallrecords: function (data) {
return netUtil.requestWrapper('getCallrecords',data);
}
}
var PaasBlackNum = {
saveBlackNum: function (data) {
return netUtil.requestWrapper('saveBlackNum',data);
},
getBlackNums: function (data) {
return netUtil.requestWrapper('getBlackNums',data);
},
deleteBlackNum: function (data) {
return netUtil.requestWrapper('deleteBlackNum',data);
}
}
var PaasRemind = {
remind: function (data) {
return netUtil.requestWrapper('remind',data);
},
getRemind: function (data) {
return netUtil.requestWrapper('getRemind',data);
},
deleteRemind: function (data) {
return netUtil.requestWrapper('deleteRemind',data);
},
alwaysRemind: function (data) {
return netUtil.requestWrapper('alwaysRemind',data);
}
}
var PaasSms = {
sendSMS: function (data) {
return netUtil.requestWrapper('sendSMS',data);
},
getSMS: function (data) {
return netUtil.requestWrapper('getSMS',data);
}
}
var PaasDirectCall = {
directCall: function (data) {
return netUtil.requestWrapper('directCall',data);
},
getDirectCalls: function (data) {
return netUtil.requestWrapper('getDirectCalls',data);
},
releaseDirectCall: function (data) {
return netUtil.requestWrapper('releaseDirectCall',data);
},
updateDirectCall: function (data) {
return netUtil.requestWrapper('updateDirectCall',data);
}
}
var PaasVerify = {
/**
* @param partner_id 平台标识 现统一规定为 1
* @param ts unix时间戳,精确度:毫秒
* @param callee_show_num 中间号或400+小号
* @param caller_num 主叫真实号码
* @param partner_call_id 本次通话的唯一标识
* @param sign paas请求所带参数sign
*/
verifyPaasRequest: function (sign,jsonBody,partnerKey) {
if (!jsonBody){
return Promise.reject(new Result(Result.GENERIC_ERR,'请检查参数jsonBody'))
}
if (!partnerKey){
return Promise.reject(new Result(Result.GENERIC_ERR,'请检查参数partnerKey'))
}
if (!sign){
return Promise.reject(new Result(Result.GENERIC_ERR,'请检查参数sign'))
}
var obj = JSON.parse(jsonBody);
var sortArr = Object.keys(obj).sort();
var authArr = [];
for (var i = 0; i < sortArr.length; i++) {
var key = sortArr[i];
authArr.push(key+'='+obj[key])
}
authArr.push('partnerKey='+partnerKey);
var authStr = authArr.join('&');
authStr = authTool.getMD5Str(authStr);
if (authStr===sign){
return Promise.resolve(new Result(Result.SUCCESS,'合理畅联PAAS请求'))
}else {
return Promise.reject(new Result(Result.GENERIC_ERR,'不是畅联PAAS请求'))
}
}
}
exports.PaasBigExtNum = PaasBigExtNum;
exports.PaasMidNum = PaasMidNum;
exports.PaasBlackNum = PaasBlackNum;
exports.PaasNotify = PaasNotify;
exports.PaasDirectCall = PaasDirectCall;
exports.PaasSms = PaasSms;
exports.PaasCallRecord = PaasCallRecord;
exports.PaasWebCall = PaasWebCall;
exports.PaasRemind = PaasRemind;
exports.PaasVerify = PaasVerify;