差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

后一修订版
前一修订版
zh:二次开发者指南:外呼营销弹屏页面保存时如何向远程系统发送数据 [2015/02/11 01:48]
menglj 创建
zh:二次开发者指南:外呼营销弹屏页面保存时如何向远程系统发送数据 [2017/12/12 03:05] (当前版本)
行 12: 行 12:
  
 如需开启,​请填写你的接受程序地址,​例如:​ http://​192.168.2.88/​api/​message ​ 或  http://​www.astercc.org/​msg.php 等. 如需开启,​请填写你的接受程序地址,​例如:​ http://​192.168.2.88/​api/​message ​ 或  http://​www.astercc.org/​msg.php 等.
 +
 +{{:​zh:​二次开发者指南:​外呼营销弹屏保存post数据.png?​650|}}
  
 ==== astercc是如何向远程系统post数据的?​ ==== ==== astercc是如何向远程系统post数据的?​ ====
 座席在astercc系统,​成功保存本次联络记录后,​astercc通过jquery ajax向你设置的地址发送数据. 座席在astercc系统,​成功保存本次联络记录后,​astercc通过jquery ajax向你设置的地址发送数据.
 +<sxh javascript;>​
 +$.ajax({
 +  type: '​POST', ​
 +  url : 你填写的接收地址,​
 +  dataType: '​json',​
 +  data: 要发给你的数据(格式举例:​ a=1&​b=2&​c=3&​...)
 +});
 +</​sxh>​
 +
 +==== 发送数据解释 ====
 +发送的数据由两部分内容组成,​ 本次联络记录+客户资料.
 +
 +**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:​**电话号码一
  
- $.ajax({+**phone2:​**电话号码二
  
- type'​POST',​  +**fax1:**传真号码一
-  +
- url : 你填写的接收地址,​+
  
- dataType'​json',​+**email:**电子邮箱
  
- data要发给你的数据(格式举例:​ a=1&​b=2&​c=3&​...),​+**address1:**联系地址一
  
- success:function(json){ +**country:**国家
-         +
- },+
  
- error:function(){+**memo:**备注
  
-+**flag:​**标志
- });+
  
 +==== 接收端应该如何做?​ ====
 +首先, 接收端的web服务器应允许向此地址(即你设置的接收程序地址)发送的post跨域请求,​ 否则astercc无法将此消息送达.
  
 +其次, 接收post数据进行你的业务处理.
  
 +最后, 处理完毕后,​ 返回一个json格式的响应(例如:​ {code: 1, msg: "​xxxx"​}).
  
 +建议你如此做,​ 避免座席页面在浏览器中看到浏览器发出的错误提示信息.
  
 +**以nodejs做服务端为例**
 +<sxh javascript;>​
 +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'​);​
 +});
 +</​sxh>​
  
  
zh/二次开发者指南/外呼营销弹屏页面保存时如何向远程系统发送数据.1423619322.txt.gz · 最后更改: 2017/12/12 03:11 (外部编辑)
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki