轻松实现金蝶与旺店通数据无缝对接的完整解决方案_API

【金蝶】采购入库单对接【旺店通】委外入库单_合并

在企业信息化系统中,数据的高效流转和准确对接是确保业务顺畅运行的关键。本文将分享一个实际案例,展示如何通过轻易云数据集成平台实现金蝶云星空与旺店通·企业奇门之间的数据无缝对接。具体方案为:【金蝶】采购入库单对接【旺店通】委外入库单_合并。

在本次集成过程中,我们利用了金蝶云星空的executeBillQuery API接口来获取采购入库单数据,并通过旺店通·企业奇门的wdt.vip.wms.stockinout.order.push API接口将这些数据写入到目标系统中。为了确保整个过程的高效性和可靠性,我们采用了一系列技术手段:

  1. 高吞吐量的数据写入能力:大量采购入库单数据能够快速被集成到旺店通·企业奇门系统中,有效提升了数据处理时效性。
  2. 实时监控与告警系统:通过集中监控和告警机制,实时跟踪每个数据集成任务的状态和性能,及时发现并处理异常情况。
  3. 自定义数据转换逻辑:针对两大平台之间的数据格式差异,通过自定义转换逻辑,实现了数据结构的适配,确保了数据的一致性和完整性。
  4. 分页与限流处理:在调用金蝶云星空API时,为应对分页和限流问题,我们设计了相应的策略,以保证大批量数据抓取过程中的稳定性。
  5. 错误重试机制:在向旺店通·企业奇门推送数据时,如果遇到网络波动或其他异常情况,通过错误重试机制,确保每一条记录都能成功写入,不漏单。

通过上述技术手段,本方案不仅实现了两个系统间的数据无缝对接,还显著提高了业务流程的透明度和效率。在后续章节中,我们将详细介绍具体实施步骤及相关配置细节。 

轻松实现金蝶与旺店通数据无缝对接的完整解决方案_API_02

轻松实现金蝶与旺店通数据无缝对接的完整解决方案_数据_03

调用金蝶云星空接口executeBillQuery获取并加工数据

在数据集成的生命周期中,第一步是至关重要的,即从源系统获取数据。在本案例中,我们将重点讨论如何通过轻易云数据集成平台调用金蝶云星空接口executeBillQuery来获取采购入库单的数据,并进行初步加工处理。

配置API请求参数

首先,需要配置API请求参数。根据元数据配置,可以看到需要传递多个字段以确保我们能够准确地查询到所需的数据。这些字段包括但不限于单据编号、单据状态、入库日期、供应商等。

{
  "api": "executeBillQuery",
  "method": "POST",
  "request": [
    {"field": "FInStockEntry_FEntryId", "value": "FInStockEntry_FEntryId"},
    {"field": "FID", "value": "FID"},
    {"field": "FBillNo", "value": "FBillNo"},
    {"field": "FDocumentStatus", "value": "FDocumentStatus"},
    {"field": "FDate", "value": "FDate"},
    // 更多字段...
  ],
  // 其他请求参数...
}

这些字段将被封装到HTTP POST请求的body中,以便向金蝶云星空发送查询请求。

构建过滤条件

为了提高查询效率和准确性,我们可以使用过滤条件。例如,我们可以设置过滤条件为只查询审核日期在某个时间段之后且单据类型为委外入库单或标准采购入库单的数据:

{
  "FilterString": {
    "$eq_or_gt$":"2023-08-01",
    "$or$":[
      {"FBillTypeID.FNumber":"RKD03_SYS"},
      {"FBillTypeID.FNumber":"CPCGRKD"}
    ]
  }
}

这种方式不仅能减少不必要的数据传输,还能确保我们获取到最新和最相关的数据。

分页处理

由于可能存在大量数据,一次性获取所有记录是不现实的。因此,分页处理是必不可少的。我们可以利用金蝶提供的分页参数,如最大行数(Limit)和开始行索引(StartRow),来逐页获取数据:

{
  // 分页参数示例
  "Limit": "{PAGINATION_PAGE_SIZE}",
  "StartRow": "{PAGINATION_START_ROW}"
}

通过循环调整StartRow值,可以实现对大批量数据的分段抓取,从而避免接口超时或内存溢出的问题。

数据清洗与转换

在成功获取到原始数据后,下一步是对其进行清洗与转换,以适应目标系统(如旺店通·企业奇门)的需求。常见的操作包括:

  1. 字段映射:将源系统中的字段名转换为目标系统所需的字段名。
  2. 格式转换:例如,将日期格式从YYYY-MM-DD转换为目标系统要求的格式。
  3. 单位换算:如果源系统和目标系统使用不同的计量单位,需要进行相应换算。

举例来说,如果我们需要将金蝶云星空中的“实收数量” (FRealQty) 转换为旺店通中的“实际数量”,可以通过以下映射规则实现:

