使用轻易云将旺店通数据转换为金蝶销售订单

  • 轻易云集成顾问-卢剑航

旺店通·企业奇门销售出库单对接金蝶云星空销售订单的实践案例

在实际业务场景中,系统之间的数据集成是一个关键环节。本案例分享了如何将旺店通·企业奇门(简称“旺店通”)的销售出库单数据无缝集成到金蝶云星空中的销售订单。通过轻易云数据集成平台,我们实现了从接口抓取、数据转换到批量写入的一系列技术流程。

确保不漏单:调用wdt.stockout.order.query.trade接口

对于系统间的数据同步,确保数据完整性和实时性至关重要。我们首先调用了旺店通提供的wdt.stockout.order.query.trade API,该接口可以精确获取每个时间段内生成的所有销售出库单记录。为了避免因网络波动等原因造成的数据遗漏,我们引入了重试机制并记录日志,以确保每一条出库单都能被成功捕获。

高效写入:使用batchSave API进行批量处理

针对大量的数据需要快速、高效地写入到金蝶云星空,我们采用其提供的batchSave API。这种方式极大地提升了数据写入效率,通过一次性提交多个请求,减少API调用次数。此外,为保证批量操作过程中的可靠性,我们设计了一套错误处理与重试机制,对于失败的批次会自动重新尝试,从而达到高可用性的目标。

数据格式差异及定制化映射

在具体实施过程中,不同系统之间的数据格式差异常常成为障碍。因此,在对接方案中设计了一套灵活的数据映射策略。通过定制化转换规则,将旺店通原始返回的数据结构标准化为符合金蝶云星空要求的格式。同时,这些映射规则支持动态配置和实时更新,确保适应不断变化的业务需求。

以上几个步骤仅是整个对接过程的一部分。在后续内容中,将详细说明分页和限流问题、异常处理与监控机制等技术细节,以全面展示这次跨系统集成项目中的实践经验和解决方案。 用友BIP接口开发配置

调用旺店通·企业奇门接口wdt.stockout.order.query.trade获取并加工数据

在数据集成的生命周期中,调用源系统接口是关键的第一步。本文将详细探讨如何通过轻易云数据集成平台调用旺店通·企业奇门接口wdt.stockout.order.query.trade来获取销售出库单数据,并进行初步的数据加工。

接口调用配置

首先,我们需要配置接口调用的元数据。以下是针对wdt.stockout.order.query.trade接口的详细配置:

{
  "api": "wdt.stockout.order.query.trade",
  "effect": "QUERY",
  "method": "POST",
  "number": "order_no",
  "id": "stockout_id",
  "name": "order_no",
  "idCheck": true,
  "request": [
    {
      "field": "start_time",
      "label": "开始时间",
      "type": "datetime",
      "describe": "增量获取数据,start_time作为开始时间,格式:yyyy-MM-dd HH:mm:ss",
      "value": "{{LAST_SYNC_TIME|datetime}}"
    },
    {
      "field": "end_time",
      "label": "结束时间",
      "type": "datetime",
      "describe": "增量获取数据,end_time作为结束时间,格式:yyyy-MM-dd HH:mm:ss",
      "value": "{{CURRENT_TIME|datetime}}"
    },
    {
      "field": "status",
      "label": "状态",
      "type": "string",
      "describe":"5已取消,55已审核,95已发货,105 部分打款,110已完成,113:异常发货",
      "value":"95,110"
    },
    {
      ...
    }
  ],
  ...
}

参数说明

  • start_timeend_time:用于定义增量获取数据的时间范围。start_timeend_time分别表示开始和结束时间。
  • status:过滤订单状态,这里我们选择了“95已发货”和“110已完成”。
  • 其他字段:如系统订单编号、原始单号、出库单号、店铺编号、仓库编号等,用于进一步细化查询条件。

请求示例

在实际操作中,我们可以通过以下示例请求来获取所需的数据:

{
  "start_time": "{{LAST_SYNC_TIME|datetime}}",
  "end_time": "{{CURRENT_TIME|datetime}}",
  ...
}

数据过滤与清洗

在获取到原始数据后,我们需要对其进行初步的过滤和清洗。根据元数据配置中的条件,可以看到以下两个主要过滤条件:

  1. details_list.brand_name != '赠品'
  2. shop_no in ('CUST2501', 'CUST2534', 'CUST2426')

这些条件确保我们只处理特定品牌和特定店铺的数据,从而提高了数据处理的效率和准确性。

分页处理

为了处理大批量的数据,我们需要使用分页机制。通过设置分页大小(page_size)和页号(page_no),可以逐页获取数据:

{
  ...
  "page_size":"40", 
  ...
}

自动填充响应

轻易云平台支持自动填充响应功能,这意味着我们不需要手动解析每个字段,而是可以直接使用平台提供的自动映射功能来简化开发过程。

