• 首 页
  • 外包业务
  • 合作伙伴
  • 渠道招商
  • 全 部 栏 目

    智能AI电话系统 外呼电话线路 呼叫中心系统 人工外呼坐席 防封外呼系统 保障体系
    API对接实战:外呼接口及通话记录推送
    POST TIME:2021-09-06 15:49
    在白码低代码开发平台上对接七陌外呼接口,实现选择客户进行外呼,并保存通话记录的功能。
     
    外呼接口实现
    官方接口文档:http://developer.7moor.com/v2docs/dialout/
     
    1、对接数据查询
    向七陌商务索取到七陌用户中心账号密码,在查询页面查询到三个参数
     
        let accountId = "T0********";//账户id
        let apiSecret = "495b60****************5f0555af";//账户secret
        let host = "https://openapis.7moor.com";//请求域名
    查询页面:http://developer.7moor.com/data-query/
     
    2、接口鉴权信息
    时间戳
     //时间
        let date = new Date();
        let YY = date.getFullYear();
        let MM = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1);
        let DD = (date.getDate() + 1 <= 10 ? '0' + date.getDate() : date.getDate());
        let hh = (date.getHours() + 1 <= 10 ? '0' + date.getHours() : date.getHours());
        let mm = date.getMinutes() + 1 <= 10 ? '0' + date.getMinutes() : date.getMinutes();
        let ss = date.getSeconds() + 1 <= 10 ? '0' + date.getSeconds() : date.getSeconds();
        let time = YY + MM + DD + hh + mm + ss;
    包头验证信息Authorization
       //包头验证信息 Authorization的值为 Base64编码(账户Id +冒号+时间戳) 
        let buffer = $modules.lib.Buffer.from(accountId + ":" + time);
        let authorization = buffer.toString("base64");
    请求参数sig
        //sig, 32位大写MD5加密 (帐号Id + 帐号APISecret +时间戳)
        const crypto = $modules.crypto;
        const hash = crypto.createHash('md5');
        let sig = hash.update(accountId + apiSecret + time).digest('hex').toLocaleUpperCase();
     
    3、外呼接口请求地址
        //请求地址
        let url = host + "/v20180426/call/dialout/" + accountId + "?sig=" + sig;
     
    4、请求头部
        //请求头部
        let headers = {
            "Content-Type": "application/json;charset=utf-8",
            "Authorization": authorization,
        }
     
    5、请求体
    相关参数参考官方文档:http://developer.7moor.com/v2docs/dialout/
     
        //请求体
        let data = {
            "FromExten": $input.FromExten,
            "Exten": $input.Exten,
            "ExtenType": typeMap[$input.ExtenType],
            "ActionID": $input.ActionID,
            "DialoutStrVar": $input.DialoutStrVar,
        };
     
    为了方便用户端理解,extenType参数输入增加map
     
        //ExtenType map
        let typeMap = {
            "手机": "Local",
            "软电话": "sip",
            "IP话机": "gateway",
        }
     
    6、发起外呼请求
        //外呼
        let call = await $modules.curl(url, {
            method: "post",
            dataType: "json",
            headers,
            data,
        });
     
    7、输出请求结果
        //输出
        //$output.sig = sig;
        //$output.authorization = authorization;
        $output.request = data;
        $output.result = call.data;
        $output.success = call.data.Succeed.toString();
        $output.msg = call.data.Message;
    坐席接听方式说明:外呼时强制坐席使用该接听方式进行外呼。Local为“手机”,”sip为“软电话”需登录企话宝,gateway为“语音网关”,需注册绑定IP话机。
    上一篇:不封号电销卡、企业电销专用外呼线路11位数号码
    下一篇:数字中继台是什么,呼叫中心有哪些中继线路?如何寻找线路商?
    

    关于我们 | 付款方式 | 荣誉资质 | 业务提交 | 行业资讯


    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信