使用轻易云实现金蝶云到旺店通的数据转换和写入

  • 轻易云集成顾问-彭亮
### 供应商对接:金蝶云星空数据集成到旺店通·旗舰奇门 在供应链管理中,实现多个系统之间的数据无缝对接是确保业务高效运行的关键。本文将分享一个典型案例:如何通过轻易云数据集成平台,将金蝶云星空中的供应商数据可靠地导入到旺店通·旗舰奇门,并实现全程自动化与实时监控。 #### 数据获取与接口调用 为了从金蝶云星空获取供应商信息,我们使用了其提供的API `executeBillQuery`。该接口不仅支持分页查询,还能够有效处理大批量数据,确保我们不会漏掉任何一条重要记录。在具体实施过程中,我们采用定时任务来定期抓取最新的数据,通过日志记录和限流策略保证请求的稳定性和可靠性。 #### 数据写入与映射配置 在将获取的数据批量写入到旺店通·旗舰奇门时,我们调用了`wdt.setting.purchaseprovider.push` API。这一步骤需要特别注意两点: 1. **数据格式差异**:金蝶云星空和旺店通·旗舰奇门的数据结构并不完全一致,需要进行细致的数据映射工作。 2. **异常处理机制**:为应对可能出现的网络波动或服务器响应异常,我们设计了一套完善的错误重试机制,确保每一次推送都能成功完成。 此外,通过轻易云平台强大的定制化功能,我们可以灵活设置字段映射规则,使得复杂的数据转换过程变得简单直观。 #### 实时监控与日志管理 整个对接流程中,每一步操作都进行了详细的日志记录,并且所有数据处理活动都有可视化界面展示。这样不仅方便追踪问题根源,也使运维人员能够实时掌握系统状态,大大提升了整体效率和透明度。 下文将详细介绍这些技术方案及其实施细节,包括如何解决分页查询、限流控制以及批量提交等实际挑战。 ![泛微OA与ERP系统接口开发配置](https://pic.qeasy.cloud/D31.png~tplv-syqr462i7n-qeasy.image) ### 调用金蝶云星空接口executeBillQuery获取并加工数据 在数据集成的生命周期中,调用源系统接口获取数据是至关重要的一步。本文将详细探讨如何通过轻易云数据集成平台调用金蝶云星空的`executeBillQuery`接口,获取供应商相关数据并进行初步加工。 #### 接口配置与调用 首先,我们需要配置和调用金蝶云星空的`executeBillQuery`接口。该接口采用POST方法,主要用于查询业务单据。以下是元数据配置的关键部分: ```json { "api": "executeBillQuery", "method": "POST", "number": "FNumber", "id": "FSupplierId", "pagination": { "pageSize": 100 }, "idCheck": true, ... } ``` - `api`: 接口名称,这里为`executeBillQuery`。 - `method`: 请求方法,这里为POST。 - `number`和`id`: 标识字段,用于唯一标识每条记录。 - `pagination`: 分页配置,每次请求获取100条记录。 #### 请求参数设置 在请求参数部分,我们需要指定要查询的字段及其对应的标签和类型。以下是部分关键字段的配置: ```json "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"}, ... ] ``` 这些字段将被用作查询条件,并且在返回结果中包含相应的数据。 #### 查询条件与过滤 为了确保我们只获取到需要的数据,可以设置查询条件和过滤器。例如: ```json "condition": [ [{"field":"FCreateOrgId_FNumber","logic":"eqv2","value":"07"}], [{"field":"FUseOrgId_FNumber","logic":"eqv2","value":"07"}], [{"field":"FNumber","logic":"notlike","value":"03."}] ] ``` - `FCreateOrgId_FNumber = '07'`: 创建组织编号为07。 - `FUseOrgId_FNumber = '07'`: 使用组织编号为07。 - `FNumber not like '03.'`: 编码不以03开头。 这些条件将被组合成SQL语句的一部分,用于过滤数据。 #### 分页与其他参数 为了处理大规模数据,我们通常需要分页查询。以下是分页相关的参数: ```json "otherRequest": [ {"field": "Limit", "label": "最大行数", "type": "string", "describe": "金蝶的查询分页参数", "value": "100"}, {"field": "StartRow", "label": "开始行索引", "type": "string", "describe": "金蝶的查询分页参数"}, {"field": "TopRowCount", "label": "返回总行数", "type": "int", "describe": "金蝶的查询分页参数"} ] ``` - `Limit`: 每次请求返回的最大行数,这里设置为100。 - `StartRow`: 开始行索引,用于分页控制。 - `TopRowCount`: 返回总行数,用于确定总页数。 #### 数据处理与清洗 在获取到原始数据后,需要对其进行初步清洗和转换,以便后续处理。例如,可以对某些字段进行格式化或转换: ```json "parser":{ ... {"name":"ArrayToString","params":[","]} } ``` 这个解析器将数组类型的数据转换为字符串,以便更好地存储和处理。 #### 实际案例应用 假设我们需要获取所有供应商的信息,并且这些供应商属于特定的创建组织和使用组织,同时编码不以“03”开头。我们可以通过以下步骤实现这一目标: 1. **配置接口**:按照上述元数据配置,设置好接口、请求方法、标识字段和分页信息。 2. **设置请求参数**:指定需要查询的字段及其标签、类型和值。 3. **添加查询条件**:根据业务需求,添加必要的过滤条件。 4. **执行请求**:通过轻易云平台发起POST请求,调用`executeBillQuery`接口。 5. **处理响应**:对返回的数据进行初步清洗和转换,以便后续使用。 通过以上步骤,我们可以高效地从金蝶云星空系统中获取所需的数据,并确保数据质量和一致性。这一过程不仅提高了业务透明度,还极大地提升了数据处理效率。 ![用友与外部系统接口集成开发](https://pic.qeasy.cloud/S1.png~tplv-syqr462i7n-qeasy.image) ### 使用轻易云数据集成平台进行ETL转换并写入旺店通·旗舰奇门API接口的技术案例 在使用轻易云数据集成平台进行数据处理的全生命周期中,第二步是将已经集成的源平台数据进行ETL(Extract, Transform, Load)转换,并将其转为目标平台——旺店通·旗舰奇门API接口所能够接收的格式,最终写入目标平台。以下将详细探讨这一过程中的技术细节。 #### 1. 数据提取与清洗 首先,从源系统中提取供应商相关的数据。假设源系统提供的数据包含以下字段:`FNumber`(供应商编号)、`FName`(供应商名称)、`Contact`(联系人)、`Telno`(座机)、`Mobile`(移动电话)等。这些数据需要经过清洗和规范化处理,以确保其符合目标系统的要求。例如,电话号码可能需要去除空格和特殊字符,邮箱地址需要验证格式等。 #### 2. 数据转换 在数据清洗之后,需要将这些数据转换为旺店通·旗舰奇门API接口所能接收的格式。根据提供的元数据配置,我们需要将源系统中的字段映射到目标系统中的相应字段。以下是具体的字段映射关系: ```json { "provider_no": "{FNumber}", "provider_name": "{FName}", "contact": "{Contact}", "telno": "{Telno}", "mobile": "{Mobile}", "fax": "", "qq": "", "zip": "", "wangwang": "", "email": "", "website": "", "address": "", "arrive_cycle_days": "", "remark": "", "is_disabled": "", "account_bank_no": "", "account_bank": "", "collect_name": "", "province": "", "city": "", "district": "" } ``` 在此过程中,可以利用轻易云的数据转换功能,通过简单的拖拽和配置操作,将源字段与目标字段一一对应起来。如果某些字段在源系统中不存在,可以设置默认值或留空。 #### 3. 数据写入 完成数据转换后,下一步是将转换后的数据通过API接口写入旺店通·旗舰奇门。根据元数据配置,我们使用POST方法调用API `wdt.setting.purchaseprovider.push`。具体请求示例如下: ```json { "api":"wdt.setting.purchaseprovider.push", "method":"POST", "idCheck":true, "request":[ {"field":"provider_no","value":"{FNumber}"}, {"field":"provider_name","value":"{FName}"}, {"field":"contact","value":"{Contact}"}, {"field":"telno","value":"{Telno}"}, {"field":"mobile","value":"{Mobile}"}, {"field":"fax","value":""}, {"field":"qq","value":""}, {"field":"zip","value":""}, {"field":"wangwang","value":""}, {"field":"email","value":""}, {"field":"website","value":""}, {"field":"address","value":""}, {"field":"arrive_cycle_days","value":""}, {"field":"remark","value":""}, {"field":"is_disabled","value":""}, {"field":"account_bank_no","value":""}, {"field":"account_bank","value":""}, {"field":"collect_name","value":""}, {"field":"province","value":""}, {"field":"city","value":""}, {"field":"district","value":""} ], "otherRequest":[{"field":"objectKey", "label":"供应商对象", "type":"string", "value":"provider"}], "buildModel" : true } ``` 在实际操作中,可以通过轻易云提供的可视化界面,直接配置上述请求参数,并进行测试和验证。一旦配置完成并验证通过,即可实现自动化的数据写入。 #### 4. 实时监控与日志记录 为了确保数据集成过程的可靠性和透明度,可以利用轻易云平台提供的实时监控功能,对每一次API调用进行跟踪和记录。如果出现错误或异常情况,可以通过日志快速定位问题并进行修复。 综上所述,通过轻易云数据集成平台,我们可以高效地完成从源系统到旺店通·旗舰奇门API接口的数据ETL转换和写入,实现不同系统间的数据无缝对接,提高业务处理效率和准确性。 ![打通用友BIP数据接口](https://pic.qeasy.cloud/T22.png~tplv-syqr462i7n-qeasy.image)