数据加工与转换

在完成初步的数据清洗后,可以根据业务需求进行进一步的数据转换。例如,将销售出库单转换为金蝶销售订单格式。这一步通常涉及字段映射、值转换等操作。

通过以上步骤,我们可以高效地从旺店通系统中提取并加工销售出库单数据,为后续的数据写入和业务处理打下坚实基础。 如何对接金蝶云星空API接口

使用轻易云数据集成平台将旺店通销售出库单转换为金蝶销售订单

在数据集成过程中,ETL(Extract, Transform, Load)是关键步骤之一。在本文中,我们将详细探讨如何使用轻易云数据集成平台,将旺店通的销售出库单数据转换为金蝶云星空API接口所能接收的格式,并最终写入目标平台。

数据请求与清洗

首先,我们从源平台(旺店通)获取销售出库单的数据。假设这些数据已经通过轻易云的数据请求和清洗阶段,准备好进行下一步的转换和写入。

数据转换与写入

在这一阶段,我们需要将清洗后的数据按照金蝶云星空API接口的要求进行转换,并通过API接口将数据写入目标平台。以下是具体的元数据配置及其解析:

{
  "api": "batchSave",
  "effect": "EXECUTE",
  "method": "POST",
  "idCheck": true,
  "request": [
    {
      "field": "FBillTypeID",
      "label": "单据类型",
      "type": "string",
      "describe": "单据类型",
      "parser": {
        "name": "ConvertObjectParser",
        "params": "FNumber"
      },
      "value": "XSDD11_DEF"
    },
    {
      "field": "FBillNo",
      "label": "单据编号",
      "type": "string",
      "describe": "单据编号",
      "value": "{src_order_no}"
    },
    {
      ...
    }
  ],
  ...
}
核心字段解析
  1. FBillTypeID(单据类型)

    • 类型:string
    • 描述:用于指定金蝶系统中的单据类型。
    • 转换器:ConvertObjectParser,参数为FNumber,即将源数据的某个字段值映射为金蝶系统中的编码。
    • 固定值:XSDD11_DEF
  2. FBillNo(单据编号)

    • 类型:string
    • 描述:唯一标识销售订单的编号。
    • 值:从源数据中提取,如 {src_order_no}
  3. FSaleOrgId(销售组织)

    • 类型:string
    • 描述:表示销售组织。
    • 转换器:ConvertObjectParser,参数为 FNumber
    • 值:从源数据中提取并映射,如 {shop_no}
  4. FCustId(客户)

    • 类型:string
    • 描述:表示客户信息。
    • 转换器:ConvertObjectParser,参数为 FNumber
    • 值:从源数据中提取并映射,如 {shop_no}
  5. FSaleOrderEntry(订单明细)

    • 类型:array
    • 描述:包含订单的详细条目。
    • 子字段包括:
      • FMaterialId(物料编码)
      • 类型:string
      • 转换器:ConvertObjectParser
      • 值:从 details_list.goods_no 提取并映射。
      • FQty(销售数量)
      • 类型:string
      • 值:从 details_list.goods_count 提取。 ...
特殊逻辑处理
  1. 库存组织字段 FStockOrgId

    {
     ...
     "value":"_findCollection find F_PAEZ_Base2 from adac3655-a3cb-3551-9024-8e7b360f930a where FNumber={{details_list.goods_no}}"
     ...
    }

    使用 _findCollection find ... where ... 的语法,从指定集合中查找并匹配相应的库存组织。

  2. 是否赠品字段 FIsFree

    {
     ...
     "value":"_function CASE WHEN {{details_list.sell_price}}>0 THEN 'false' ELSE 'true' END"
     ...
    }

    使用 _function CASE WHEN ... THEN ... ELSE ... END 的语法,根据商品价格判断是否为赠品。

其他配置项
  • FormId: 表示业务对象表单ID,如 SAL_SaleOrder.
  • Operation: 执行操作类型,如 BatchSave.
  • IsAutoSubmitAndAudit: 是否自动提交并审核,布尔值 true.
  • IsVerifyBaseDataField: 是否验证基础资料有效性,布尔值 true.

实际应用案例

假设我们有一批销售出库单需要转换并写入金蝶云星空。我们可以按照上述配置,通过轻易云的数据集成平台实现以下步骤:

  1. 从旺店通获取原始销售出库单数据。
  2. 根据元数据配置,将原始数据字段逐一映射和转换为金蝶系统所需格式。
  3. 调用金蝶云星空API接口,通过POST方法批量保存转换后的销售订单数据。

通过上述步骤,我们能够高效地完成从源平台到目标平台的数据集成任务,实现不同系统间的数据无缝对接。 如何对接钉钉API接口

更多系统对接方案