系统对接集成案例分享:旺店通·企业奇门数据集成到金蝶云星空
在本案例中,我们将探讨如何通过轻易云数据集成平台实现旺店通·企业奇门的入库单管理与金蝶云星空其他入库单的无缝对接。具体方案类型为【类型:调拨入库】。
数据获取和处理
首先,通过调用wdt.stockin.order.query
接口从旺店通·企业奇门系统实时抓取所需的数据。我们设计了可靠的定时任务,以确保数据能够及时、准确地被获取,并且设有分页和限流机制来应对大规模数据请求,从而保障系统稳定性。
数据转换与映射
鉴于两套系统间的数据格式差异,我们需要进行自定义的数据转换逻辑。利用轻易云提供的可视化数据流设计工具,直观地制定了转换规则,使得各字段能顺利映射至目标格式。这一过程不仅提高了开发效率,还减少了人为错误的可能性。
批量写入与异常处理
为了保证高效的数据传输,应用高吞吐量写入能力,将大量转化后的数据批量上传至金蝶云星空,通过其batchSave
接口完成写入操作。同时,为防止过程中出现网络波动或服务器响应超时等异常情况,建立了一套完善的异常检测与重试机制,确保每条记录都能成功存储,不漏单、不丢失。
实时监控和日志记录
得益于轻易云集中监控和告警系统,我们在整个数据集成流程中实施了全面实时监控,包括接口调用次数、执行时间、成功率以及潜在错误,这些信息会完整记录到日志文件中以供后续分析和优化使用。
以上步骤展示的是该技术方案初步构建中的关键环节。在本次分享之后,对具体配置细节及更多功能点进行深度剖析,让大家更好地理解并应用这一方案,提高业务运作效率。
调用源系统旺店通·企业奇门接口wdt.stockin.order.query获取并加工数据
在数据集成的生命周期中,调用源系统接口是至关重要的一步。本文将详细探讨如何使用轻易云数据集成平台配置元数据,通过调用旺店通·企业奇门接口wdt.stockin.order.query
来获取并加工调拨入库单的数据。
接口概述
接口wdt.stockin.order.query
用于查询旺店通系统中的入库单信息。该接口支持按时间增量获取、按状态过滤等多种查询方式,能够灵活地满足不同业务场景的需求。
元数据配置解析
以下是针对该接口的元数据配置:
{
"api": "wdt.stockin.order.query",
"effect": "QUERY",
"method": "POST",
"number": "order_no",
"id": "stockin_id",
"name": "order_no",
"idCheck": true,
"request": [
{
"field": "start_time",
"label": "开始时间",
"type": "string",
"describe": "按最后修改时间增量获取数据,start_time作为开始时间,格式:yyyy-MM-dd HH:mm:ss",
"value": "{{DAYS_AGO_1|datetime}}"
},
{
"field": "end_time",
"label": "结束时间",
"type": "string",
"describe": "按最后修改时间增量获取数据,end_time作为结束时间,格式:yyyy-MM-dd HH:mm:ss",
"value": "{{CURRENT_TIME|datetime}}"
},
{
"field": "order_type",
"label": "单据类别",
"type": "string",
"describe":
[
{"1":"采购入库"},
{"2":"调拨入库"},
{"4":"盘盈入库"},
{"5":"生产入库"},
{"6":"其他入库"},
{"7":"保修入库"},
{"8":"纠错入库"},
{"9":"初始化入库"},
{"10":"预入库"},
{"11":"JIT退货入库"},
{"12":"委外入库"}
],
// 本次集成方案选择调拨入库
// value: 2
},
{
// 入库单状态
// value: 80
},
{
// 仓库编号
},
{
// 上层单据编号
},
{
// 入库单号
},
{
// 外部API单号
}
],
// 分页相关参数
// page_size: {PAGINATION_PAGE_SIZE}
// page_no: {PAGINATION_START_PAGE}
}
请求参数详解
-
start_time 和 end_time:用于按最后修改时间增量获取数据。
start_time
表示开始时间,end_time
表示结束时间,格式为yyyy-MM-dd HH:mm:ss
。在实际应用中,可以通过模板变量如{{DAYS_AGO_1|datetime}}
和{{CURRENT_TIME|datetime}}
动态生成。 -
order_type:指定源单据类别。本次集成方案选择调拨入库,因此值为
2
。 -
status:用于过滤特定状态的入库单。例如,值为
80
表示已完成的单据。 -
warehouse_no、src_order_no、stockin_no、outer_no:这些字段用于更精确地查询特定条件下的入库单信息。
-
page_size 和 page_no:分页参数,用于控制每页返回的数据条数和页号。
数据请求与清洗
在调用接口时,我们需要构建一个完整的请求体,根据元数据配置填充必要的字段。例如:
{
'start_time': '2023-10-01 00:00:00',
'end_time': '2023-10-02 00:00:00',
'order_type': '2',
'status': '80',
'page_size': '40',
'page_no': '0'
}
通过POST方法发送请求后,系统会返回符合条件的调拨入库单数据。接下来,需要对返回的数据进行清洗和转换,以便后续写入目标系统(如金蝶)的操作。
数据转换与写入
在清洗过程中,我们需要确保数据格式和字段名称符合目标系统的要求。例如,将旺店通返回的数据字段映射到金蝶系统所需的字段:
{
'stockin_id': 'id',
'order_no': 'number',
...
}
通过这种方式,我们可以实现不同系统间的数据无缝对接,确保业务流程顺畅运行。
实时监控与优化
轻易云平台提供了实时监控功能,可以随时查看数据流动和处理状态。这有助于及时发现和解决潜在问题,提高整体效率。
综上所述,通过合理配置元数据并调用旺店通·企业奇门接口,我们可以高效地获取并加工调拨入库单的数据,为后续的数据转换与写入奠定基础。
使用轻易云数据集成平台实现金蝶云星空API接口的数据转换与写入
在数据集成的生命周期中,数据转换与写入是至关重要的一步。本文将详细探讨如何使用轻易云数据集成平台,将源平台(如旺店通)的数据转换为目标平台(金蝶云星空API接口)所能接收的格式,并最终写入目标平台。
元数据配置解析
在进行数据转换与写入之前,我们需要了解元数据配置。这些配置定义了如何将源数据映射到目标平台的数据结构中。
基础字段配置
-
单据编号 (FBillNo)
- 类型:字符串
- 描述:单据编号
- 映射:
{order_no}
-
单据类型 (FBillTypeID)
- 类型:字符串
- 描述:单据类型
- 解析器:
ConvertObjectParser
,参数为FNumber
- 固定值:
QTRKD03_SYS
-
库存组织 (FStockOrgId)
- 类型:字符串
- 描述:组织
- 解析器:
ConvertObjectParser
,参数为FNumber
- 固定值:
100
-
日期 (FDate)
- 类型:字符串
- 描述:日期
- 映射:
{stockin_time}
-
部门 (FDEPTID)
- 类型:字符串
- 描述:基础资料
- 解析器:
ConvertObjectParser
,参数为FNumber
- 固定值:
BM000003
-
货主类型 (FOwnerTypeIdHead)
- 类型:字符串
- 描述:多类别基础资料列表
- 固定值:
BD_OwnerOrg
-
货主 (FOwnerIdHead)
- 类型:字符串
- 描述:多类别基础资料
- 解析器:
ConvertObjectParser
,参数为FNumber
- 固定值:
100
-
备注 (FNOTE)
- 类型:字符串
- 描述:多行文本
- 映射:
{remark}
-
供应商 (FSUPPLIERID)
- 类型: 字符串
- 解析器:
ConvertObjectParser
, 参数为FNumber
- 固定值:
SP001
明细信息配置
明细信息是一个数组,每个元素包含以下字段:
-
物料编码 (FMATERIALID)
- 类型: 字符串
- 描述: 基础资料
- 解析器:
ConvertObjectParser
, 参数为FNumber
- 映射:
{{details_list.spec_no}}
-
收货仓库 (FSTOCKID)
- 类型: 字符串
- 描述: 基础资料
- 解析器:
ConvertObjectParser
, 参数为FNumber
- 映射:
{warehouse_no}
-
实收数量 (FQty)
- 类型: 字符串
- 描述: 数量
- 映射:
{{details_list.goods_count}}
-
成本价 (FPrice)
- 类型: 字符串
- 描述: 单价
- 映射:
{{details_list.cost_price}}
-
备注 (FEntryNote) – 类型: 字符串 – 描述: 多行文本 – 映射:
{{details_list.remark}}
-
源单编号 (FSRCBILLNO) – 类型: 字符串 – 描述: 源单编号 – 映射:
{trade_no}
-
货主类型 (FOWNERTYPEID) – 类型: 字符串 – 描述: 货主类型 – 固定值:
BD_OwnerOrg
-
货主 (FOWNERID) – 类型 : 字符串 – 解析器 :
ConvertObjectParser
, 参数为FNumber
– 固定值 :100
其他请求参数配置
-
业务对象表单Id(FormId) – 类型 : 字符串 – 必须填写金蝶的表单ID如 : PUR_PurchaseOrder – 固定值 :
STK_MISCELLANEOUS
-
验证基础资料(IsVerifyBaseDataField) – 类型 : 布尔类 – 是否验证所有的基础资料有效性, 默认false(非必录) – 固定值 : true
-
执行的操作(Operation) – 类型 : 字符串 – 执行的操作 – 固定值 : Save
-
提交并审核(IsAutoSubmitAndAudit) – 类型 : 布尔类
– 提交并审核
– 固定值 : false
数据转换与写入过程
- 数据请求与清洗
在此阶段,我们从源系统获取原始数据,并进行必要的清洗和预处理。确保所有字段符合目标系统的要求,例如日期格式、数值精度等。
- 数据转换
根据元数据配置,将清洗后的源数据字段映射到目标系统所需的字段。例如,将旺店通中的订单号映射到金蝶云星空中的单据编号(FBillNo)。
{
"FBillNo": "{order_no}",
"FBillTypeID": "QTRKD03_SYS",
"FStockOrgId": "100",
"FDate": "{stockin_time}",
"FDEPTID": "BM000003",
"FOwnerTypeIdHead": "BD_OwnerOrg",
"FOwnerIdHead": "100",
"FNOTE": "{remark}",
"FSUPPLIERID": "SP001",
...
}
- 构建请求体
根据元数据配置构建完整的请求体,包括明细信息数组。确保每个字段都正确映射,并且所有必填项都有对应的值。
{
"FormId": "STK_MISCELLANEOUS",
"IsVerifyBaseDataField": true,
"Operation": "Save",
...
}
- 发送请求
使用POST方法将构建好的请求体发送到金蝶云星空API接口。确保处理响应并捕获任何错误信息,以便进行调试和修正。
import requests
url = 'https://api.kingdee.com/batchSave'
headers = {'Content-Type': 'application/json'}
response = requests.post(url, json=request_body, headers=headers)
if response.status_code == 200:
print("Data successfully written to Kingdee Cloud.")
else:
print(f"Error occurred: {response.text}")
通过以上步骤,我们可以实现从源平台到金蝶云星空API接口的数据转换与写入。确保每个环节都严格按照元数据配置进行,可以极大提升集成过程的准确性和效率。