UNPKG

paas-node-sdk

Version:

PAAS NODE SDK

164 lines (152 loc) 5.11 kB
/** * 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;