如何使用轻易云平台实现数据转换并同步至旺店通

  • 轻易云集成顾问-谢楷斌
### 供应商同步:金蝶云星空到旺店通·旗舰奇门数据集成案例 在本文中,我们将深入探讨如何通过轻易云数据集成平台实现金蝶云星空与旺店通·旗舰奇门之间的系统对接,重点分享“供应商同步”的技术案例。 首先,确保从金蝶云星空获取数据不漏单至关重要。我们调用了`executeBillQuery`接口,通过合理配置分页和限流机制,有效处理大量供应商信息的抓取。同时,定时可靠地执行API请求,以避免因网络波动或其他不可预见因素导致的数据同步延迟。 在获得数据后,大量的记录需要快速写入到旺店通·旗舰奇门。为了实现这一点,我们利用其提供的`wdt.setting.purchaseprovider.push`接口,并采取批量操作策略,加速写入过程。此外,为了解决两者间的数据格式差异问题,我们做了一系列定制化的数据映射工作,确保不同字段和类型能够顺利转换。 最后,在对接过程中,对异常情况进行处理尤为关键。我们实现了健全的错误重试机制,同时配合实时监控与日志记录功能,不仅提升了整体运行效率,还显著提高了系统稳定性。不仅如此,这些措施还帮助我们迅速发现并解决潜在的问题,从而保证业务流程的平稳运转。 上述方法使得金蝶云星空与旺店通·旗舰奇门之间的信息无缝对接成为可能,大大简化了企业管理中的重复劳动,提高了运营效率。 ![金蝶与WMS系统接口开发配置](https://pic.qeasy.cloud/D29.png~tplv-syqr462i7n-qeasy.image) ### 调用金蝶云星空接口executeBillQuery获取并加工数据 在数据集成过程中,调用源系统的API接口是关键的一步。本文将详细介绍如何通过轻易云数据集成平台调用金蝶云星空的`executeBillQuery`接口来获取供应商数据,并对其进行初步加工。 #### 接口配置与请求参数 我们使用POST方法调用金蝶云星空的`executeBillQuery`接口,以下是具体的元数据配置: ```json { "api": "executeBillQuery", "method": "POST", "number": "FNumber", "id": "FSupplierId", "pagination": { "pageSize": 100 }, "idCheck": true, "request": [ {"field":"FSupplierId","label":"FSupplierId","type":"string","value":"FSupplierId"}, {"field":"FNumber","label":"编码","type":"string","value":"FNumber"}, {"field":"FName","label":"名称","type":"string","value":"FName"}, {"field":"FCreateOrgId_FNumber","label":"创建组织","type":"string","value":"FCreateOrgId.FNumber"}, {"field":"FUseOrgId_FNumber","label":"使用组织","type":"string","value":"FUseOrgId.FNumber"}, {"field":"FDescription","label":"描述","type":"string","value":"FDescription"}, {"field":"FShortName","label":"简称","type":"string","value":"FShortName"}, {"field":"FMinPOValue","label":"最小订单量","type":"string","describe":"小数","value":"FMinPOValue"}, {"field":"FCountry_FNumber","label":"国家","type":"string","describe":"单选辅助资料列表","value":"FCountry.FNumber"}, {"field":"FBusinessStatus","label":"业务状态","type":"string","describe":"单据状态","value":"FBusinessStatus"}, {"field": "FilterString", "label": "过滤条件", "type": "string", "describe": "示例写法 FSupplierId.FNumber = 'VEN00010' and FApproveDate>=", "value": "FAuditDate>='{{LAST_SYNC_TIME|dateTime}}' and FUseOrgId.FNumber= '100'"} ], "otherRequest":[ {"field": "Limit", "label": "最大行数", "type": "string", "describe": "金蝶的查询分页参数", "value": "{PAGINATION_PAGE_SIZE}"}, {"field": "StartRow", "label": "开始行索引", "type": "string", "describe": "金蝶的查询分页参数", "value": "{PAGINATION_START_ROW}"}, {"field": "TopRowCount", "label": "返回总行数", "type": int, describe: 金蝶的查询分页参数}, {"field": FieldKeys, label: 需查询的字段key集合, type: array, describe: 金蝶分录主键ID格式: FPOOrderEntry_FEntryId,其它格式 FPurchaseOrgId.FNumber, parser: {name: ArrayToString, params: ,}}, {"field" FormId, label: 业务对象表单Id, type: string, describe: 必须填写金蝶的表单ID如:PUR_PurchaseOrder, value: BD_Supplier} ] } ``` #### 请求示例 以下是一个完整的请求示例,展示了如何构建请求体以调用`executeBillQuery`接口: ```json { "_api_": "/k3cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.ExecuteBillQuery.common.kdsvc", "_method_": "_Post_", "_params_":{ "_FormId_ ": "_BD_Supplier_", "_FieldKeys_ ": ["FSupplierId", ... ], "_FilterString_ ": "_FAuditDate >= '{{LAST_SYNC_TIME|dateTime}}' and FUseOrgId.FNumber= '100'_", "_Limit_ ": "_100_", "_StartRow_ ": "_0_" } } ``` #### 数据清洗与加工 在获取到原始数据后,需要对其进行清洗和初步加工,以便后续的数据转换和写入。以下是一些常见的数据清洗操作: 1. **字段映射**:将API返回的数据字段映射到目标系统所需的字段。例如,将`FSupplierId`映射为目标系统中的供应商ID。 2. **数据类型转换**:确保所有字段的数据类型符合目标系统要求。例如,将字符串类型的日期转换为日期类型。 3. **去重处理**:根据特定字段(如供应商编码)去除重复记录,确保数据唯一性。 #### 实际案例 假设我们需要同步供应商信息到目标系统,并且只需要同步最近更新的数据。我们可以设置过滤条件为最近一次同步时间之后更新的数据: ```json { "_FilterString_ ": "_FAuditDate >= '{{LAST_SYNC_TIME|dateTime}}' and FUseOrgId.FNumber= '100'_" } ``` 通过这种方式,我们可以有效地减少不必要的数据传输,提高同步效率。 #### 总结 通过轻易云数据集成平台调用金蝶云星空的`executeBillQuery`接口,我们能够高效地获取并初步加工供应商数据。这一步骤不仅确保了数据的一致性和准确性,还为后续的数据转换和写入奠定了坚实基础。在实际操作中,根据具体需求灵活调整请求参数和清洗规则,可以进一步优化数据集成过程。 ![金蝶与SCM系统接口开发配置](https://pic.qeasy.cloud/S16.png~tplv-syqr462i7n-qeasy.image) ### 使用轻易云数据集成平台实现供应商数据同步至旺店通·旗舰奇门API接口 在数据集成的生命周期中,第二步是将已经集成的源平台数据进行ETL(提取、转换、加载)转换,并最终写入目标平台。在本案例中,我们将详细探讨如何使用轻易云数据集成平台,将供应商信息从源系统转换为旺店通·旗舰奇门API接口所能接收的格式,并成功写入目标平台。 #### 1. 数据提取与清洗 首先,从源系统提取供应商相关的数据。假设我们从ERP系统中提取了以下字段: - FNumber(供应商编号) - FName(供应商名称) - F_UEQV_Text(联系人) - F_UEQV_Text1(座机/移动电话) - F_TPRO_LargeText(网址/备注) - FAddress(地址) - F_TPRO_Text(收款银行) - F_TPRO_Text1(收款人) - F_TPRO_Assistant(省份ID) - F_TPRO_Assistant1(城市ID) - F_TPRO_Assistant2(地区ID) #### 2. 数据转换 在轻易云数据集成平台上,通过配置元数据,将上述字段映射到旺店通·旗舰奇门API接口所需的格式。以下是具体的元数据配置: ```json { "api": "wdt.setting.purchaseprovider.push", "method": "POST", "idCheck": true, "request": [ {"field": "provider_no", "label": "供应商编号", "type": "string", "value": "{FNumber}"}, {"field": "provider_name", "label": "供应商名称", "type": "string", "value": "{FName}"}, {"field": "contact", "label": "联系人", "type": "string", "value": "{F_UEQV_Text}"}, {"field": "telno", "label": "座机", "type": "string", "value": "{F_UEQV_Text1}"}, {"field": "mobile", "label": "移动电话", "type": "string", "value": "{F_UEQV_Text1}"}, {"field": "fax", "label": "传真", ![如何开发金蝶云星空API接口](https://pic.qeasy.cloud/T16.png~tplv-syqr462i7n-qeasy.image)