从数据抓取到数据写入:企业系统集成的技术实践

  • 轻易云集成顾问-潘裕

旺店通销售退货单=>金蝶销售退货单:系统对接集成案例分享

在复杂的企业业务流程中,系统间的数据对接显得尤为重要。本次案例聚焦于将旺店通·企业奇门的销售退货数据高效、准确地集成到金蝶云星空平台。具体操作过程中,我们运用了wdt.stockin.order.query.refund接口从旺店通获取销售退货信息,并通过金蝶云星空提供的batchSave接口进行数据写入。

首先,为了确保从旺店通·企业奇门获取的数据不漏单,这里实现了定时可靠的抓取机制,通过严格配置API调用频率和重试逻辑,有效处理分页和限流问题。此外,在批量数据向金蝶云星空快速写入方面,我们利用了现有API支持的大规模并发能力来加速传输,同时严格按照场景需求实施定制化的数据映射,以适应两套系统之间的格式差异。

为了防止潜在的数据丢失或错误,一旦在对接过程中出现异常情况,将启动专用的错误重试机制,对每一条失败记录重新进行处理。而对于实时监控需要,则部署了一整套日志记录与报警通知体系,能够及时捕捉关键环节的问题反馈,为后续优化提供依据。

本案还特别注意到了使用过程中的实际运行效果,不仅保证了集成链路透明可视,也大幅提升了整体业务流转效率。在接下来的部分中,我们将详细解析各步骤中的技术实现细节,包括如何精准调用API、高效批量写入,以及异常处理策略等。 如何对接金蝶云星空API接口

调用源系统旺店通·企业奇门接口wdt.stockin.order.query.refund获取并加工数据

在数据集成生命周期的第一步,我们需要从源系统中获取数据,并对其进行初步加工。本文将详细介绍如何通过调用旺店通·企业奇门接口wdt.stockin.order.query.refund来实现这一过程。

接口概述

接口wdt.stockin.order.query.refund用于查询销售退货单信息,支持按状态、时间范围等条件进行过滤。该接口采用POST请求方式,返回的数据包括订单编号、源订单编号、状态等关键信息。

元数据配置解析

根据提供的元数据配置,我们需要设置以下请求参数:

  • status: 入库单状态,默认值为80(已完成)。
  • start_time: 查询的开始时间,使用上次同步时间。
  • end_time: 查询的结束时间,使用当前时间。
  • page_size: 分页大小,固定为50。
  • page_no: 页号,用于分页查询。

这些参数确保了我们能够高效地获取所需的销售退货单数据。

{
  "api": "wdt.stockin.order.query.refund",
  "method": "POST",
  "number": "order_no",
  "id": "src_order_no",
  "idCheck": true,
  "request": [
    {
      "field": "status",
      "label": "状态",
      "type": "int",
      "describe": "入库单状态 10已取消20编辑中30待审核60待结算80已完成(默认查询80已完成单据)",
      "value": "80"
    },
    {
      "field": "start_time",
      "label": "开始时间",
      "type": "datetime",
      "describe": "开始时间",
      "value": "{{LAST_SYNC_TIME|datetime}}"
    },
    {
      "field": "end_time",
      "label": "结束时间",
      "type": "datetime",
      "describe": "结束时间",
      "value": "{{CURRENT_TIME|datetime}}"
    }
  ],
  "otherRequest": [
    {
      "field": "page_size",
      "label": "分页大小",
      "type": "string",
      "value": "50"
    },
    {
      "field": "page_no",
      "label": "页号",
      "type": "string"
    }
  ]
}

数据请求与清洗

在调用接口时,我们需要构建一个POST请求,将上述参数传递给接口。以下是一个示例请求体:

{
  "_api_name_":"wdt.stockin.order.query.refund", 
  "_api_method_":"POST", 
  "_api_params_":{
    "_status_":"80", 
    "_start_time_":"{{LAST_SYNC_TIME|datetime}}", 
    "_end_time_":"{{CURRENT_TIME|datetime}}", 
    "_page_size_":"50", 
    "_page_no_":"1"
  }
}

在接收到响应后,我们需要对数据进行初步清洗和转换。具体步骤如下:

  1. 验证响应数据:检查响应状态码和返回的数据结构是否符合预期。
  2. 提取有效信息:从响应中提取订单编号、源订单编号、状态等关键信息。
  3. 处理分页:如果有多页数据,需要循环调用接口,直到所有数据都被获取。

数据转换与写入

在完成数据请求与清洗后,我们需要将数据转换为目标系统所需的格式,并写入目标系统。在本案例中,目标系统是金蝶销售退货单。我们需要将提取到的数据映射到金蝶系统的相应字段,并通过API或其他方式写入金蝶系统。

