利用轻易云平台实现旺店通与金蝶采购入库系统集成

  • 轻易云集成顾问-胡秀丛

旺店通·企业奇门数据集成到金蝶云星空的解决方案

在本文中,我们将探讨一个实际运行的系统对接案例:如何通过旺店通销售出库-->金蝶采购入库(一件代发)-新账套100.9方案,实现旺店通·企业奇门的数据顺利、高效地集成到金蝶云星空。我们重点关注API接口调用、数据格式转换以及异常处理机制等方面的问题,以确保整个流程无缝连接,并最大程度上减少人为干预和潜在错误。

案例背景与需求概述

任务需求是在旺店通(WDT)系统中的销售出库单信息,通过自动化手段,实时可靠地传输并整合至金蝶云星空(Kingdee Cloud)。这要求我们不仅要应对大量订单数据的批量写入,还需要保证每个步骤的数据准确性,即实现“不漏单”。

接口调用策略

首先,我们使用了wdt.stockout.order.query.trade接口来定时抓取旺店通·企业奇门的销售信息。在此过程中,为了规避分页和限流问题,需要设计适当的请求频率控制以及有效的数据缓存机制,从而避免遗漏任何一笔交易。

# 调用示例
curl -X POST "https://api.wangdian.cn/openapi2/wdt.stockout.order.query.trade" \
-H "Content-Type: application/json" \
-d '{
  "shop_no": "<SHOP_NO>",
  "stockout_no": "<STOCKOUT_NO>"
}'

数据格式差异与转换

两者系统间的数据格式存在显著差异,因此采用了自定义映射规则,以确保能正确解析并转化各字段。一旦获取到销售信息后,借助轻易云平台,可视化操作界面进行相应处理,将其转为符合金蝶云要求的数据结构。

# 原始返回结果示例(部分)
{
  "orders": [
    {
      "stockout_no": "123456789",
      ...
    }
  ]
}

# 转换后用于batchSave API请求体内容示例(部分)
{
  "entries": [
    {
      "bizNo":"123456789",
      ...
    }
  ]
}

批量写入与高效存储

在数据成功转换之后,使用batchSave接口实现向金蝶云星空的大量数据写入。为了保障性能及稳定性,这里引入了一些优化策略,如批次提交、重试机制,以及错误日志记录。这些措施都基于对业务连续性及容错性的综合考量,确保所有关键环节都有充分备份和监 金蝶与外部系统打通接口

调用旺店通·企业奇门接口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,105,110,113"},
    {"field":"src_order_no","label":"系统订单编号","type":"string","describe":"系统订单编号"},
    {"field":"src_tid","label":"原始单号","type":"string","describe":"原始单号"},
    {"field":"stockout_no","label":"出库单号","type":"string","describe":"出库单号"},
    {"field":"shop_no","label":"店铺编号","type":"string","describe":"代表店铺所有属性的唯一编码,用于店铺区分,ERP内支持自定义(ERP店铺界面设置),用于获取指定店铺单据数据信息"},
    {"field":"warehouse_no","label":"仓库编号","type":"string","describe":"代表仓库所有属性的唯一编码,用于仓库区分,ERP内支持自定义(ERP仓库界面设置),用于获取指定仓库单据数据信息(不支持一次推送多个仓库编号)"},
    {"field":"is_by_modified","label":"is_by_modified","type":"string","describe":"is_by_modified"}
  ],
  "otherRequest": [
    {"field": "page_size", "label": "分页大小", "type": "string", "describe": "每页返回的数据条数,输入值范围1~100,不传本参数,输入值默认为40", "value": "{PAGINATION_PAGE_SIZE}"},
    {"field": "page_no", "label": "页号", "type": "string", "describe": "不传值默认从0页开始", "value": "{PAGINATION_START_PAGE}"}
  ],
  ...
}

数据请求与清洗

在调用接口时,我们需要特别注意请求参数的设置,以确保能够准确地获取所需的数据。以下是一些关键参数及其作用:

  • start_timeend_time: 用于增量获取数据,这两个参数分别表示数据查询的起始和结束时间。
  • status: 用于过滤订单状态,例如95表示已发货、105表示部分打款、110表示已完成等。
  • shop_nowarehouse_no: 分别用于指定店铺和仓库的信息,以便精确定位所需的数据。