{
  // 字段映射示例
  "{source_field}":"{target_field}",
  ...
}

实时监控与日志记录

为了确保整个过程顺利进行,并及时发现潜在问题,实时监控与日志记录是必不可少的一环。轻易云平台提供了集中的监控和告警系统,可以实时跟踪每个任务的状态和性能。同时,通过详细的日志记录,可以快速定位并解决问题,提高整体效率。

综上所述,通过合理配置API请求参数、构建有效过滤条件、实施分页处理以及进行必要的数据清洗与转换,我们可以高效地从金蝶云星空获取并加工采购入库单的数据,为后续步骤打下坚实基础。 

轻松实现金蝶与旺店通数据无缝对接的完整解决方案_字段_04

轻松实现金蝶与旺店通数据无缝对接的完整解决方案_数据_05

金蝶采购入库单对接旺店通委外入库单的ETL转换与写入

在数据集成的生命周期中,将已经集成的源平台数据进行ETL(Extract, Transform, Load)转换是至关重要的一步。本案例将重点探讨如何将金蝶采购入库单数据转换为旺店通·企业奇门API接口所能接收的格式,并最终写入目标平台。

数据提取与清洗

首先,从金蝶系统提取采购入库单数据。提取的数据包括单据编号、仓库编号、物料编码、实际数量、总金额等字段。这些数据经过初步清洗,确保无缺失或错误信息。

数据转换

数据转换是ETL过程中的核心步骤,需要将金蝶系统的数据结构映射到旺店通·企业奇门API接口所需的格式。以下是关键字段的映射和转换逻辑:

  1. 接口外部单号 (api_outer_no)
  • 源字段:FBillNo 和 FStockId_FNumber
  • 转换规则:合并FBillNoFStockId_FNumber,生成唯一的接口外部单号。
  • 示例:{FBillNo}_{FStockId_FNumber}
  1. 仓库编号 (warehouse_no)
  • 源字段:FStockId_FNumber
  • 转换规则:直接映射。
  • 示例:{FStockId_FNumber}
  1. 出入类型 (order_type)
  • 固定值:2(表示入库)
  • 示例:2
  1. 货品列表 (goods_list)
  • 该字段包含多个子项,需要对每个物料进行详细映射和计算。

子项包括:

  • 商家编码 (spec_no)
  • 源字段:FMaterialId_F_UBGN_Text3
  • 转换规则:直接映射。
  • 示例:{{details.FMaterialId_F_UBGN_Text3}}
  • 入库数量 (num)
  • 源字段:FRealQty
  • 转换规则:直接映射。
  • 示例:{{details.FRealQty}}
  • 价格 (price)
  • 源字段:总金额 FAllAmount 和 实际数量 FRealQty
  • 转换规则:计算每件物料的单价,保留四位小数。
  • 示例: _function ROUND( {{details.FAllAmount}} / {{details.FRealQty}}, 4 )

数据写入

完成数据转换后,通过调用旺店通·企业奇门API接口,将转换后的数据写入目标平台。使用POST请求方法,将构建好的JSON数据发送至API端点。

以下是部分关键请求参数配置:

{
  "api": "wdt.vip.wms.stockinout.order.push",
  "method": "POST",
  "request": [
    {
      "field": "api_outer_no",
      "value": "{FBillNo}_{FStockId_FNumber}"
    },
    {
      "field": "warehouse_no",
      "value": "{FStockId_FNumber}"
    },
    {
      "field": "order_type",
      "value": "2"
    },
    {
      "field": "goods_list",
      "children": [
        {
          "field": "spec_no",
          "value": "{{details.FMaterialId_F_UBGN_Text3}}"
        },
        {
          "field": "num",
          "value": "{{details.FRealQty}}"
        },
        {
          "field": "price",
          "value": "_function ROUND( {{details.FAllAmount}} / {{details.FRealQty}}, 4 )"
        }
      ]
    }
  ]
}

注意事项

  1. 高吞吐量支持 确保系统能够处理高吞吐量的数据写入,以应对大批量数据同步需求。
  2. 实时监控 利用集中的监控和告警系统,实时跟踪数据集成任务状态,及时发现并处理异常情况。
  3. 自定义数据转换逻辑 根据业务需求,自定义数据转换逻辑,确保与目标平台的数据结构完全匹配。
  4. 分页和限流 处理金蝶云星空接口的分页和限流问题,确保不会因单次请求过多而导致失败。
  5. 异常处理与重试机制 实现异常处理与错误重试机制,确保在发生错误时能够自动重试,提高系统稳定性和可靠性。

通过以上步骤,可以实现从金蝶采购入库单到旺店通委外入库单的数据ETL转换及写入过程,有效提高数据集成效率和准确性。 

轻松实现金蝶与旺店通数据无缝对接的完整解决方案_API_06

轻松实现金蝶与旺店通数据无缝对接的完整解决方案_字段_07