轻易云平台实现金蝶与旺店通供应商数据对接

  • 轻易云集成顾问-姚缘
### 金蝶云星空数据集成到旺店通企业奇门的技术实现——02-金蝶供应商对接旺店通供应商-P 在系统集成中,如何高效地将金蝶云星空的数据无缝转换并传输到旺店通·企业奇门平台,一直以来都是一个关键问题。本文将针对“02-金蝶供应商对接旺店通供应商-P”方案详细解析其具体实现步骤与技术要点,旨在帮助用户解决诸如数据抓取、格式转换和错误处理等常见难题。 为了确保不漏单及快速准确的数据同步,我们使用了金蝶云星空提供的`executeBillQuery`接口来获取实时更新的数据,并结合定时任务进行可靠抓取。在处理大批量数据写入方面,我们调用了旺店通·企业奇门的`wdt.purchase.provider.create`接口,通过合理设计分页机制和限流策略,有效防止接口调用超负荷。 在实际操作中,需要特别注意以下几点: 1. **分页与限流机制**:接口调用过程中的分页管理至关重要。通过设置合理的分页参数,不仅可以避免数据遗漏,还能均衡服务器压力。 2. **数据格式差异处理**:金蝶云星空和旺店通·企业奇门之间存在着显著的数据格式差异。因此,在数据映射过程中,需要进行一系列转化以保证最终输出符合目标系统要求。 3. **异常处理与重试机制**:考虑到网络波动或API超时等不可控因素,构建了完善的异常捕获和自动重试逻辑,从而提高整体流程的稳定性和容错能力。 4. **日志记录与监控**:借助轻易云平台强大的日志记录与实时监控功能,每一步操作均可被细致追踪,这不仅便于排查潜在问题,还极大提升了后续维护效率。 该案例展示了一整套从数据提取、加工到推送的一体化解决方案,为同类集成项目提供了一份具有参考价值的方法论模板。具体实现细节将在后续部分详解,包括如何利用API高效完成每一步骤,以及各项配置参数的实际应用效果。 ![用友与外部系统接口集成开发](https://pic.qeasy.cloud/D24.png~tplv-syqr462i7n-qeasy.image) ### 调用金蝶云星空接口executeBillQuery获取并加工数据 在数据集成过程中,调用源系统的API接口是获取数据的关键步骤。本文将详细探讨如何通过轻易云数据集成平台调用金蝶云星空的`executeBillQuery`接口来获取供应商数据,并对其进行加工处理。 #### 接口配置与调用 首先,我们需要配置和调用金蝶云星空的`executeBillQuery`接口。该接口采用POST方法,主要用于查询业务单据。以下是具体的元数据配置: ```json { "api": "executeBillQuery", "method": "POST", "number": "FNumber", "id": "FSupplierId", "pagination": { "pageSize": 100 }, "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"} ], "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": FilterString, label: 过滤条件, type: string, describe: 示例写法 FSupplierId.FNumber = 'VEN00010' and FApproveDate>=, value: FAuditDate>='{{LAST_SYNC_TIME|dateTime}}' and (FSupplyClassify='WW' or FSupplyClassify='ZH')}, {"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"} ] } ``` #### 数据请求与清洗 在调用接口时,需要特别注意请求参数的设置。上述元数据配置中,`request`部分定义了需要查询的字段,包括供应商ID(FSupplierId)、编码(FNumber)、名称(FName)等。这些字段将作为请求体的一部分发送给金蝶云星空。 此外,`otherRequest`部分定义了分页参数和过滤条件。例如,通过设置`Limit`和`StartRow`可以控制每次请求的数据量,从而实现分页查询;通过设置`FilterString`可以指定过滤条件,如按时间范围筛选更新的数据。 ```json { ... { field: FilterString, label: 过滤条件, type: string, describe: 示例写法 FSupplierId.FNumber = 'VEN00010' and FApproveDate>=, value: FAuditDate>='{{LAST_SYNC_TIME|dateTime}}' and (FSupplyClassify='WW' or FSupplyClassify='ZH') }, ... } ``` 在实际操作中,可以根据业务需求动态调整这些参数,以确保获取到最新、最准确的数据。 #### 数据转换与写入 获取到原始数据后,需要对其进行转换和清洗,以符合目标系统的数据格式和要求。例如,可以将供应商编码(FNumber)转换为目标系统所需的格式,或者根据业务逻辑对某些字段进行计算和处理。 以下是一个简单的数据转换示例: ```python def transform_data(raw_data): transformed_data = [] for item in raw_data: transformed_item = { 'SupplierID': item['FSupplierId'], 'Code': item['FNumber'], 'Name': item['FName'], 'Organization': item['FCreateOrgId_FNumber'], 'Description': item['FDescription'] } transformed_data.append(transformed_item) return transformed_data ``` 在完成数据转换后,可以通过轻易云平台提供的数据写入功能,将处理后的数据写入目标系统,如旺店通供应商管理模块。 #### 实时监控与调试 为了确保数据集成过程顺利进行,轻易云平台提供了实时监控和调试功能。通过可视化界面,可以实时查看每个环节的数据流动和处理状态,及时发现并解决问题。这不仅提高了工作效率,还保证了数据集成过程的透明度和可靠性。 综上所述,通过合理配置和调用金蝶云星空的`executeBillQuery`接口,并结合轻易云平台强大的数据处理能力,可以高效地实现不同系统间的数据无缝对接,为企业提供可靠的数据支持。 ![钉钉与WMS系统接口开发配置](https://pic.qeasy.cloud/S17.png~tplv-syqr462i7n-qeasy.image) ### 使用轻易云数据集成平台实现金蝶供应商数据对接旺店通·企业奇门API接口 在数据集成过程中,ETL(提取、转换、加载)是关键步骤之一。本文将详细探讨如何使用轻易云数据集成平台,将已经集成的金蝶供应商数据进行ETL转换,转为目标平台旺店通·企业奇门API接口所能够接收的格式,并最终写入目标平台。 #### 1. 数据请求与清洗 在进行ETL转换之前,首先需要从源系统(金蝶)中请求并清洗数据。这个过程包括从金蝶系统中提取供应商相关的数据字段,并进行必要的清洗和预处理,以确保数据质量。这部分工作通常包括去除冗余信息、修正格式错误等。 #### 2. 数据转换与映射 在清洗完成后,我们进入关键的转换阶段。我们需要将源系统中的字段映射到目标系统(旺店通·企业奇门API)的字段。以下是元数据配置中定义的字段映射关系: ```json { "api": "wdt.purchase.provider.create", "method": "POST", "idCheck": true, "request": [ {"field":"provider_no","label":"供应商编号","type":"string","describe":"代表供应商所有属性的唯一编码,用于供应商区分,ERP内支持自定义(ERP供应商界面设置),用于创建供应商数据信息","value":"{FNumber}"}, {"field":"provider_name","label":"供应商名称","type":"string","describe":"供应商名称","value":"{FName}"}, {"field":"min_purchase_num","label":"最小采购量","type":"string","describe":"最小采购量","value":"1"}, {"field":"purchase_cycle_days","label":"采购周期","type":"string","describe":"采购周期"}, {"field":"arrive_cycle_days","label":"到货周期","type":"string","describe":"到货周期"}, {"field":"contact","label":"联系人","type":"string","describe":"联系人"}, {"field":"telno","label":"座机","type":"string","describe":"座机"}, {"field":"mobile","label":"移动电话","type":"string","describe":"手机号"}, {"field":"fax","label":"传真","type":"string","describe":"传真"}, {"field":"zip","label":"邮编","type":"string","describe":"邮政编码"}, {"field": "email", "label": "邮箱", "type": "string", "describe": "电子邮箱"}, {"field": "qq", "label": "qq", "type": "string", "describe": "腾讯QQ号码"}, {"field": "wangwang", "label": "旺旺", "type": "string", "describe": "淘宝旺旺号"}, {"field": "address", "label": "地址", "type": "string", "describe": "省、市、区(县)、地址详情"}, {"field": "website", "label": "网址", "type": "string", "describe": "供应商官网地址"}, {"field": "last_purchase_time", "label":"最后采购日期", ![用友与CRM系统接口开发配置](https://pic.qeasy.cloud/T22.png~tplv-syqr462i7n-qeasy.image)