Kettle调用纷享销客CRM部门及用户接口

文章目录

  • 1 Kettle调用纷享销客CRM部门及用户接口
    • 1.1 job
    • 1.2 获取token
    • 1.3 部门转换
    • 1.4 转换
  • 2. 说明
    • 2.1 未详细介绍的组件

1 Kettle调用纷享销客CRM部门及用户接口

Kettle调用纷享销客部门和用户和用户接口,来把对应的部门和用户存入本地数据库。

1.1 job

Kettle调用纷享销客CRM部门及用户接口_第1张图片

  • 设置变量
parent_job.setVariable("corpAccessToken", rows[0].getString("corpAccessToken", ""));
parent_job.setVariable("corpId", rows[0].getString("corpId", ""));
true
  • JavaScript
var prevRow=previous_result.getRows();//获取上一个传递的结果
if (prevRow == null &&(prevRow.size()=0))
{
    false;

}else{
    parent_job.setVariable("tables", prevRow);//ArrayList存储表名变量
    parent_job.setVariable("size", prevRow.size());//存储执行表的总数量
    parent_job.setVariable("i", 0);//循环控制变量
	parent_job.setVariable("departmentId", prevRow.get(0).getString("id", ""));
    true;

}
  • 检验字段的值

Kettle调用纷享销客CRM部门及用户接口_第2张图片

  • JavaScript2
var prevRow=previous_result.getRows();
var size = new Number(parent_job.getVariable("size"));
var i = new Number(parent_job.getVariable("i"))+1;
if(i<size){
    parent_job.setVariable("departmentId", prevRow.get(i).getString("id", ""));
}
parent_job.setVariable("i",i);
true;

1.2 获取token

Kettle调用纷享销客CRM部门及用户接口_第3张图片

  • 生成记录

Kettle调用纷享销客CRM部门及用户接口_第4张图片

body 为请求携带的参数:{“appId”: “”,“appSecret”:"",“permanentCode”:""}

url 为获取access_token的接口:https://open.fxiaoke.com/cgi/corpAccessToken/get/V2

  • REST Client

返回的json格式如下:具体可参考文档http://open.fxiaoke.com/wiki.html#artiId=17

{
    "errorCode": 0,
    "errorMessage": "success",
    "corpAccessToken": "CORP_ACCESS_TOKEN",
    "corpId": "CORP_ID",
    "expiresIn": 7200
}

Kettle调用纷享销客CRM部门及用户接口_第5张图片

Kettle调用纷享销客CRM部门及用户接口_第6张图片

  • JSON Input

Kettle调用纷享销客CRM部门及用户接口_第7张图片

Kettle调用纷享销客CRM部门及用户接口_第8张图片

  • 字段选择

Kettle调用纷享销客CRM部门及用户接口_第9张图片

1.3 部门转换

Kettle调用纷享销客CRM部门及用户接口_第10张图片

  • 获取变量

获取job中传过来的变量corpid,corpAccessToken

Kettle调用纷享销客CRM部门及用户接口_第11张图片

  • JavaScript代码

拼接参数body

Kettle调用纷享销客CRM部门及用户接口_第12张图片

  • JSON Input

处理接口返回的json,详细见文档http://open.fxiaoke.com/wiki.html#artiId=20

Kettle调用纷享销客CRM部门及用户接口_第13张图片

  • 插入更新

Kettle调用纷享销客CRM部门及用户接口_第14张图片

1.4 转换

用户转换,通过循环传入的部门id,去查询该部门下的用户,并插入到数据库。

接口描述见文档:http://open.fxiaoke.com/wiki.html#artiId=22

Kettle调用纷享销客CRM部门及用户接口_第15张图片

  • JavaScript代码
var body = '{"corpAccessToken":"'+corpAccessToken+'","corpId":"'+corpId+'","departmentId":'+departmentId+',"fetchChild":'+fetchChild+'}';

  • JSON Input

Kettle调用纷享销客CRM部门及用户接口_第16张图片

  • Switch/Case

是个判断,因为部门下可能存在没有用户,如果主键null去进行插入更新操作,就会报错。所以加了这个判断

Kettle调用纷享销客CRM部门及用户接口_第17张图片

2. 说明

2.1 未详细介绍的组件

未详细介绍的可参考我的另外两篇博客

Kettle循环获取结果集
Kettle循环获取结果集中的数据并传入转换里面

你可能感兴趣的:(数据处理)