数据集成:从旺店通到金蝶云星空的高效实现

  • 轻易云集成顾问-叶威宏
### 旺店通·企业奇门数据集成到金蝶云星空:销售出库单对接案例 在本技术案例中,我们深入探讨了如何通过使用轻易云数据集成平台,实现旺店通·企业奇门的销售出库单高效对接至金蝶云星空中的销售订单。在此过程中,为了确保数据的完整性和实时性,我们关注了多个关键技术点。 首先,通过调用旺店通·企业奇门接口`wdt.stockout.order.query.trade`,我们实现了定时可靠地抓取最新的销售出库单数据。这个步骤至关重要,它不仅确保每一笔交易都能及时获取,还避免出现漏单情况。我们采取了分页和限流等机制,以应对API调用频次限制,保证大批量的数据能够顺利处理。 其次,在将大量抓取的数据快速写入到金蝶云星空时,我们利用其`batchSave`接口进行批量操作。这不仅提升了整体效率,还减少了逐条写入可能带来的性能瓶颈。同时,为了解决两套系统之间的数据格式差异问题,我们采用自定义的数据映射规则,对源数据进行了必要的转换与清洗,使其符合目标系统的要求。 最后,针对常见异常处理与错误重试机制,本方案引入实时监控与日志记录功能。一旦任何环节发生错误,可以及时追溯并自动重试相关操作,从而提高系统稳定性及用户满意度。 通过上述方法,每一环节点均被全面覆盖,有助于实现安全、可靠、高效的数据集成。如需进一步了解详细实施步骤,请参阅后续章节内容。 ![电商OMS与WMS系统接口开发配置](https://pic.qeasy.cloud/D17.png~tplv-syqr462i7n-qeasy.image) ### 调用源系统旺店通·企业奇门接口wdt.stockout.order.query.trade获取并加工数据 在数据集成的生命周期中,调用源系统接口是至关重要的一步。本文将详细探讨如何通过轻易云数据集成平台调用旺店通·企业奇门接口`wdt.stockout.order.query.trade`,并对获取的数据进行初步加工。 #### 接口调用配置 首先,我们需要配置接口调用的元数据。以下是我们使用的元数据配置: ```json { "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" }, { ... } ], ... } ``` #### 请求参数详解 1. **start_time** 和 **end_time**:这两个字段用于指定数据的时间范围。`start_time`表示上次同步的时间点,而`end_time`表示当前的时间点。这种增量获取方式可以有效减少重复数据的处理。 2. **status**:用于过滤订单状态。我们选择了“95已发货”和“110已完成”两个状态,以确保只获取到已经处理完毕的订单。 3. **其他字段**:如`src_order_no`, `src_tid`, `stockout_no`, `shop_no`, `warehouse_no`等,用于进一步细化查询条件。 #### 数据请求与清洗 在发送请求后,我们会接收到一个包含多个订单信息的数据集。为了确保数据质量和一致性,需要对这些数据进行清洗和初步加工。 1. **过滤无效数据**: 根据元数据配置中的条件,我们需要过滤掉品牌名称为“赠品”的订单,并且只保留店铺编号为CUST2278和CUST2277的订单。 ```json { ... “condition”: [ [ {"field":"details_list.brand_name","logic":"neqv2","value":"赠品"}, {"field":"shop_no","logic":"in","value":"CUST2278,CUST2277"} ] ] } ``` 2. **自动填充响应**: 配置中的`autoFillResponse: true`表示系统会自动填充响应字段,这样可以减少手动处理的工作量,提高效率。 #### 数据转换与写入 在完成初步清洗后,需要将这些数据转换为目标系统所需的格式,并写入目标数据库或系统。在这个案例中,我们将清洗后的销售出库单转换为金蝶销售订单格式。 1. **字段映射**: 将旺店通中的字段映射到金蝶系统对应的字段。例如,将`order_no`映射为金蝶中的订单编号,将`stockout_id`映射为金蝶中的出库单ID等。 2. **批量写入**: 使用轻易云平台提供的批量写入功能,可以高效地将大量订单数据写入金蝶系统中。 通过上述步骤,我们实现了从旺店通获取销售出库单并转换为金蝶销售订单的数据集成过程。这不仅提高了业务流程的自动化程度,也确保了数据的一致性和准确性。 ![用友与WMS系统接口开发配置](https://pic.qeasy.cloud/S23.png~tplv-syqr462i7n-qeasy.image) ### 使用轻易云数据集成平台进行ETL转换并写入金蝶云星空API接口 在数据集成生命周期的第二步,我们将已经集成的源平台数据进行ETL转换,转为目标平台金蝶云星空API接口所能够接收的格式,并最终写入目标平台。以下是详细的技术实现过程。 #### 1. 配置API接口元数据 在轻易云数据集成平台中,我们首先需要配置金蝶云星空API接口的元数据。以下是一个典型的元数据配置示例: ```json { "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}" }, { ... } ], ... } ``` #### 2. 数据转换逻辑 我们需要将源平台的数据字段映射到目标平台金蝶云星空API所要求的字段格式。以下是一些关键字段的转换逻辑: - **单据类型 (FBillTypeID)**: 固定值 `XSDD11_DEF`,通过 `ConvertObjectParser` 转换为金蝶系统内部编码。 - **单据编号 (FBillNo)**: 映射源订单编号 `{src_order_no}`。 - **销售组织 (FSaleOrgId)**: 映射店铺编号 `{shop_no}`,并通过 `ConvertObjectParser` 转换为金蝶系统内部编码。 - **日期 (FDate)**: 映射发货时间 `{consign_time}`。 - **客户 (FCustId)**: 同样映射店铺编号 `{shop_no}` 并转换为内部编码。 #### 3. 子项明细配置 对于订单明细部分,需要特别注意数组结构和子项字段的处理: ```json { ... { "field": "FSaleOrderEntry", "label": "订单明细", "type": "array", ... { ... { ... { ... { ... { ... { ... { ... { ... } } } } } } } } } } } ``` 每个子项包括物料编码、含税单价、税率、销售数量等字段。例如: - **物料编码 (FMaterialId)**: 映射商品编号 `{{details_list.goods_no}}` 并通过 `ConvertObjectParser` 转换。 - **含税单价 (FTaxPrice)**: 使用 `_function LEFT( '{{details_list.sell_price}}' , 6)` 截取价格前6位有效数字。 - **税率 (FEntryTaxRate)**: 使用 `_findCollection` 函数从预定义集合中查找对应商品编号的税率。 #### 4. 提交与审核 在元数据配置中,还需要设置是否自动提交并审核,以及验证基础资料有效性: ```json { ... { ... { ... { ... { ... { ... } } } } } }, ... } ``` 这些设置确保了数据在写入目标平台后能够自动完成提交和审核,提高了处理效率。 #### 实际应用案例 假设我们有一个来自旺店通的销售出库单,其包含多个商品明细,需要转换为金蝶销售订单格式并写入金蝶云星空。通过上述配置和转换逻辑,我们可以实现以下步骤: 1. 从旺店通获取销售出库单数据。 2. 根据元数据配置,将原始数据字段映射并转换为金蝶云星空所需格式。 3. 调用金蝶云星空API接口,将转换后的数据批量保存到目标系统中。 以上就是使用轻易云数据集成平台进行ETL转换并写入金蝶云星空API接口的详细技术实现过程。通过合理配置和灵活运用元数据,我们可以高效地完成异构系统间的数据集成任务。 ![如何对接企业微信API接口](https://pic.qeasy.cloud/T19.png~tplv-syqr462i7n-qeasy.image)