销售出库单跨系统集成实践:从旺店通到金蝶云的完整流程

  • 轻易云集成顾问-张妍琪

旗舰-旺店通-销售出库单——>金蝶-销售出库单

在复杂的企业运营中,系统间的数据集成至关重要。本文将分享一个实际案例:如何通过轻易云数据集成平台,将旺店通·旗舰奇门中的销售出库单高效、稳定地对接到金蝶云星空中。

为了实现这一目标,我们主要采用了两大API接口:从旺店通·旗舰奇门获取数据的 wdt.wms.stockout.sales.querywithdetail 和将数据批量写入到金蝶云星空的 batchSave。整个集成流程涉及多个关键技术环节,包括确保不漏单、大量数据快速写入以及处理分页和限流问题等。

首先,我们需要解决的是如何调用并抓取旺店通·旗舰奇门接口 wdt.wms.stockout.sales.querywithdetail 的数据信息。这一过程不仅要求我们定时可靠地获取最新数据,还需要应对大量数据信息进行高效处理。为此,通过配置API请求参数,合理设置时间间隔和分页策略,以确保所有销售出库单能够按时且完整地被抓取。

其次是如何优化这些抓取的数据,在这个过程中,要特别注意两点。一方面,要解决原始数据格式与目标系统之间存在的差异,需要通过自定义映射规则,将不同字段内容准确转换匹配;另一方面,还要设计合适的数据清洗规则,过滤掉无效或重复的信息,提高整体集成效率。

最后,当所有准备工作完成后,即可利用Goldwind Cloud提供的批量保存功能,实现向金蝶云星空批量高速写入。同时,为保障整个过程中不会出现意外,中途还需加入实时监控与日志记录机制,一旦发生错误,则需触发相应重试机制来恢复进程,保证最终业务连续性及正确性。

以上是本次技术案例开端部分简单概述。在下文中,我们会详细探讨各个具体步骤、配置方法以及所涉及的重要技术细节,从而帮助大家更好理解并实践这一经典场景应用方案。 如何对接金蝶云星空API接口

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

在数据集成过程中,调用源系统接口是至关重要的一步。本文将详细探讨如何通过轻易云数据集成平台调用旺店通·旗舰奇门接口 wdt.wms.stockout.sales.querywithdetail 获取销售出库单数据,并进行必要的数据加工。

接口调用配置

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

{
  "api": "wdt.wms.stockout.sales.querywithdetail",
  "method": "POST",
  "number": "order_no",
  "id": "stockout_id",
  "idCheck": true,
  "formatResponse": [
    {
      "old": "consign_time",
      "new": "short_date",
      "format": "date"
    }
  ],
  "request": [
    {
      "field": "pager",
      "label": "分页参数",
      "type": "object",
      "children": [
        {
          "field": "page_size",
          "label": "分页大小",
          "type": "string",
          "value": "200",
          "parent": "pager"
        },
        {
          "field": "page_no",
          "label": "页号",
          "type": "string",
          "value": "1",
          "parent": "pager"
        }
      ]
    },
    {
      "field": "params",
      ...
    }
  ],
  ...
}

请求参数解析

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

  • 分页参数

    • page_size: 每页返回的数据条数,默认值为200。
    • page_no: 当前页码,默认值为1。
  • 业务参数

    • start_timeend_time: 查询的时间范围,这里使用了动态变量 {{DAYS_AGO_1|date}} 来表示前一天的日期。
    • status_type: 出库单状态,默认值为0。
    • warehouse_no, stockout_no, shop_nos, src_order_no, need_sn, position: 分别表示仓库编码、出库单编号、店铺编号(多个店铺编号使用英文逗号分隔)、销售订单号、是否返回SN信息、是否按照货位排序等。

数据格式化与转换

在获取到原始数据后,需要对其进行格式化和转换。例如,将字段 consign_time 转换为新的字段名 short_date 并格式化为日期类型:

"formatResponse":[
  {
    ...
    {
      ...
      {
        ...
        {
          ...
        }
      }
    }
  }
]

数据过滤与条件设置

为了确保数据的准确性和有效性,可以设置条件过滤。例如,通过条件过滤排除特定店铺编号的数据:

"condition_bk":[
  [
    {
      ...
    }
  ]
]

在这个例子中,我们排除了编号为 "29,76,28,33,40,37,38,36,DADAN004,DADAN003,DADAN001,DADAN002" 的店铺。

