使用轻易云平台进行钉钉数据转金蝶:步骤详解及案例分析

  • 轻易云集成顾问-谢楷斌

钉钉报销数据集成至金蝶云星空的技术探讨

在企业信息化推进过程中,异构系统间的数据集成和对接一直是个关键挑战。本文将分享一个成功案例——通过轻易云平台实现钉钉报销数据自动集成到金蝶云星空,具体方案为“钉钉报销【月结贷款】->金蝶付款单【纳兰杜】”。

对于该项目,我们主要面临以下几个技术难题:如何确保数据不漏单,大量数据快速写入,以及处理两者之间的数据格式差异。下面,将详细介绍我们如何借助API接口及相关技术手段高效解决这些问题。

首先,在获取钉钉报销数据方面,我们直接调用了topapi/processinstance/get API接口,该接口支持分页查询,因此需要特别处理分页和限流问题,以确保所有待处理的实例都能被完整抓取且不会触发API请求频率限制。在这个过程中,通过设置合理的定时任务来可靠地抓取数据,并实时监控每次抓取情况及日志记录,有效保障了过程透明度和可追溯性。

然后,在批量写入到金蝶云星空时,我们使用了其提供的batchSave API。这一操作涉及大量报销单据的一次性提交,需要优化批处理策略以提升效率。同时,还必须注意两者之间的数据格式差异,为此我们进行了自定义映射,确保不同字段类型、名称完全匹配以及正确转换。此外,为应对可能出现的异常情况,实现了一套完善的错误重试机制,这样即便出现临时故障,也不会导致整体流程中断或重要数据丢失。

这一综合解决方案不仅保证了系统间无缝衔接,更大幅提升了业务运作效率与透明度。在后续部分,我们将进一步深入探讨具体实施步骤及代码示例。

如何对接企业微信API接口

调用钉钉接口topapi/processinstance/get获取并加工数据

在数据集成生命周期的第一步中,调用源系统的API接口获取数据是至关重要的一环。本文将详细探讨如何通过轻易云数据集成平台调用钉钉接口topapi/processinstance/get来获取报销类别为“月结货款”的审批实例,并对数据进行初步加工。

API接口调用配置

