差别

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

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
zh:二次开发者指南:外呼营销弹屏页面保存时如何向远程系统发送数据 [2015/02/11 01:51] – [astercc是如何向远程系统post数据的?] mengljzh:二次开发者指南:外呼营销弹屏页面保存时如何向远程系统发送数据 [2015/02/11 03:35] (当前版本) menglj
行 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向你设置的地址发送数据.
-<note>+<sxh javascript;>
 $.ajax({ $.ajax({
- 
   type: 'POST',    type: 'POST', 
-  
   url : 你填写的接收地址,   url : 你填写的接收地址,
- 
   dataType: 'json',   dataType: 'json',
- 
   data: 要发给你的数据(格式举例: a=1&b=2&c=3&...)   data: 要发给你的数据(格式举例: a=1&b=2&c=3&...)
 }); });
-</note>+</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:**电话号码一
 +
 +**phone2:**电话号码二
 +
 +**fax1:**传真号码一
 +
 +**email:**电子邮箱
 +
 +**address1:**联系地址一
 +
 +**country:**国家
 +
 +**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/二次开发者指南/外呼营销弹屏页面保存时如何向远程系统发送数据.1423619468.txt.gz · 最后更改: (外部编辑)
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki