利用轻易云平台进行ETL转换并写入金蝶云星空系统

  • 轻易云集成顾问-杨嫦

旺店通·旗舰奇门数据集成到金蝶云星空的技术实现

在企业信息系统对接过程中,尤其是涉及多个复杂环节的数据集成任务时,常常会遇到如何确保数据高效、无遗漏地传输和处理的问题。本文将分享如何使用轻易云数据集成平台,实现旺店通·旗舰奇门销售出库单的数据无缝对接到金蝶云星空系统。

此次案例中,我们的主要目标是在保障原始数据完整性的前提下,通过调用旺店通·旗舰奇门的API接口wdt.wms.stockout.sales.querywithdetail高效抓取销售出库单,并批量写入到金蝶云星空,同时要处理好分页、限流及异常重试等关键问题。

接口调用与高吞吐量数据写入

为了确保大量销售信息能够快速被存储并进入财务管理流程,我们需要充分利用旺店通·旗舰奇门和金蝶云星空所提供的API资产管理功能。在此过程中:

  1. 定时可靠的数据抓取:首先,需要设定一个定时任务,从旺店通·旗舰奇门接口wdt.wms.stockout.sales.querywithdetail中可靠地抓取销售出库单。通过设置合理的时间间隔,可以确保及时获取新生成或更新过的信息。

  2. 分页与限流处理:由于接口返回结果可能会受到数量限制,为避免因大规模请求导致超时或服务不可用情况发生,我们通过分页机制逐步拉取所有必要的数据。此外,还需考虑限流策略,以防止触发接口保护机制而无法正常获取全部数据信息。

  3. 高吞吐量批量写入:在成功从源头获取到了完整且准确的销售信息后,通过轻易平台内置的高吞吐能力,将这些信息批量写入至金蝶云星空对应模块中。调用其提供的数据接收API batchSave,依据预先定义好的映射关系进行匹配插入操作,从而提高了整个操作链路上的效率。

数据质量监控与异常处理

为保证整个流程中的稳定性和准确性,不仅需要实时监控每一步骤执行状态,还必须建立一套行之有效的错误检测及修复机制:

  • 支持自定义转换逻辑调整两个系统之间不同字段格式以及内容差异,使得最终提交至目标数据库中的信息符合业务需求。

  • 全面实时监控通过集中监控面板,全程追踪各个子任务运行状况,一旦发现问题立即定位并解决。同时,在发生连接失败或意外断开场景下,引入自动重试规则最大程度 打通用友BIP数据接口

    调用旺店通·旗舰奇门接口获取并加工数据

在数据集成生命周期的第一步,我们需要从源系统调用API接口获取数据,并对其进行初步加工。本文将详细探讨如何通过轻易云数据集成平台调用旺店通·旗舰奇门接口wdt.wms.stockout.sales.querywithdetail,并对返回的数据进行处理。

接口调用配置

首先,我们需要配置API接口的调用参数。根据提供的元数据配置,我们可以看到该接口采用POST方法,主要参数包括分页参数和业务参数。

分页参数

  • page_size: 分页大小,默认为50。
  • page_no: 页号,默认为1。

业务参数

  • start_time: 开始时间,使用动态变量{{MINUTE_AGO_30|datetime}}表示30分钟前的时间。
  • end_time: 结束时间,使用动态变量{{CURRENT_TIME|datetime}}表示当前时间。
  • status_type: 出库单状态,默认值为3,表示按照指定的status状态字段查询。
  • status: 出库单状态详细,默认值为110。
  • 其他可选参数如仓库编码、出库单编号、店铺编号、销售订单号等。

以下是一个示例请求体:

{
  "pager": {
    "page_size": 50,
    "page_no": 1
  },
  "params": {
    "start_time": "{{MINUTE_AGO_30|datetime}}",
    "end_time": "{{CURRENT_TIME|datetime}}",
    "status_type": "3",
    "status": "110"
  }
}

数据请求与清洗

在完成API调用配置后,我们可以通过轻易云平台发起请求并获取返回的数据。接下来是数据清洗环节,这一步骤非常重要,因为它确保了后续数据转换和写入过程的顺利进行。

示例返回数据结构

{
  "data": [
    {
      "stockout_id": "123456",
      "order_no": "SO20231001",
      // 更多字段...
    }
  ],
  "total_count": 100,
  // 更多元信息...
}

在清洗过程中,我们需要关注以下几点:

  1. 字段映射与转换:确保返回的数据字段与目标系统所需字段一致。例如,将stockout_id映射为目标系统中的唯一标识符。
  2. 数据过滤:根据业务需求过滤不必要的数据。例如,仅保留特定状态的出库单。
  3. 异常处理:处理可能出现的异常情况,如空值、格式错误等。

数据转换与写入准备

在完成数据清洗后,需要将其转换为目标系统所需的格式。这一步通常涉及复杂的逻辑处理,如数据类型转换、字段合并或拆分等。

例如,将返回的数据转换为金蝶系统所需的销售出库单格式:

{
  "salesOrderList": [
    {
      "id": "123456",
      "orderNumber": "SO20231001",
      // 更多字段...
    }
  ]
}

实时监控与调试

在整个过程中,通过轻易云平台提供的实时监控功能,可以随时查看数据流动和处理状态。这有助于及时发现和解决问题,提高集成效率和准确性。

小结

通过上述步骤,我们实现了从旺店通·旗舰奇门接口获取销售出库单数据,并对其进行初步加工,为后续的数据转换和写入做好准备。轻易云平台提供了全透明可视化操作界面,使得整个过程更加高效和可靠。 如何对接企业微信API接口

使用轻易云数据集成平台进行ETL转换并写入金蝶云星空API接口

在数据集成过程中,ETL(Extract, Transform, Load)是关键步骤之一。本文将详细探讨如何利用轻易云数据集成平台,将已经集成的源平台数据(如旺店通的销售出库单)进行ETL转换,并最终写入金蝶云星空API接口。

数据转换与写入配置

在轻易云数据集成平台中,元数据配置是实现数据转换和写入的核心。以下是一个典型的元数据配置示例,用于将销售出库单的数据写入金蝶云星空API接口:

{
  "api": "batchSave",
  "method": "POST",
  "idCheck": true,
  "operation": {
    "rowsKey": "array",
    "rows": 1,
    "method": "batchArraySave"
  },
  "request": [
    {
      "field": "FBillTypeID",
      "label": "单据类型",
      "type": "string",
      "describe": "单据类型",
      "value": "XSCKD01_SYS",
      "parser": {
        "name": "ConvertObjectParser",
        "params": "FNumber"
      }
    },
    {
      ...
    }
  ],
  ...
}

核心字段解析

  1. FBillTypeID(单据类型)

    • 类型:字符串
    • 描述:单据类型
    • 固定值:XSCKD01_SYS
    • 转换器:ConvertObjectParser,参数为FNumber
  2. FBillNo(单据编号)

    • 类型:字符串
    • 描述:单据编号
    • 动态值:{order_no},从源数据中提取
  3. FDate(日期)

    • 类型:字符串
    • 描述:日期
    • 动态值:{consign_time},从源数据中提取
  4. FSaleOrgId(销售组织)

    • 类型:字符串
    • 描述:组织
    • 动态值:通过SQL查询从关联表中获取,例如 _findCollection find FSaleOrgId_FNumber from e4421177-aa64-33ce-83ea-22e992b91dd5 where FBillNo={{details_list.src_tid}}
    • 转换器:ConvertObjectParser,参数为FNumber
  5. FCustomerID(客户)

    • 类型:字符串
    • 描述:基础资料
    • 动态值:{shop_no},从源数据中提取
    • 转换器:ConvertObjectParser,参数为FNumber
  6. FStockOrgId(发货组织)

    • 类型:字符串
    • 描述:组织
    • 动态值:通过SQL查询从关联表中获取,例如 _findCollection find FStockOrgId from e4421177-aa64-33ce-83ea-22e992b91dd5 where FBillNo={{details_list.src_tid}}
    • 转换器:ConvertObjectParser,参数为FNumber

明细信息处理

对于复杂的明细信息,我们需要处理数组类型的数据,并确保每个子项都正确映射到目标系统:

{
  "field": "FEntity",
  "label": "明细信息",
  "type": "array",
  ...
}

每个明细项包括以下字段:

  1. FMaterialID(物料编码)

    • 类型:字符串
    • 描述:基础资料
    • 动态值:通过模板变量 {{details_list.goods_no}}
    • 转换器:ConvertObjectParser,参数为 FNumber
  2. FRealQty(实发数量)

    • 类型:字符串
    • 描述:数量
    • 动态值:通过模板变量 {{details_list.goods_count}}
  3. FTaxPrice(含税单价)

    • 类型:字符串
    • 动态值:通过模板变量 {{details_list.sell_price}}
  4. FStockID(仓库)

    • 类型:字符串
    • 描述:基础资料
    • 动态值: {warehouse_no}
    • 转换器: ConvertObjectParser, 参数为 FNumber

特殊字段处理

有些字段需要根据特定逻辑进行处理,例如:

{
  ...
  {
    "parent":"FEntity",
    ...
    {"field":"FIsFree","label":"是否赠品","type":"string","value":"_function case '{{details_list.gift_type}}' when '0' then 'false' else 'true' end"}
  }
}

这里使用了 _function case ... end 来判断是否为赠品。

最终请求构建

构建最终请求时,需要将所有字段按照目标API的要求进行组装,并确保所有必要的验证和转换都已完成。轻易云平台提供了丰富的工具和方法来简化这一过程,使得整个ETL流程更加高效和可靠。

以上是使用轻易云数据集成平台进行ETL转换并写入金蝶云星空API接口的详细技术实现过程。通过合理配置元数据,可以确保不同系统间的数据无缝对接,实现业务流程的自动化和高效化。 企业微信与OA系统接口开发配置

更多系统对接方案