如何通过轻易云平台实现金蝶云星空API接口调用

  • 轻易云集成顾问-谢楷斌
### 案例分享:金蝶云星空与金蝶云星空集成 在本技术案例中,我们专注于展示如何使用轻易云数据集成平台完成金蝶云星空系统之间的数据对接任务。具体来说,本次任务是将箱包事业部的销售出库单(方案名称:销售出库单-箱包事业部DK-OK)从一个实例的金蝶云星空导入到另一个实例的金蝶云星空。 为了实现这一目标,需要解决以下几个关键技术问题: #### 数据获取与写入 首先,通过调用executeBillQuery API,我们定时且可靠地抓取源系统中的销售出库单数据。这一过程依赖于高吞吐量的数据写入能力,确保大量数据能够快速进入并处理。同时,为了避免漏单和重复,构建了异常处理与错误重试机制,以确保每条数据都被精确捕获和记录。 接着,我们利用batchSave API,实现批量将数据写入目标系统。通过自定义的数据转换逻辑,将原始数据格式映射到目标数据库结构中,并处理两者之间可能存在的格式差异。例如,不同字段命名规范和日期格式等方面的问题,都已通过定制化映射进行调整。 #### 监控与告警 此外,在整个数据传输过程中,为保证流程顺畅无误,配置了集中式监控和告警系统。实时跟踪每个API调用及其性能状态,一旦发现异常,如网络延迟或响应超时,即触发预设告警机制,提醒相关人员迅速介入解决,大幅提升故障应急反应速度。 #### 接口分页与限流管理 值得注意的是,由于部分API接口存在分页和限流策略,需要特别关注这些细节。在本案例实施过程中,通过合理设置请求频率及查询分页参数,有效规避因频繁访问出现限流问题,同时又能确保大批量数据的及时同步。 综上所述,上述方案不仅充分发挥了轻易云强大的可视化操作界面优势,使得各环节清晰可见;更借助高效的数据质量监控体系,为业务流程提供可靠支持。随后的章节将详细剖析实际操作步骤及代码实现方法。 ![用友BIP接口开发配置](https://pic.qeasy.cloud/D20.png~tplv-syqr462i7n-qeasy.image) ### 调用金蝶云星空接口executeBillQuery获取并加工数据 在数据集成的生命周期中,调用源系统接口是关键的第一步。本文将详细介绍如何通过轻易云数据集成平台调用金蝶云星空的`executeBillQuery`接口,获取销售出库单数据并进行初步加工。 #### 接口调用配置 首先,我们需要配置接口调用的元数据。根据提供的元数据配置,我们将使用POST方法调用`executeBillQuery`接口,并设置相关参数以确保正确获取所需数据。 ```json { "api": "executeBillQuery", "method": "POST", "number": "FBillNo", "id": "FEntity_FENTRYID", "pagination": { "pageSize": 500 }, "idCheck": true, "formatResponse": [ { "old": "FApproveDate", "new": "FApproveDate_new", "format": "date" } ], "request": [ {"field":"FBillTypeID_FNumber","label":"单据类型","type":"string","describe":"单据类型","value":"FBillTypeID.FNumber"}, {"field":"FBillNo","label":"单据编号","type":"string","describe":"单据编号","value":"FBillNo"}, {"field":"FDate","label":"日期","type":"string","describe":"日期","value":"FDate"}, {"field":"FApproveDate","label":"审核时间","type":"string","describe":"日期","value":"FApproveDate"}, {"field":"FSaleOrgId_FNumber","label":"销售组织","type":"string","describe":"组织","value":"FSaleOrgId.FNumber"}, {"field":"FCustomerID_FNumber","label":"客户","type":"string","describe":"基础资料","value":"FCustomerID.FNumber"}, {"field":"FBranchId_FNumber","label":"销售门店","type":"string","describe":"基础资料","value":"FBranchId.FNumber"}, {"field":"FSaleDeptID_FNumber","label":"销售部门","type":"string","describe":"基础资料","value":"FSaleDeptID.FNumber"}, {"field":"FHeadLocationId_FNumber","label":"交货地点","type":"string","describe":"基础资料","value":"FHeadLocationId.FNumber"}, {"field":"FCorrespondOrgId_FNumber","label":"对应组织","type":"","describe":"","value":""}, // ...其他字段省略 ], "otherRequest": [ {"field": "Limit", "label": "最大行数", "type": "string", "describe": "", "value": "{PAGINATION_PAGE_SIZE}"}, {"field": "StartRow", "label": "", "", "", "{PAGINATION_START_ROW}"}, // ...其他字段省略 ] } ``` #### 请求参数构建 根据上述元数据配置,我们需要构建请求参数。以下是一个示例请求体: ```json { "FormId": "SAL_OUTSTOCK", "FieldKeys": ["FBillNo", "FDate", ...], // 根据实际需求列出所有需要查询的字段 "FilterString": "FSaleOrgId.FNumber='204' and FDate >='2023-01-01' and FCustomerID.FName NOT LIKE '%虚拟%'", // 分页参数 "Limit": 500, "StartRow": 0 } ``` #### 数据清洗与转换 在获取到原始数据后,需要对部分字段进行清洗和转换。例如,将`FApproveDate`字段格式化为新的字段`FApproveDate_new`: ```json "formatResponse":[{"old":"FApproveDate", ![如何开发用友BIP接口](https://pic.qeasy.cloud/S26.png~tplv-syqr462i7n-qeasy.image) ### 轻易云数据集成平台:ETL转换与金蝶云星空API接口集成 在轻易云数据集成平台的生命周期中,数据转换与写入是至关重要的一环。本文将深入探讨如何将已经集成的源平台数据进行ETL转换,并转为金蝶云星空API接口所能够接收的格式,最终写入目标平台。 #### 元数据配置与解析 元数据配置是实现数据转换的核心。以下是一个典型的元数据配置示例: ```json { "api": "batchSave", "method": "POST", "idCheck": true, "operation": { "method": "merge", "field": "FBillTypeID_FNumber,FBillNo,FDate,FSaleOrgId_FNumber,FCustomerID_FNumber,FStockOrgId_FNumber", "bodyName": "details", "header": ["FBillTypeID_FNumber", "FBillNo", "FDate", "FSaleOrgId_FNumber", "FCustomerID_FNumber", "FStockOrgId_FNumber", "FGYFINDate", "FCustomerID_FDJZDYSWDYZZ"], "body": ["FMaterialID_FNumber", "FRealQty", "FTaxPrice", "FStockID_FNumber", "FSoorDerno", "FAllAmount", "FDiscount", "FGYFINDate", "FCustomerID_FDJZDYSWDYZZ", "FDiscount"] }, ... } ``` #### 数据请求与清洗 首先,我们需要从源系统获取原始数据,并进行初步清洗和解析。此过程主要包括字段映射和类型转换。例如,`FBillTypeID`字段需要通过`ConvertObjectParser`解析器将其值转换为金蝶云星空API所需的格式: ```json { "field": "FBillTypeID", "label": "单据类型", ... "parser": { "name": "ConvertObjectParser", ... }, ... } ``` #### 数据转换与写入 在完成初步清洗后,进入关键的ETL(Extract-Transform-Load)阶段。以下是具体步骤: 1. **提取(Extract)**:从源系统提取相关字段,如`FMaterialID`, `FRealQty`, `FTaxPrice`等。 2. **转换(Transform)**:根据业务逻辑对提取的数据进行处理。例如,将物料编码`FMaterialID`通过解析器转换为目标系统所需格式: ```json { ... { "field": "{{details.FMaterialID_FNumber}}", ... } } ``` 3. **加载(Load)**:将转换后的数据通过API接口写入金蝶云星空系统。以下是一个典型的API请求体示例: ```json { ... { ... { ... { ... { ... { ... } } } } } } ``` #### 操作细节 在操作过程中,需要特别注意以下几点: - **字段匹配**:确保每个字段都正确映射到目标系统中的相应字段。例如,`FSaleOrgId`需要映射到目标系统中的销售组织字段。 - **数据校验**:在写入目标系统之前,必须进行严格的数据校验,以确保所有基础资料有效性。例如,通过设置`IsVerifyBaseDataField`为`true`来启用基础资料验证。 - **提交和审核**:根据业务需求,可以选择自动提交并审核单据。此时,需要设置`IsAutoSubmitAndAudit`为`true`。 #### 案例分析 假设我们有一条销售出库单,需要将其从源系统转移到金蝶云星空系统。具体步骤如下: 1. 从源系统提取销售出库单相关信息,包括单据编号、日期、客户信息等。 2. 使用元数据配置中的解析器,将提取的数据转换为金蝶云星空API所需格式。例如,将客户信息通过解析器转换为目标格式。 3. 构建API请求体,并通过POST方法将其发送至金蝶云星空系统。 以下是一个完整的API请求示例: ```json { ... } ``` 通过上述步骤,我们可以高效地完成从源系统到金蝶云星空系统的数据集成,实现不同异构系统间的数据无缝对接。 总结而言,轻易云数据集成平台提供了强大的ETL功能,通过灵活的元数据配置和高效的API接口,实现了复杂业务场景下的数据集成需求。 ![用友与外部系统接口集成开发](https://pic.qeasy.cloud/T22.png~tplv-syqr462i7n-qeasy.image)