从旺店通·企业奇门到金蝶云星空:数据集成的落地实践
在系统集成工作中,将不同平台的数据高效且可靠地对接,是我们面临的重要任务。本文分享了一个典型案例,即通过盘盈单4同步金蝶其他入库RK_查询覆盖
方案,实现旺店通·企业奇门与金蝶云星空之间的数据集成。
为确保旺店通·企业奇门中的数据不漏单,我们调用了其API接口wdt.stockin.order.query
,从而定时可靠抓取库存相关的数据。针对大批量数据的处理,通过轻易云数据集成平台,我们可以快速写入这些数据到金蝶云星空,使用其提供的API接口batchSave
完成批量操作。这一切不仅有效提高了效率,还保证了数据的一致性和准确性。
在整个过程中,需要特别注意处理分页和限流的问题,以避免因请求频率过高导致服务端响应压力。同时,由于两个系统间的数据格式可能存在差异,需要在映射关系上进行定制化设置,确保字段对应完美无误。此外,在错误重试机制上做足防护措施也是必不可少的一环,它能保障对接过程中万一出现异常情况时自动重新尝试,从而提升整体流程的稳定性。
最后,为进一步加强监控和日志管理,我们引入实时监控功能及详细日志记录,对每一步操作细节进行跟踪。这不仅让开发团队能够及时发现并解决潜在问题,也为后续优化提供详实依据。
使用轻易云数据集成平台调用旺店通·企业奇门接口wdt.stockin.order.query获取并加工数据
在数据集成生命周期的第一步中,调用源系统接口获取数据是至关重要的一环。本文将详细探讨如何使用轻易云数据集成平台调用旺店通·企业奇门接口wdt.stockin.order.query
来获取盘盈单数据,并对其进行初步加工。
接口调用配置
首先,我们需要配置接口的元数据,以确保能够正确地请求和接收所需的数据。以下是该接口的元数据配置:
{
"api": "wdt.stockin.order.query",
"method": "POST",
"number": "order_no",
"id": "stockin_id",
"pagination": {
"pageSize": 50
},
"condition_bk": [[]],
"request": [
{
"field": "start_time",
"label": "开始时间",
"type": "string",
"value": "{{LAST_SYNC_TIME|datetime}}",
"describe": "按最后修改时间增量获取数据,start_time作为开始时间,格式:yyyy-MM-dd HH:mm:ss"
},
{
"field": "end_time",
"label": "结束时间",
"type": "string",
"value": "{{CURRENT_TIME|datetime}}",
"describe": "按最后修改时间增量获取数据,end_time作为结束时间,格式:yyyy-MM-dd HH:mm:ss"
},
{
"field": "order_type",
"label": "源单据类别",
"type": "string",
"value": "4",
"describe": "单据类别 1采购入库, 2调拨入库, 4盘盈入库, 5生产入库, 6其他入库, 7保修入库, 8纠错入库, 9初始化入库 10预入库11JIT退货入库12委外入库"
},
{
"field": "status",
...
},
...
],
...
}
请求参数详解
-
开始时间和结束时间:通过
start_time
和end_time
字段,我们可以按最后修改时间增量获取数据。这两个字段分别使用占位符{{LAST_SYNC_TIME|datetime}}
和{{CURRENT_TIME|datetime}}
来动态生成请求时的具体时间点。 -
源单据类别:字段
order_type
设置为"4",表示我们只查询盘盈单的数据。 -
分页处理:为了处理大批量的数据,接口支持分页查询。我们通过设置
page_size
和page_no
来控制每次请求的数据量和页码。
数据请求与清洗
在完成接口配置后,我们可以发起POST请求以获取盘盈单的数据。以下是一个示例请求体:
{
...
{
...
{
...
}
}
}
返回的数据通常包含多个字段,如订单编号、仓库编号、上层单据编号等。在接收到这些数据后,需要进行初步清洗,以确保后续处理的准确性和一致性。例如:
- 过滤无效数据:移除状态为已取消或编辑中的记录。
- 格式转换:将日期字符串转换为标准日期格式,以便于后续分析。
数据转换与写入
经过清洗后的数据,可以进一步转换为目标系统所需的格式,并写入到相应的数据库或文件系统中。例如,将盘盈单信息同步到金蝶其他入库模块。此过程涉及到字段映射、值转换等操作。
{
...
}
通过以上步骤,我们成功实现了从旺店通·企业奇门接口获取盘盈单数据,并进行了初步加工,为后续的数据处理打下了坚实基础。在实际应用中,还可以根据业务需求进一步优化和扩展这些操作,以提升整体效率和准确性。
轻易云数据集成平台:ETL转换与写入金蝶云星空API接口的技术案例
在数据集成生命周期的第二步,我们重点关注如何将已经集成的源平台数据进行ETL(提取、转换、加载)转换,并最终写入目标平台——金蝶云星空。以下是具体的技术实现过程。
API接口配置与请求参数
我们使用的是金蝶云星空的batchSave
API接口,通过POST方法进行数据提交。以下是元数据配置中的关键字段及其解析方式:
-
单据编号 (FBillNo):
- 类型:字符串
- 来源:
{stockin_no}
-
单据类型 (FBillTypeID):
- 类型:字符串
- 解析器:
ConvertObjectParser
- 参数:
FNumber
- 固定值:
QTRKD01_SYS
-
库存组织 (FStockOrgId):
- 类型:字符串
- 解析器:
ConvertObjectParser
- 参数:
FNumber
- 固定值:
100
-
日期 (FDate):
- 类型:字符串
- 来源:
{stockin_time}
-
供应商 (FSUPPLIERID):
- 类型:字符串
- 解析器:
ConvertObjectParser
- 参数:
FNumber
-
部门 (FDEPTID):
- 类型:字符串
- 解析器:
ConvertObjectParser
- 参数:
FNumber
- 固定值:
BM003
-
备注 (FNOTE):
- 类型:字符串
- 来源:
{remark}
-
明细信息 (FEntity): 包含多个子字段,逐一介绍如下:
a. 物料编码 (FMATERIALID):
- 类型:字符串
- 解析器:
ConvertObjectParser
- 参数:
FNumber
- 来源于明细列表中的字段
{{details_list.goods_no}}
b. 零售条形码 (FCMKBarCode):
- 类型:字符串
c. 收货仓库 (FSTOCKID):
- 类型:字符串
- 解析器:
ConvertObjectParser
- 参数:
FNumber
- 来源于
warehouse_no
d. 实收数量 (FQty):
- 类型:字符串
- 来源于明细列表中的字段
{{details_list.goods_count}}
e. 批号 (FLOT):
- 类型:字符串
- 解析器:
ConvertObjectParser
- 参数:
FNumber
- 来源于明细列表中的字段
{{details_list.batch_no}}
f. 备注 (FEntryNote):
- 类型:字符串
g. 成本价 (FPrice):
- 类型:字符串
请求示例
以下是一个完整的请求示例,展示了如何将上述元数据配置应用到实际的数据请求中:
{
"FormId": "STK_MISCELLANEOUS",
"IsVerifyBaseDataField": true,
"Operation": "Save",
"IsAutoSubmitAndAudit": true,
"Model": {
"FBillNo": "{stockin_no}",
"FBillTypeID": {"FNumber": "QTRKD01_SYS"},
"FStockOrgId": {"FNumber": "100"},
"FDate": "{stockin_time}",
"FSUPPLIERID": {"FNumber": "{supplier_id}"},
"FDEPTID": {"FNumber": "BM003"},
"FNOTE": "{remark}",
"FEntity": [
{
"FMATERIALID": {"FNumber": "{{details_list.goods_no}}"},
"FCMKBarCode": "{barcode}",
"FSTOCKID": {"FNumber": "{warehouse_no}"},
"FQty": "{{details_list.goods_count}}",
"FLOT": {"FNumber": "{{details_list.batch_no}}"},
"FEntryNote": "{entry_note}",
"FPrice": "{price}"
}
// 可以有多个明细项,按照上述格式添加更多对象即可。
]
}
}
数据转换与写入流程
- 提取(Extract):从源系统中提取原始数据。假设我们已经完成了这一步并得到了所需的数据集。
- 转换(Transform):根据元数据配置对提取的数据进行格式转换。例如,将日期格式化为目标系统所需的格式,将编码字段通过解析器转化为目标系统识别的编码。
- 加载(Load):通过调用金蝶云星空的API接口,将转换后的数据加载到目标系统中。
在整个过程中,我们利用轻易云数据集成平台提供的全透明可视化操作界面,实时监控和调整每个环节的数据流动和处理状态,确保数据准确无误地写入目标平台。
通过以上步骤,我们成功实现了从源平台到金蝶云星空API接口的数据ETL转换和写入,为企业的数据集成提供了高效、可靠的解决方案。