企业数据集成案例:从旺店通获取采购数据并写入金蝶云星空

  • 轻易云集成顾问-彭萍
### 案例分享:旺店通·企业奇门数据集成到金蝶云星空 在现今复杂多变的商业环境中,精确、高效的数据集成成为企业保持竞争力的重要手段。本案例聚焦于如何通过【纯采购业务】方案,实现旺店通·企业奇门中的采购入库单数据无缝对接至金蝶云星空系统。 为确保整个数据流动过程高效可靠,我们需要解决以下关键技术难题: 1. **定时抓取和处理分页问题**: 旺店通·企业奇门接口`wdt.stockin.order.query.purchase`提供了丰富的数据查询功能,但由于其分页限制,需要实现定时任务以周期性地抓取新生成的采购入库单。同时,通过适当调整API调用频率与每次请求的分页参数,避免超出限流阈值导致的数据丢失或访问受限。 2. **批量写入加速大规模数据传输**: 金蝶云星空提供了强大的批量保存(batchSave)接口,能够显著提高大规模数据写入效率。灵活运用该接口,我们设计了一系列优化策略以保证大量采购入库单快速、安全地存储到金蝶系统中,并有效减少因网络延迟引发的问题。 3. **实时监控与异常处理**: 为确保在运行过程中出现故障能及时被发现并恢复,我们利用平台自带的监控与日志记录功能,对每一次API调用进行详细跟踪。一旦检测到异常情况,例如网络连接失败或返回错误码,即刻触发重试机制,并实时更新日志方便后续排查分析。 4. **格式转换及映射规则制定**: 旺店通·企业奇门和金蝶云星空采用不同的数据结构,因此合理设计字段映射关系是成功对接的前提。借助轻易云强大的自定义转换工具,我们将源端所有必须字段准确、完整地转化为目标端所需格式,从而确保两个系统间的信息一致性。 本案例旨在展示如何通过精细化的平台配置以及优化后的技术方案,高效完成从旺店通·企业奇门至金蝶云星空的数据对接,为类似需求提供参考和指导。在后续章节中,将进一步详述具体实施步骤及代码示例,使读者更好理解这些技术要点并应用于实际项目中。 ![数据集成平台可视化配置API接口](https://pic.qeasy.cloud/D14.png~tplv-syqr462i7n-qeasy.image) ### 调用旺店通·企业奇门接口wdt.stockin.order.query.purchase获取并加工数据 在数据集成的生命周期中,调用源系统接口获取数据是至关重要的一步。本文将深入探讨如何通过轻易云数据集成平台调用旺店通·企业奇门接口`wdt.stockin.order.query.purchase`来获取采购入库单数据,并进行初步的数据加工。 #### 接口调用配置 首先,我们需要配置元数据,以便正确调用`wdt.stockin.order.query.purchase`接口。以下是该接口的元数据配置: ```json { "api": "wdt.stockin.order.query.purchase", "effect": "QUERY", "method": "POST", "number": "order_no", "id": "stockin_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": "入库单状态 10已取消20编辑中25待价格确认30待审核60待结算80已完成(默认80)", "value": "80" }, { "field": "src_order_no", "label": "上层单据编号", "type": "string", "describe": "上层单据编号,默认为采购单号,传该字段可以不传开始时间和结束时间" }, { { field: 'warehouse_no', label: '仓库编号', type: 'string', describe: '代表仓库所有属性的唯一编码,用于仓库区分,ERP内支持自定义(ERP仓库界面设置),用于获取指定仓库单据数据信息(不支持一次推送多个仓库编号)' } ], 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}' } ], autoFillResponse: true } ``` #### 请求参数解析 1. **start_time** 和 **end_time**:用于增量获取数据,这两个字段分别表示开始时间和结束时间。通过模板变量`{{LAST_SYNC_TIME|datetime}}`和`{{CURRENT_TIME|datetime}}`动态填充。 2. **status**:表示入库单状态,默认值为"80",即已完成状态。 3. **src_order_no**:上层单据编号,可选字段,如果提供此字段,可以不传递开始时间和结束时间。 4. **warehouse_no**:仓库编号,用于指定获取某个仓库的单据信息。 5. **page_size** 和 **page_no**:用于分页控制,每次请求的数据条数和页码。 #### 数据请求与清洗 在实际操作中,我们需要按照上述配置发送POST请求到旺店通·企业奇门接口。以下是一个示例请求体: ```json { start_time: '2023-01-01 00:00:00', end_time: '2023-01-31 23:59:59', status: '80', warehouse_no: 'WH001', page_size: '40', page_no: '0' } ``` 发送请求后,我们将会收到一个包含多个采购入库单的响应。由于平台支持自动填充响应,因此我们可以直接使用这些数据进行后续处理。 #### 数据转换与写入 在获取到原始数据后,需要对其进行清洗和转换,以便写入目标系统。在这个过程中,可以使用轻易云平台提供的可视化工具,对字段进行映射、格式转换等操作。例如,将旺店通中的字段映射到金蝶系统中的对应字段,并确保数据格式符合目标系统要求。 #### 实时监控与调试 为了确保整个过程顺利进行,可以利用平台的实时监控功能,对每个环节的数据流动和处理状态进行监控。如果出现问题,可以及时调试和修正。例如,通过查看日志了解请求是否成功、响应是否正确等。 通过以上步骤,我们实现了从旺店通·企业奇门接口获取采购入库单数据,并进行了初步的数据清洗和转换,为后续的数据写入打下了坚实基础。这一过程不仅提高了业务透明度,也大大提升了效率。 ![金蝶与CRM系统接口开发配置](https://pic.qeasy.cloud/S28.png~tplv-syqr462i7n-qeasy.image) ### 轻易云数据集成平台:将源平台数据转换为金蝶云星空API接口格式并写入目标平台 在轻易云数据集成平台的生命周期中,第二步是将已经集成的源平台数据进行ETL转换,转为目标平台——金蝶云星空API接口所能够接收的格式,并最终写入目标平台。本文将详细探讨这一过程中的技术细节和实现方法。 #### 数据转换与写入的技术细节 ##### 1. API接口配置 在进行数据转换之前,我们首先需要配置金蝶云星空的API接口。根据元数据配置,我们使用的是`batchSave` API,采用POST请求方式。 ```json { "api": "batchSave", "effect": "EXECUTE", "method": "POST", "idCheck": true, ... } ``` ##### 2. 请求参数解析 为了确保数据能够正确传递到金蝶云星空,我们需要对每个字段进行详细解析和映射。以下是一些关键字段及其解析方式: - **单据类型(FBillTypeID)**:固定值`RKD01_SYS`,通过`ConvertObjectParser`解析。 - **单据编号(FBillNo)**:映射到源数据中的`order_no`。 - **收料组织(FStockOrgId)**:固定值`100`,通过`ConvertObjectParser`解析。 - **供应商(FSupplierId)**:映射到源数据中的`provider_no`,通过`ConvertObjectParser`解析。 - **入库日期(FDate)**:映射到源数据中的`created_time`。 - **备注(FNoteText)**:映射到源数据中的`remark`。 - **采购订单号(F_USTY_CGDH)**:映射到源数据中的`src_order_no`。 ```json { "field": "FBillTypeID", "label": "单据类型", "type": "string", "describe": "单据类型", "parser": { "name": "ConvertObjectParser", "params": "FNumber" }, "value": "RKD01_SYS" }, { ... } ``` ##### 3. 明细信息处理 明细信息是采购入库单的重要组成部分,每个明细项都需要详细处理。以下是明细信息中一些关键字段及其解析方式: - **物料编码(FMaterialId)**:映射到源数据中的物料编码,通过`ConvertObjectParser`解析。 - **实收数量(FRealQty)**:映射到源数据中的数量。 - **单价(FPrice)**:映射到源数据中的成本价。 - **仓库(FStockId)**:映射到源数据中的仓库编号,通过`ConvertObjectParser`解析。 ```json { "field": "FInStockEntry", "label": "明细信息", ... } ``` ##### 4. 数据关联关系 为了确保采购入库单与相关业务单据之间的关联关系,需要配置关联关系字段: - **源单表名(FInStockEntry_Link_FSTableName)**:固定值`t_PUR_POOrderEntry` - **下推关系(FInStockEntry_Link_FRuleId)**:固定值`PUR_PurchaseOrder-STK_InStock` - **源单ID(FInStockEntry_Link_FSBillId)**和表体ID(FInStockEntry_Link_FSId):通过SQL查询语句获取。 ```json { ... } ``` ##### 5. 提交与审核 在所有字段都正确配置后,我们可以选择是否自动提交并审核。该选项通过布尔值控制: ```json { ... } ``` #### 实现步骤 1. 配置API接口和请求参数。 2. 对每个字段进行详细解析和映射,包括基本信息和明细信息。 3. 配置关联关系,确保与相关业务单据的正确关联。 4. 设置提交与审核选项,根据需求选择是否自动提交并审核。 通过上述步骤,我们可以将已经集成的源平台数据成功转换为金蝶云星空API接口所能够接收的格式,并最终写入目标平台。这一过程不仅保证了数据的一致性和完整性,还极大提升了业务处理效率。 ![数据集成平台可视化配置API接口](https://pic.qeasy.cloud/T16.png~tplv-syqr462i7n-qeasy.image)