轻易云数据集成平台实战:采购入库单数据写入金蝶云星空

  • 轻易云集成顾问-孙传友
### 旺店通·企业奇门数据集成到金蝶云星空的技术案例:采购入库单 all 在本次技术分享中,我们将详细探讨如何通过轻易云数据集成平台,将旺店通·企业奇门系统中的采购入库单(API:wdt.stockin.order.query.purchase)高效地集成到金蝶云星空(API:batchSave)。我们以实际运行方案“采购入库单 all”为例,逐步解析从获取数据到写入目标系统的全过程,并重点关注常见的技术难题及解决方案。 首先,在处理大量采购数据时,确保其高吞吐量的数据写入能力是关键。我们的设计始终围绕快速响应和大量数据传输展开,通过优化批量处理机制,显著提高了对接效率。另外,为应对接口调用过程中的分页和限流问题,我们特别添加了自定义的数据转换逻辑,从而适应不同业务需求和数据结构,提高整体操作可靠性。 实时监控与告警系统是一大特色,以集中式监控全面跟踪各个步骤的数据状态与性能表现。一旦发现异常情况或错误,即可迅速触发告警并执行预设重试机制。这充分保障了整个流程的顺畅运行。与此同时,旺店通·企业奇门与金蝶云星空之间存在明显的数据格式差异,对此我们通过定制化的映射策略进行有效处理,使得双方系统无缝衔接。此外,对于API资产管理功能,通过统一视图掌握接口使用情况,大大提升资源利用率,实现最优配置。 在具体实施过程中,我们还面临着如何保证不漏单的问题。从调度机制上考虑,我们采用定时抓取方式,结合事务控制确保每一笔订单都能准确无误地传递至目标数据库中。而对于多样性的元数据需求,可视化的数据流设计工具提供直观、易于管理的平台支持,使部署变得更加简便高效。 ![电商OMS与ERP系统接口开发配置](https://pic.qeasy.cloud/D11.png~tplv-syqr462i7n-qeasy.image) ### 调用旺店通·企业奇门接口获取并加工采购入库单数据 在数据集成的生命周期中,调用源系统接口是至关重要的一步。本文将详细探讨如何通过轻易云数据集成平台调用旺店通·企业奇门接口 `wdt.stockin.order.query.purchase` 获取采购入库单数据,并进行初步加工。 #### 接口调用配置 首先,我们需要配置接口调用的元数据。以下是我们使用的元数据配置: ```json { "api": "wdt.stockin.order.query.purchase", "method": "POST", "number": "order_no", "id": "stockin_id", "pagination": { "pageSize": 50 }, "idCheck": true, "condition_bk": [ [ { "field": "order_no", "logic": "eqv2", "value": "RK2209070025" } ] ], "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":"入库单状态 10已取消20编辑中25待价格确认30待审核60待结算80已完成(默认80)" }, { "field":"src_order_no", ... ``` #### 参数解析与设置 1. **API及方法**: - `api`: `wdt.stockin.order.query.purchase` - `method`: `POST` 2. **分页设置**: - `pagination.pageSize`: 每页返回的数据条数,这里设置为50。 3. **请求参数**: - `start_time` 和 `end_time`:用于增量获取数据,分别代表开始和结束时间。 - `status`:入库单状态,默认为80(已完成)。 - `src_order_no`:上层单据编号,可以不传开始和结束时间。 - `warehouse_no`:仓库编号,用于获取指定仓库的单据信息。 4. **其他请求参数**: - `page_size` 和 `page_no`:用于分页控制,不传值默认从0页开始,每页40条记录。 #### 数据请求与清洗 在实际操作中,我们会通过HTTP POST请求将上述参数发送到旺店通·企业奇门接口,并接收返回的数据。以下是一个示例请求体: ```json { ... // 请求体内容 } ``` 接收到的数据通常是一个JSON对象,其中包含了多个采购入库单的信息。我们需要对这些数据进行清洗和转换,以便后续处理。 #### 数据转换与写入 清洗后的数据需要进行一定的转换,例如字段重命名、格式调整等,然后写入目标系统或数据库。在轻易云平台上,这一步可以通过可视化界面进行配置,无需编写复杂代码。 例如,将返回的JSON对象中的某些字段映射到目标数据库表的字段: ```json { ... // 字段映射配置 } ``` #### 实时监控与日志记录 在整个过程中,轻易云平台提供了实时监控和日志记录功能,可以帮助我们及时发现和解决问题。例如,如果某个字段的数据类型不匹配,会在日志中记录详细错误信息,方便排查。 通过以上步骤,我们实现了从旺店通·企业奇门接口获取采购入库单数据,并进行了初步加工。这只是数据集成生命周期中的第一步,但却是至关重要的一步,为后续的数据处理和分析打下了坚实基础。 ![用友与WMS系统接口开发配置](https://pic.qeasy.cloud/S16.png~tplv-syqr462i7n-qeasy.image) ### 使用轻易云数据集成平台将采购入库单数据转换并写入金蝶云星空 在数据集成过程中,将源平台的采购入库单数据转换为金蝶云星空API接口所能接收的格式是关键的一步。本文将详细探讨如何通过轻易云数据集成平台实现这一过程,重点关注ETL(Extract, Transform, Load)转换和API接口的配置。 #### 1. API接口配置 根据元数据配置,我们需要调用金蝶云星空的`batchSave`接口,通过POST方法提交采购入库单数据。以下是主要字段及其配置: - **FBillTypeID(单据类型)**:通过`ConvertObjectParser`解析器将外部系统中的单据类型编号转换为金蝶系统所需格式。 - **FBusinessType(业务类型)**:直接从外部系统获取业务类型。 - **FStockOrgId(收料组织)**:使用`ConvertObjectParser`解析器,将外部系统中的收料组织编号转换为金蝶系统格式。 - **FPurchaseOrgId(采购组织)**:同样使用`ConvertObjectParser`解析器进行转换。 #### 2. 数据请求与清洗 在数据请求阶段,我们需要从源平台获取采购入库单的相关信息。利用元数据配置中的查询语句,例如: ```json "value":"_findCollection find FBillTypeID from 56473207-ffc8-3996-b844-47de30ac4590 where FBillNo={outer_no}" ``` 这段语句表示从指定集合中查找符合条件的单据类型ID。 #### 3. 数据转换 在数据转换阶段,我们需要将源平台的数据字段映射到目标平台所需的字段,并进行必要的格式转换。例如: - **日期字段**:如`FDate(入库日期)`,直接从源平台获取并传递给目标平台。 - **基础资料字段**:如供应商ID(FSupplierId),使用`ConvertObjectParser`解析器进行编号转换。 对于复杂结构的数据,如明细信息,需要特别注意每个子字段的处理。例如: ```json "children":[ {"field":"FMaterialId","label":"物料编码","type":"string","describe":"基础资料","parser":{"name":"ConvertObjectParser","params":"FNumber"},"value":"{{details_list.spec_no}}"}, {"field":"FRealQty","label":"实收数量","type":"string","describe":"数量","value":"{{details_list.goods_count}}"} ] ``` 这里,我们将物料编码和实收数量分别映射到目标平台的相应字段,并通过解析器进行必要的编号转换。 #### 4. 数据写入 最终,经过清洗和转换的数据将通过API接口写入金蝶云星空。在这个过程中,我们需要确保所有必填字段都已正确填写,并且数据格式符合目标平台要求。以下是一个完整的数据提交示例: ```json { "FormId": "STK_InStock", "IsAutoSubmitAndAudit": true, "Operation": "Save", "IsVerifyBaseDataField": false, "SubSystemId": "21", "Model": { "FBillTypeID": {"FNumber": "PUR_ReceiveBill"}, "FBusinessType": "普通采购", "FStockOrgId": {"FNumber": "100"}, ... "FInStockEntry": [ { "FMaterialId": {"FNumber": "{{details_list.spec_no}}"}, "FRealQty": "{{details_list.goods_count}}", ... } ] } } ``` 通过上述步骤,轻易云数据集成平台可以高效地将采购入库单数据从源平台提取、清洗、转换并写入到金蝶云星空,实现不同系统间的数据无缝对接。这不仅提高了业务流程的透明度和效率,还确保了数据的一致性和准确性。 ![打通钉钉数据接口](https://pic.qeasy.cloud/T8.png~tplv-syqr462i7n-qeasy.image)