外呼营销弹屏页面保存时, 如何向远程系统发送数据?

外呼营销座席弹屏页面, 当座席完成对客户访问后, 会保存联络记录.

此时我们想把座席保存的内容发送到其他系统进行一些业务处理,我们应按如下步骤操作.

开启数据post功能

管理员登陆系统, 进入外呼营销→外呼营销任务页面.

双击欲开启此功能的任务, 打开任务编辑界面, 在“高级资料”选项卡下找到“提交时向此地址发送数据”字段.

此字段默认为空值, 代表不开启post数据功能.

如需开启,请填写你的接受程序地址,例如: http://192.168.2.88/api/messagehttp://www.astercc.org/msg.php 等.

astercc是如何向远程系统post数据的?

座席在astercc系统,成功保存本次联络记录后,astercc通过jquery ajax向你设置的地址发送数据.

$.ajax({
  type: 'POST', 
  url : 你填写的接收地址,
  dataType: 'json',
  data: 要发给你的数据(格式举例: a=1&b=2&c=3&...)
});

发送数据解释

发送的数据由两部分内容组成, 本次联络记录+客户资料.

campaignId:外呼营销计划ID

customerId:客户ID

callresult:本次呼叫结果(由座席选择)

memo:本次联络备注(座席填写)

status:由座席标记的客户当前处理状态(open 未处理; pending 继续跟踪; errorclosed 失败提交; sucessclosed 成功提交)

workorder_template_id:工单所使用的模板ID

workorder_id:涉及到的工单ID

diallogid:本次通话的唯一标识

curusephone:本次通话的客户电话号码

quick_schedual: “status”为pending时会填写此项.

代表是否预约此客户(no_appointment 不预约; xh 代表x小时后联系; xw 代表x周; xd 代表x天后联系; xm 代表x分钟后联系;x为数字.)

dialschedule: “status”为pending时会填写此项. 此字段是预约发生时的时间 ,格式举例 2015-02-11 10:17

也就是说在dialschedule字段基础上,增加quick_schedual字段所设置的时间,即为再次联络客户的时间.

dialerpriority:预约优先级, 仅填写数字.当两个客户预约时间相同时,数字越大的客户优先拨出.

agent_group_id:当前服务此客户的座席组ID

以下是客户资料字段解释, 由于资料是可自定义字段的并可以控制是否显示, 所以你收到的字段会有差异,下述只列出系统默认常用的字段解释

customername:客户名称

individualname:客户名称

gender:性别

age:年龄

birthdate:生日

phone1:电话号码一

phone2:电话号码二

fax1:传真号码一

email:电子邮箱

address1:联系地址一

country:国家

memo:备注

flag:标志

接收端应该如何做?

首先, 接收端的web服务器应允许向此地址(即你设置的接收程序地址)发送的post跨域请求, 否则astercc无法将此消息送达.

其次, 接收post数据进行你的业务处理.

最后, 处理完毕后, 返回一个json格式的响应(例如: {code: 1, msg: “xxxx”}).

建议你如此做, 避免座席页面在浏览器中看到浏览器发出的错误提示信息.

以nodejs做服务端为例

var express = require('express.io');
var app = express();

//跨域处理
app.use(function (req, res, next) {
    res.setHeader('Access-Control-Allow-Origin', '*');
    res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
    res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,Authorization,content-type,Content-Length');
    res.setHeader('Access-Control-Allow-Credentials', true);
    next();
});

app.post('/api/xxvxx', function(req, res, next) {
    console.log(req.body);//打印我们收到的数据
    //终端中可以看到如下输出
    /*
campaignId:1
customerId:2
callresult:稍后再联络
memo:客户目前忙, 感兴趣, 稍后再联络.
status:pending
workorder_template_id:0
workorder_id:0
diallogid:
curusephone:
quick_schedual:3h
dialschedule:2015-02-11 10:17
dialerpriority:5
curCalling:no
curSendSMSnum:0
customername:Astercc
agent_group_id:1
curCallStatus:
individualname:Astercc
gender:male
age:8
birthdate:2007-02-11
phone1:1234567890
phone2:
fax1:
email:
address1:
country:
memo:
flag:    
    */

    //返回消息
    res.status(200).send({"code": 1, "msg": "success"});
});

app.listen(3000, function(){
    console.log('Server listening on port 3000');
});

zh/二次开发者指南/外呼营销弹屏页面保存时如何向远程系统发送数据.txt · 最后更改: 2017/12/12 11:05 (外部编辑)
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki