轻易云平台在数据ETL及金蝶云星空对接中的应用实例

  • 轻易云集成顾问-吴伟

旺店通·旗舰奇门数据集成到金蝶云星空的盘盈单处理方案

在实际运营过程中,电商企业常需要将不同系统之间的数据进行无缝对接,以保证业务流程的高效和准确。本案例重点分享了如何利用轻易云数据集成平台,将旺店通·旗舰奇门(WDT)中的盘盈单(其他入库单)数据,与金蝶云星空系统进行高效、可靠的对接。

为实现这一目标,我们采用了一套名为“05-盘盈单-其他入库单”的具体方案。该方案旨在确保从WDT获取的数据能够快速且批量写入到金蝶云星空,并且通过定时抓取和分页处理,解决可能出现的数据丢失或积压问题。

数据获取与接口调用

首先,通过调用旺店通·旗舰奇门提供的API wdt.wms.stockpd.querystockpdindetail 实现了对盘盈单详细信息的定期、稳定抓取。此处主要应对的是分页限制,因为旺店通API对于返回结果存在一定数量限制,因此需要设计合理的分页机制来逐步获取全部数据。

{
  "page_no": 1,
  "page_size": 100,
  "query_time_end": "",
  "query_time_start": ""
}

上述JSON请求示例展示了基本参数配置,其中page_nopage_size用于控制分页查询。而为了避免重复以及漏掉重要时间段内的数据,需要根据业务逻辑精准设定时间范围并记录上次成功处理的位置,实现全方位覆盖。

数据格式转换与映射

由于WDT与金蝶云星空使用的是不同的数据结构,因此必须进行适当的数据格式差异处理。例如,在轻易云平台中,我们设置了特定规则来将WDT API返回字段映射至金蝶所需格式。这一过程依赖于自定义脚本或模板,使得每一个字段都能对应正确位置,减少出错概率,提高效率。

{
    "warehouseCode": "{sourceWarehouseID}",
    "stockList":[
        {
            "productCode":"{itemSku}",
            ...
        }
    ]
}

这种预先设计好的映射关系确保我们能够高效地转换并生成符合金蝶要求的新JSON,用于后续步骤中的数据提交操作。

批量写入及异常恢复机制

最终部分涉及调用金蝶云星空提供的批量保存API batchSave

{
  "data":[
      ...
   ]
}

这里强调了一点,即大规模写入操作不仅仅是简单调用一次API,还包括建立异常捕捉及重试机制。当网络波 如何对接金蝶云星空API接口

调用旺店通·旗舰奇门接口wdt.wms.stockpd.querystockpdindetail获取并加工数据

在轻易云数据集成平台的生命周期中,调用源系统接口是至关重要的一步。本文将详细介绍如何通过调用旺店通·旗舰奇门接口wdt.wms.stockpd.querystockpdindetail来获取并加工数据。

接口配置与请求参数

首先,我们需要配置接口的元数据。根据提供的元数据配置,接口调用方法为POST,主要参数如下:

  • api: wdt.wms.stockpd.querystockpdindetail
  • method: POST
  • number: order_no
  • id: stockin_id
  • idCheck: true

请求参数分为分页参数和业务参数两大类:

  1. 分页参数 (pager):

    • page_size: 分页大小,默认值为50。
    • page_no: 页号,默认值为1。
  2. 业务参数 (params):

    • start_time: 开始时间,使用占位符{{LAST_SYNC_TIME|datetime}}表示上次同步时间。
    • end_time: 结束时间,使用占位符{{CURRENT_TIME|datetime}}表示当前时间。
    • time_type: 时间类型,默认值为1(最后修改时间)。
    • status: 入库单状态,默认值为80。
    • warehouse_no: 仓库编号。
    • stockin_no: 入库单号。
    • src_order_no: 盘点单号。

请求示例

以下是一个完整的请求示例:

{
  "pager": {
    "page_size": "50",
    "page_no": "1"
  },
  "params": {
    "start_time": "{{LAST_SYNC_TIME|datetime}}",
    "end_time": "{{CURRENT_TIME|datetime}}",
    "time_type": "1",
    "status": "80",
    "warehouse_no": "",
    "stockin_no": "",
    "src_order_no": ""
  }
}

数据清洗与转换

在获取到原始数据后,需要对数据进行清洗和转换,以便后续处理和写入目标系统。以下是一些常见的数据清洗与转换操作:

  1. 字段映射:将源系统中的字段映射到目标系统中的相应字段。例如,将order_no映射到目标系统中的order_number
  2. 数据格式转换:将日期格式从源系统的格式转换为目标系统所需的格式。例如,将YYYY-MM-DD HH:mm:ss格式转换为YYYYMMDDHHmmss格式。
  3. 缺失值处理:处理源数据中的缺失值,例如用默认值填充或删除包含缺失值的记录。

实践案例

