礼顿销售单对接金蝶云星空API的详细技术方案

  • 轻易云集成顾问-贺强
### 吉客云·奇门数据集成到金蝶云星空:礼顿销售单对接方案 在企业信息化管理过程中,实现不同系统间的数据互联互通一直是一个关键挑战。本次技术案例分享将详细探讨如何成功对接吉客云·奇门平台与金蝶云星空,特别是通过定义和执行“礼顿销售单对接(91-零售业务/5-代销售(供货商发货))”方案,实现数据的高效流动和精准处理。 为了实现这一目标,我们采用了以下关键步骤: 1. **接口调用与数据抓取**: - 使用`jackyun.tradenotsensitiveinfos.list.get` API从吉客云·奇门获取订单数据。该API支持分页查询,使得即便面对大量数据,也能分批获取并处理。 2. **快速写入机制**: - 数据获取后,通过调度优化后的批量写入机制,将这些订单数据提交至金蝶云星空的`batchSave` API。这确保了大规模的数据能够快速、可靠地录入目标系统。 3. **异常检测与重试机制**: - 在整个过程中,不可避免会遇到网络波动或接口超时等异常情况。因此,我们设计了一套健全的监控和告警系统,通过实时跟踪任务状态,并在必要时触发错误重试,保障整体流程的稳定性。 4. **自定义转换逻辑**: - 针对吉客云·奇门与金蝶云星空之间存在的数据格式差异,我们开发了特定的转换规则,将源端结构化数据转换为目标系统所需的格式,以确保最终的数据一致性和完整性。 通过上述解决方案,不仅实现了快速、稳定、高效的数据流转,还保障业务运作中的透明度、准确性及及时响应能力。在实际运行中,该集成方案显著提升了礼顿销售单处理效率,为企业日常运营提供坚实的数据支撑。 ![如何对接金蝶云星空API接口](https://pic.qeasy.cloud/D37.png~tplv-syqr462i7n-qeasy.image) ### 调用吉客云·奇门接口jackyun.tradenotsensitiveinfos.list.get获取并加工数据 在数据集成的生命周期中,调用源系统接口是至关重要的一步。本文将详细探讨如何通过轻易云数据集成平台调用吉客云·奇门接口`jackyun.tradenotsensitiveinfos.list.get`,获取并加工销售单数据。 #### 接口配置与请求参数 首先,我们需要配置接口及其请求参数。根据元数据配置,接口使用POST方法,以下是具体的请求参数: - `modified_begin` 和 `modified_end`: 修改起始和结束时间,必须同时存在且时间间隔不能超过七天。 - `startModified` 和 `endModified`: 最后修改时间的起始和截止。 - `tradeNo`: 销售单号,可多个用半角逗号分隔。 - `pageSize`: 每页记录数,默认50,最大1000。 - `pageIndex`: 页码,从0开始。 - `hasTotal`: 是否返回总记录数,首次调用时传1获取总记录数。 - `startCreated` 和 `endCreated`: 创建时间的起始和截止。 - `startAuditTime` 和 `endAuditTime`: 审核时间的起始和截止。 - `startConsignTime` 和 `endConsignTime`: 发货时间的起始和截止,分别使用上次同步时间和当前时间。 - `tradeStatus`: 订单状态。 - `tradeType`: 订单类型,这里指定为91(零售业务)和5(代销售)。 - 其他字段如店铺ID、需要返回的字段列表等。 #### 数据请求与清洗 在发出请求之前,需要确保所有必填字段已正确填写。以下是一个示例请求体: ```json { "modified_begin": "2023-09-01T00:00:00", "modified_end": "2023-09-07T23:59:59", "pageSize": 50, "pageIndex": 0, "hasTotal": 1, "startConsignTime": "{{LAST_SYNC_TIME|datetime}}", "endConsignTime": "{{CURRENT_TIME|datetime}}", "tradeType": "91,5", "shopIds": "1615936578929590912,1589750679905665664,...", "fields": "checkTotal,tradeNo,postFee,..." } ``` 在接收到响应后,需要对数据进行清洗和格式化。例如,将原始字段`consignTime`重命名为`consignTime_new`并格式化为日期类型: ```json { "old": "consignTime", "new": "consignTime_new", "format": "date" } ``` #### 数据转换与写入 清洗后的数据需要进一步转换,以便写入目标系统。在这个过程中,可以利用轻易云的数据转换功能,将字段映射到目标系统所需的格式。例如,将商品详情中的某些字段提取出来,并进行必要的计算或转换。 #### 异常处理与监控 为了确保数据集成过程的可靠性,需要设置异常处理机制。例如,当接口调用失败时,可以设置重试策略或报警机制。此外,通过轻易云平台提供的实时监控功能,可以随时查看数据流动和处理状态,及时发现并解决问题。 #### 小结 通过上述步骤,我们实现了从吉客云·奇门接口获取销售单数据,并对其进行清洗、转换和写入。这不仅提高了数据处理效率,还确保了数据的一致性和准确性。在实际应用中,可以根据具体需求对元数据配置进行调整,以适应不同场景。 ![金蝶云星空API接口配置](https://pic.qeasy.cloud/S18.png~tplv-syqr462i7n-qeasy.image) ### 使用轻易云数据集成平台实现礼顿销售单对接金蝶云星空API接口 在数据集成生命周期的第二步中,主要任务是将源平台的数据进行ETL转换,使其符合目标平台金蝶云星空API接口的要求,并最终写入目标平台。本文将深入探讨这一过程中的技术细节,特别是如何通过元数据配置实现高效的数据转换和写入。 #### 1. API接口配置 首先,我们需要配置金蝶云星空的API接口。根据提供的元数据配置,目标API为`batchSave`,请求方法为`POST`。以下是关键的API参数配置: ```json { "api": "batchSave", "method": "POST", "idCheck": true, "operation": { "rowsKey": "array", "rows": 1, "method": "batchArraySave" }, ... } ``` #### 2. 数据分组与计算 为了确保数据能够正确映射到金蝶云星空的格式,需要进行数据分组和计算。根据元数据配置,我们需要对头部和明细部分的数据进行分组: ```json "groupCalculate": { "headerGroup": ["shopCodenew", "warehouseCode", "consignTime_new"], "bodyGroup": ["goodsDetail_goodsNo"], ... } ``` 在明细部分,我们还需要对某些字段进行汇总计算,例如销售数量和优惠后费用: ```json "calculate": { "goodsDetail_sellCount": "$sum", "goodsDetail_shareFavourableAfterFee": "$sum" } ``` #### 3. 请求字段映射 接下来,我们需要将源平台的数据字段映射到目标平台的字段。以下是一些关键字段的映射配置: - 出库单号 (`FBillNo`) - 单据类型 (`FBillTypeID`) - 日期 (`FDate`) - 销售组织 (`FSaleOrgId`) - 客户 (`FCustomerID`) - 发货组织 (`FStockOrgId`) - 明细信息 (`FEntity`) 具体配置如下: ```json "request": [ { "field": "FBillNo", "label": "出库单号", ... }, { "field": "FBillTypeID", ... "value": "XSCKD07_SYS" }, { ... "field": "FDate", ... "value": "{consignTime_new}" }, ... ] ``` #### 4. 明细信息处理 明细信息(`FEntity`)部分包含多个子字段,需要逐一映射和转换。例如,物料编码、实发数量、含税单价等: ```json { ... { "field": "FMaterialID", ... "value":"{{details.goodsDetail_goodsNo}}" }, { ... "field":"FRealQty", ... "value":"{{details.goodsDetail_sellCount}}" }, { ... "field":"FTaxPrice", ... "value":"_function {{details.goodsDetail_shareFavourableAfterFee}}/{{details.goodsDetail_sellCount}}" } ... } ``` #### 5. 执行操作与其他请求参数 最后,我们需要设置一些额外的请求参数,以确保数据能够正确提交并审核: ```json "otherRequest":[ { ... {"field":"FormId","label":"业务对象表单Id","type":"string","describe":"必须填写金蝶的表单ID如:PUR_PurchaseOrder","value":"SAL_OUTSTOCK"}, {"field":"Operation","label":"执行的操作","type":"string","value":"Save"}, {"field":"IsAutoSubmitAndAudit","label":"提交并审核","type":"bool","value":"true"}, {"field":"IsVerifyBaseDataField","label":"验证基础资料","type":"bool","describe":"是否验证所有的基础资料有效性,布尔类,默认false(非必录)","value":"true"}, {"label":"允许负库存","field":"InterationFlags","type":"string","value":"STK_InvCheckResult"} ] ] ``` 通过上述步骤,我们可以利用轻易云数据集成平台,将礼顿销售单的数据成功转换并写入到金蝶云星空系统中。这一过程不仅确保了数据的一致性和准确性,还大大提升了系统间的数据交互效率。 ![金蝶与SCM系统接口开发配置](https://pic.qeasy.cloud/T13.png~tplv-syqr462i7n-qeasy.image)