实际操作步骤

  1. 配置请求元数据:在轻易云平台上,根据上述配置创建一个新的API调用任务。
  2. 发送请求:通过POST方法发送请求,获取销售出库单的详细信息。
  3. 处理响应:对响应数据进行格式化和转换,将字段名从 consign_time 改为 short_date 并格式化为日期类型。
  4. 应用过滤条件:根据设定的条件过滤掉不需要的数据,例如特定店铺编号的数据。
  5. 存储与后续处理:将处理后的数据写入目标系统(如金蝶),完成整个数据集成过程的第一步。

通过以上步骤,我们可以高效地从旺店通·旗舰奇门接口获取并加工销售出库单数据,为后续的数据转换与写入打下坚实基础。 电商OMS与WMS系统接口开发配置

使用轻易云数据集成平台实现销售出库单ETL转换并写入金蝶云星空API接口

在数据集成的生命周期中,将源平台的数据转换为目标平台可接受的格式是关键步骤。本文将详细探讨如何利用轻易云数据集成平台,将旗舰-旺店通的销售出库单数据进行ETL转换,并通过金蝶云星空API接口写入目标平台。

数据请求与清洗

在数据请求与清洗阶段,我们已经从源系统(如旺店通)获取了原始数据。接下来,我们需要将这些数据转换为金蝶云星空API能够接收的格式。

数据转换与写入

我们将重点关注如何配置元数据,以便将清洗后的数据正确地映射并写入金蝶云星空。以下是具体的元数据配置和解析:

{
  "api": "batchSave",
  "effect": "EXECUTE",
  "method": "POST",
  "idCheck": true,
  "request": [
    {
      "field": "FBillTypeID",
      "label": "单据类型",
      "type": "string",
      "describe": "单据类型",
      "parser": {
        "name": "ConvertObjectParser",
        "params": "FNumber"
      },
      "value": "XSCKD01_SYS"
    },
    {
      "field": "FBillNo",
      "label": "单据编号",
      "type": "string",
      "describe": "单据编号"
    },
    {
      "field": "FDate",
      "label": "日期",
      ...
    }
  ],
  ...
}

核心字段解析与映射

  1. 单据类型(FBillTypeID)

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

    • 类型:字符串
    • 描述:单据编号
  3. 日期(FDate)

    • 类型:字符串
    • 描述:日期
    • 值:{short_date} 00:00:00
  4. 销售组织(FSaleOrgId)

    • 类型:字符串
    • 描述:组织
    • 转换器:ConvertObjectParser,参数为FNumber
    • 值:101
  5. 客户(FCustomerID)

    • 类型:字符串
    • 描述:基础资料
    • 转换器:ConvertObjectParser,参数为FNumber
    • 值:
      "_mongoQuery 3c9b5a58-0a09-3ae7-b7ea-20fbf5f16fa3 findField=content.FNumber where={\"content.FName\":{\"$eq\":\"{shop_name}\"}}"
  6. 旺店通备注(F_TBIK_WDTBZ)

    • 类型:字符串
    • 描述:多行文本
    • 值:{shop_name}-{warehouse_no}-{short_date}

明细信息配置

明细信息是一个数组,包含多个字段:

  1. 物料编码(FMaterialID)

    • 类型:字符串
    • 描述:基础资料
    • 转换器:ConvertObjectParser,参数为FNumber
    • 值:{details_list_spec_no}
  2. 实发数量(FRealQty)

    • 类型:字符串
    • 描述:数量
    • 值:
      "_function round('{details_list_goods_count}',0)"
  3. 含税单价(FTaxPrice)

    • 类型:字符串
    • 描述:单价
    • 值:
      "_function '{details_list_paid}'/round('{details_list_goods_count}',0)"
  4. 仓库(FStockID)

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

执行操作配置

其他请求和操作配置如下:

{
  ...
  {"field":"FormId","label":"业务对象表单Id","type":"string","describe":"必须填写金蝶的表单ID如:PUR_PurchaseOrder","value":"SAL_OUTSTOCK"},
  {"field":"Operation","label":"执行的操作","type":"string","describe":"执行的操作","value":"Save"},
  {"field":"IsAutoSubmitAndAudit","label":"提交并审核","type":"bool","describe":"提交并审核","value":"false"},
  {"field":"IsVerifyBaseDataField","label":"验证基础资料","type":"bool","describe":"是否验证所有的基础资料有效性,布尔类,默认false(非必录)","value":"true"},
  {"field":"SubSystemId","label":"系统模块","type":"string","describe":"默认仓库模块","value":"21"}
}

通过上述配置,我们可以确保从源系统获取的数据经过ETL转换后,能够准确无误地写入到金蝶云星空系统中。这种高效的数据集成方式,不仅提升了业务透明度和效率,还确保了各个环节的数据准确性和一致性。 泛微OA与ERP系统接口开发配置

更多系统对接方案