首先,我们需要配置API接口的调用参数。根据提供的元数据配置,以下是具体的参数设置:

  • API路径: topapi/processinstance/get
  • 请求方法: POST
  • ID校验: 启用(idCheck: true
  • 条件过滤: 仅获取报销类别为“月结货款”的审批实例
    "condition": [
    [
      {"field": "报销类别", "logic": "eq", "value": "月结货款"}
    ]
    ]

请求参数配置

请求参数包括审批流的唯一码、时间范围、分页参数等。以下是具体的请求参数设置:

  1. 审批流的唯一码

    • 字段名:process_code
    • 类型:string
    • 值:PROC-C20F7186-8491-4D6D-B0BC-35AE79450B42
  2. 审批实例开始时间

    • 字段名:start_time
    • 类型:string
    • 值:计算公式为当前时间减去96小时(4天),转换为Unix时间戳,单位毫秒。
      "_function ( {LAST_SYNC_TIME} - ( 3600 * 96) ) * 1000"
  3. 审批实例结束时间

    • 字段名:end_time
    • 类型:string
    • 值:当前时间,转换为Unix时间戳,单位毫秒。
      "{CURRENT_TIME}000"
  4. 分页参数

    • 每页大小(最多传20)

      • 字段名:size
      • 类型:string
      • 值:20
    • 分页查询的游标

      • 字段名:cursor
      • 类型:string
      • 值:最开始传0,后续传返回参数中的next_cursor值。

数据格式化与加工

在获取到原始数据后,需要对部分字段进行格式化和重命名。例如,将字段“付款方式”重命名为“付款方式_new”,并将其格式化为字符串类型。

"formatResponse": [
  {"old": "付款方式", "new": "付款方式_new", "format": "string"}
]

实际操作步骤

  1. 配置API请求 在轻易云数据集成平台上,通过可视化界面配置上述API路径、请求方法和请求参数。

  2. 执行API调用 平台会根据配置自动生成HTTP POST请求,并向钉钉接口发送请求以获取符合条件的数据。

  3. 处理响应数据 接收到响应数据后,根据元数据配置中的格式化规则,对字段进行重命名和格式化处理。

  4. 存储与后续处理 将处理后的数据存储到目标系统中,为下一步的数据转换与写入做好准备。

通过以上步骤,我们实现了从钉钉系统中获取特定条件下的审批实例,并对数据进行了初步加工。这一过程不仅确保了数据的一致性和准确性,还为后续的数据处理奠定了基础。 钉钉与WMS系统接口开发配置

使用轻易云数据集成平台将钉钉报销数据转换并写入金蝶云星空API接口

在数据集成的生命周期中,第二步至关重要,即将已经集成的源平台数据进行ETL转换,并转为目标平台所能接收的格式。本文将详细探讨如何使用轻易云数据集成平台,将钉钉报销【月结贷款】的数据转换为金蝶付款单【纳兰杜】所需的格式,并通过金蝶云星空API接口写入目标平台。

元数据配置解析

首先,我们需要理解元数据配置中的各个字段及其作用。以下是元数据配置的详细解析:

{
  "api": "batchSave",
  "method": "POST",
  "idCheck": true,
  "operation": {
    "method": "batchArraySave",
    "rows": 1,
    "rowsKey": "array"
  },
  "request": [
    {"field":"FBillNo","label":"单据编号","type":"string","describe":"单据编号","value":"{{extend.business_id}}"},
    {"field":"FBillTypeID","label":"单据类型","type":"string","describe":"单据类型","parser":{"name":"ConvertObjectParser","params":"FNUMBER"},"value":"FKDLX01_SYS"},
    {"field":"FDATE","label":"业务日期","type":"string","describe":"业务日期","value":"{{extend.finish_time}}"},
    {"field":"FSETTLEORGID","label":"结算组织","type":"string","describe":"100","parser":{"name":"ConvertObjectParser","params":"FNumber"},"value":"_findCollection find Number from 723e2cb6-f80f-3823-8b4f-6e98b9713ba3 where Name={{费用归属项目}}"},
    {"field":"FPAYORGID","label":"付款组织","type":"string","describe":"100","parser":{"name":"ConvertObjectParser","params":"FNumber"},"value":"_findCollection find Number from 723e2cb6-f80f-3823-8b4f-6e98b9713ba3 where Name={{费用归属项目}}"},
    {"field":"FCURRENCYID","label":"币别","type":"string","describe":"币别","parser":{"name":"ConvertObjectParser","params":"FNumber"},"value":"PRE001"},
    {"field":"FCONTACTUNITTYPE","label":"往来单位类型","type":"string","describe":"","value":"BD_Supplier"},
    {"field":"FCONTACTUNIT","label":"往来单位","type":"","describe":"","value":"","parser":{"name":"","params":""}},
    {"field":"","label":"","type":"","describe":"","value":"","parser":{"name":"","params":""}},
    {"field":"","label":"","type":"","describe":"","value":"","parser":{"name":"","params":""}},
    {"field":"","label":"","type":"","describe":"","value":"","parser":{"name":"","params":""}},
    {"field":"","label":"",

数据转换与写入步骤

  1. 请求配置

    • apimethod字段指定了调用金蝶云星空API接口的方法,这里使用的是batchSave
    • idCheck设置为true,表示需要检查ID。
    • operation字段定义了批量保存操作,指定每次处理一行数据(rows: 1),并且使用数组形式保存(rowsKey: array)。
  2. 字段映射

    • FBillNo: 单据编号,映射到钉钉报销中的业务ID ({{extend.business_id}})。
    • FBillTypeID: 单据类型,固定值为FKDLX01_SYS
    • FDATE: 业务日期,映射到钉钉报销中的完成时间 ({{extend.finish_time}})。
    • FSETTLEORGID: 结算组织,通过查找费用归属项目名称获取对应的编号。
    • FPAYORGID: 付款组织,同样通过查找费用归属项目名称获取对应的编号。
    • FCURRENCYID: 币别,固定值为PRE001
  3. 复杂字段处理

    • 对于数组类型的字段如FPAYBILLENTRY, 包含多个子字段,每个子字段需要进行相应的映射和转换。例如:
      • FSETTLETYPEID: 结算方式,通过查找付款方式名称获取对应的编号。
      • FPURPOSEID: 付款用途,固定值为SFKYT08_SYS
      • FPAYTOTALAMOUNTFOR: 应付金额,直接映射到报销金额 ({{金额(元)}})。
  4. 特殊处理

    • 对于一些需要根据条件进行处理的字段,如对方银行账号 (FOPPOSITEBANKACCOUNT) 和对方账户名称 (FOPPOSITECCOUNTNAME) ,可以使用函数进行条件判断和赋值。

实际案例应用

在实际应用中,通过上述配置,我们可以实现从钉钉报销系统到金蝶云星空系统的数据无缝对接。具体步骤如下:

  1. 准备数据:从钉钉报销系统中提取原始数据,包括业务ID、完成时间、费用归属项目等信息。
  2. ETL转换:根据元数据配置,将提取的数据进行转换,包括字段映射、格式转换、条件判断等操作。
  3. 调用API:将转换后的数据通过HTTP POST请求发送到金蝶云星空API接口,实现批量保存操作。

技术要点总结

通过以上步骤,我们可以看到,在轻易云数据集成平台上进行ETL转换并写入目标平台,需要深入理解元数据配置和各个字段的具体含义。同时,在实际操作中,需要灵活运用各种解析器和函数,以确保数据能够准确无误地传递到目标系统。这种全异步、多异构系统支持的平台特性,使得不同系统间的数据集成变得高效而可靠。 轻易云数据集成平台金蝶集成接口配置

更多系统对接方案