这里会显示出您选择的修订版和当前版本之间的差别。
| 两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
|
zh:二次开发者指南:外呼营销弹屏页面保存时如何向远程系统发送数据 [2015/02/11 01:50] 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向你设置的地址发送数据. | ||
| - | <note> | + | <sxh javascript;> |
| $.ajax({ | $.ajax({ | ||
| + | type: 'POST', | ||
| + | url : 你填写的接收地址, | ||
| + | dataType: 'json', | ||
| + | data: 要发给你的数据(格式举例: a=1&b=2&c=3&...) | ||
| + | }); | ||
| + | </sxh> | ||
| - | type: 'POST', | + | ==== 发送数据解释 ==== |
| - | + | 发送的数据由两部分内容组成, 本次联络记录+客户资料. | |
| - | url : 你填写的接收地址, | + | |
| - | dataType: 'json', | + | **campaignId:**外呼营销计划ID |
| - | data: 要发给你的数据(格式举例: a=1&b=2&c=3&...) | + | **customerId:**客户ID |
| - | }); | + | |
| - | </note> | + | |
| + | **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> | ||