例如,将旺店通中的order_no映射到金蝶中的订单编号字段,将src_order_no映射到金蝶中的源订单编号字段。

实践案例

假设我们已经成功调用了接口并获取了以下示例响应:

{
  "_response_status_":"success", 
  "_data_":[
    {"order_no":"SO12345", 
     {"src_order_no":"PO54321", 
     {"status":"80"}
     }
   ]
}

我们可以将这些数据转换为如下格式,以便写入金蝶系统:

{
  "_kingdee_sales_return_order_":[
    {"order_number":"SO12345", 
     {"source_order_number":"PO54321", 
     {"status":"completed"}
     }
   ]
}

通过这种方式,我们实现了从旺店通到金蝶系统的数据集成,为业务流程的自动化和高效运作提供了有力支持。

总结以上内容,通过调用旺店通·企业奇门接口wdt.stockin.order.query.refund并进行适当的数据清洗和转换,可以高效地实现销售退货单的数据集成。这一过程不仅提升了业务透明度和效率,也为后续的数据处理和分析奠定了坚实基础。 如何对接用友BIP接口

数据集成与转换:将旺店通销售退货单数据写入金蝶云星空

在数据集成的生命周期中,数据转换与写入是至关重要的一步。本文将深入探讨如何通过轻易云数据集成平台,将已经集成的源平台数据(旺店通销售退货单)进行ETL转换,并转为目标平台(金蝶云星空API接口)所能够接收的格式,最终实现数据的成功写入。

API接口配置与请求参数

首先,我们需要了解金蝶云星空API接口的基本配置和请求参数。根据元数据配置,我们使用的是batchSave接口,采用POST方法进行数据传输。以下是关键的请求参数及其配置:

  • FBillTypeID: 单据类型,通过ConvertObjectParser解析,参数为FNumber
  • FBillNo: 单据编号,直接映射为源数据中的order_no
  • FSaleOrgId: 销售组织,通过ConvertObjectParser解析,固定值为109
  • FDate: 日期,映射为源数据中的modified
  • FStockOrgId: 库存组织,通过ConvertObjectParser解析,固定值为109
  • FRetcustId: 退货客户,通过ConvertObjectParser解析,映射为源数据中的shop_no
  • FHeadNote: 备注,多行文本字段。
  • F_ora_Text2: 快递单号,映射为源数据中的logistics_code

明细信息处理

在处理明细信息时,我们需要特别注意数组类型的数据结构。以下是明细信息字段及其配置:

  • FEntity: 明细信息数组,其中包含多个子字段:
    • FMaterialId: 物料编码,通过ConvertObjectParser解析,映射为源数据中的 details_list.spec_no.
    • FRealQty: 实退数量,映射为源数据中的 details_list.num.
    • FIsFree: 是否赠品,根据 details_list.cost_price > 0 ? 'false' : 'true'.
    • FPrice: 单价,映射为源数据中的 details_list.sell_price.
    • FTaxPrice: 含税单价,映射为源数据中的 details_list.src_price.
    • FStockId: 仓库,通过 ConvertObjectParser, 映射为 warehouse_no.
    • FNote: 备注,映射为 details_list.remark.
    • FOrderNo: 订单单号,映射为 details_list.tid.
    • FLot: 批次,通过 ConvertObjectParser, 固定值 kt.

财务信息处理

财务信息部分主要涉及结算组织:

  • SubHeadEntity:
    • FSettleOrgId: 结算组织,通过 ConvertObjectParser, 固定值 109.

操作配置

最后,我们需要设置一些操作相关的参数,以确保正确执行批量保存操作:

  • FormId: 表单ID, 固定值 SAL_RETURNSTOCK.
  • Operation: 执行操作, 固定值 Save.
  • IsAutoSubmitAndAudit: 是否自动提交并审核, 固定值 true.
  • IsVerifyBaseDataField: 验证基础资料, 固定值 true.
  • SubSystemId: 系统模块, 固定值 21.
  • BatchCount: 服务端开启的线程数, 固定值 5.

数据转换与写入流程

  1. 数据请求与清洗:从旺店通获取销售退货单的数据,并进行初步清洗和格式化。
  2. 数据转换:根据上述元数据配置,将清洗后的数据转换为金蝶云星空API能够接收的格式。特别注意字段类型、解析器以及固定值的使用。
  3. 数据写入:通过调用金蝶云星空的批量保存API接口,将转换后的数据写入目标平台。

在整个过程中,需要确保每个字段的数据类型和格式都符合目标平台的要求,同时要实时监控和记录每一步骤的数据流动和处理状态,以便及时发现和解决潜在的问题。

通过以上步骤,我们可以高效地将旺店通销售退货单的数据成功写入金蝶云星空,实现不同系统间的数据无缝对接。 电商OMS与WMS系统接口开发配置

更多系统对接方案