假设我们需要将获取到的盘点单详情数据写入另一个ERP系统。具体步骤如下:

  1. 调用接口获取数据: 使用上述请求示例,通过轻易云平台调用旺店通·旗舰奇门接口获取盘点单详情数据。

  2. 清洗与转换数据: 对获取到的数据进行清洗和转换。例如,将盘点单号、入库单号等字段映射到目标ERP系统中相应的字段,并处理日期格式和缺失值。

  3. 写入目标系统: 将清洗和转换后的数据通过轻易云平台写入目标ERP系统。这一步可以通过配置相应的API接口或数据库连接来实现。

通过以上步骤,我们实现了从旺店通·旗舰奇门接口获取盘点单详情数据,并经过清洗和转换后写入目标ERP系统。这不仅提高了数据处理效率,还确保了数据的一致性和准确性。 用友与WMS系统接口开发配置

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

在数据集成的生命周期中,ETL(提取、转换、加载)是一个关键步骤。本文将重点探讨如何利用轻易云数据集成平台,将已经集成的源平台数据进行ETL转换,并通过金蝶云星空API接口写入目标平台。

元数据配置与解析

首先,我们需要了解元数据配置,这些配置定义了如何将源数据映射到目标系统的字段。以下是一个典型的元数据配置示例:

{
  "api": "batchSave",
  "method": "POST",
  "idCheck": true,
  "operation": {
    "rowsKey": "array",
    "rows": 1,
    "method": "batchArraySave"
  },
  "request": [
    {"field":"FBillNo","label":"单据编号","type":"string","describe":"单据编号","value":"{order_no}"},
    {"field":"FBillTypeID","label":"单据类型","type":"string","describe":"单据类型","parser":{"name":"ConvertObjectParser","params":"FNumber"},"value":"QTRKD01_SYS"},
    {"field":"FStockOrgId","label":"库存组织","type":"string","describe":"组织","parser":{"name":"ConvertObjectParser","params":"FNumber"},"value":"100"},
    {"field":"FStockDirect","label":"库存方向","type":"string","describe":"下拉列表","value":"1"},
    {"field":"FDate","label":"日期","type":"string","describe":"日期","value":"{{check_time|dateTime}}"},
    {"field":"FDEPTID","label":"部门","type":"string","describe":"基础资料","parser":{"name":"ConvertObjectParser","params":"FNumber"},"value":"BM000032"},
    {"field":"FOwnerTypeIdHead","label":"货主类型","type":"string","describe":"多类别基础资料列表","value":"BD_OwnerOrg"},
    {"field":"FOwnerIdHead","label":"货主","type":"","parser":{"name":"","params":""},"value":""},
    {"field":"","label":"","type":"","describe":"","parser":{"name":"","params":""},"value":""}
  ],
  "otherRequest":[
    {"field":"","label":"","type":"","describe":"","value":""},
    {"field":"","label":"","type":"","describe":"","value":""}
  ]
}

数据提取与转换

在数据提取阶段,我们从源系统获取原始数据。接下来,通过轻易云的数据清洗功能,对这些原始数据进行标准化处理。例如,将日期格式统一、去除无效字符等。

在数据转换阶段,我们使用元数据配置中的parser字段来定义如何转换字段值。例如,ConvertObjectParser可以将某些字段值转换为金蝶云星空所需的格式:

{"field": "FBillTypeID", "parser": {"name": "ConvertObjectParser", "params": "FNumber"}, "value": "QTRKD01_SYS"}

这个配置表示将FBillTypeID字段的值通过ConvertObjectParser解析为金蝶云星空所需的格式。

数据加载

在完成数据转换后,我们需要将这些数据通过API接口写入金蝶云星空。以下是一个典型的API请求示例:

{
  "FormId": "STK_MISCELLANEOUS",
  "IsVerifyBaseDataField": true,
  "Operation": "Save",
  "IsAutoSubmitAndAudit": true,
  "Model":{
      // 转换后的具体业务对象内容
      ...
  }
}

这里,FormId指定了业务对象表单ID,例如盘盈单的表单ID为STK_MISCELLANEOUS。此外,设置IsAutoSubmitAndAudit为true,可以实现自动提交和审核。

技术案例:盘盈单到其他入库单

以下是一个具体的技术案例,展示如何将盘盈单的数据转换并写入金蝶云星空中的其他入库单:

  1. 提取源平台数据

    {
     "order_no": "PY20231001",
     ...
    }
  2. 应用元数据配置进行转换

    {
     ...
     {
       "FBillNo": "{order_no}",
       ...
     }
    }
  3. 构建API请求并发送

    {
     ...
     {
       ...
       {
         // 转换后的业务对象内容
         ...
       }
     }
    }

通过上述步骤,我们可以实现从盘盈单到其他入库单的数据无缝对接,并确保每个环节的数据准确性和一致性。

总结

本文详细介绍了如何利用轻易云数据集成平台,将源平台的数据进行ETL转换,并通过金蝶云星空API接口写入目标系统。通过合理配置元数据和使用合适的解析器,可以大大简化复杂的数据集成过程,提高系统间的数据交互效率和准确性。 数据集成平台API接口配置

更多系统对接方案