这些参数通过模板变量如{{LAST_SYNC_TIME|datetime}}{{CURRENT_TIME|datetime}}进行动态填充,从而实现自动化的数据请求。

数据转换与写入

在成功获取数据后,需要对其进行清洗和转换,以便后续写入目标系统。在这个过程中,可以利用轻易云平台提供的可视化工具,对数据进行过滤、映射和转换。例如:

  • 过滤: 根据业务需求,可以进一步过滤掉不符合条件的数据。例如,通过配置条件过滤掉特定仓库或特定交易类型的数据。
  • 映射: 将源系统中的字段映射到目标系统中的字段。例如,将stockout_id映射为目标系统中的订单ID。
  • 转换: 对某些字段进行格式转换或单位换算,以符合目标系统的要求。

实际案例

假设我们需要从旺店通中获取某一时间段内所有已发货且属于特定店铺(编号为202009)的销售出库订单,并将其导入金蝶采购入库。具体步骤如下:

  1. 配置请求参数:

    {
     ...
     "request": [
       {"field": "start_time", ... , "value": "{{LAST_SYNC_TIME|datetime}}"},
       {"field": "end_time", ... , "value": "{{CURRENT_TIME|datetime}}"},
       {"field": "status", ... , "value": "95,105,110,113"},
       ...
       {"field": "shop_no", ... , "value": "{SPECIFIC_SHOP_NO}"}
     ],
     ...
    }
  2. 调用接口: 使用POST方法发送请求,并接收返回的数据。

  3. 数据清洗与转换:

    • 过滤掉不符合条件的数据。
    • 将字段映射到目标系统所需的格式。
    • 对必要字段进行单位换算或格式转换。
  4. 写入目标系统: 将处理后的数据通过相应接口写入金蝶采购入库模块。

通过上述步骤,我们可以高效地实现从旺店通到金蝶的销售出库到采购入库的数据集成过程。这不仅提高了业务流程的自动化程度,也确保了数据的一致性和准确性。 如何对接钉钉API接口

轻易云数据集成平台:将源平台数据转换并写入金蝶云星空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":"RKD10_SYS"},
        {"field":"FBillNo","label":"单据编号","type":"string","describe":"单据编号"},
        {"field":"FStockOrgId","label":"收料组织","type":"string","value":"100.9","parser":{"name":"ConvertObjectParser","params":"FNumber"}},
        {"field":"FPurchaseOrgId","label":"采购组织","type":"string","value":"100.9","parser":{"name":"ConvertObjectParser","params":"FNumber"}},
        {"field":"F_RDIY_Base","label":"F客户","type":"string","value":"{shop_no}","parser":{"name":"ConvertObjectParser","params":"FNumber"}},
        {"field":"FSupplierId","label":"供应商","type":"string","describe":"基础资料","parser":{"name":"ConvertObjectParser","params":"FNumber"},"value":"_mongoQuery 0b4a68c1-941b-3f66-9ffb-2ac23a096168 findField=content.F_UXLV_Base where={\"content.FNumber\":{\"$eq\":\"{warehouse_no}\"}}"},
        {"field":"FDate","label":"入库日期","type":"string","describe":"日期","value":"{consign_time}"},
        {"field":"FNoteText","label":"备注","type": "string", "describe": "备注"},
        {"field": "F_UXLV_Text2", "label": "F原始订单号", "type": "string", "value": "{src_tids}"},
        {"field": "F_UXLV_Text3", "label": "F客户备注", "type": "string", "value": "{cs_remark}"},
        {"field": "F_UXLV_Text4", "label": "F打印备注", "type": "string", "value": "{print_remark}"},
        {"field": "F_UXLV_Text", "label": "原订单编号", "type": "string", "value": "{order_no}"},
        {"field": "F_UXLV_Text5", "label": "原订单编号(JY开头)", "type": 
![金蝶与SCM系统接口开发配置](https://pic.qeasy.cloud/T3.png~tplv-syqr462i7n-qeasy.image)
更多系统对接方案