基于轻易云平台的旺店通·旗舰奇门数据集成到金蝶云星空案例分享:22 采购入库到直接调拨单
在本技术案例中,我们将详细探讨如何利用轻易云数据集成平台实现旺店通·旗舰奇门的数据无缝对接,进而批量写入到金蝶云星空,以完成"22 采购入库到直接调拨单"这一业务流程。在整个过程中,确保数据不漏单、处理大量数据快速高效、以及应对分页和限流问题,是关键性挑战。
首先,我们要通过调用旺店通·旗舰奇门提供的API接口 wdt.wms.stockin.purchase.querywithdetail
来抓取采购入库的信息。该接口允许我们获取详细且实时的采购入库记录,但需要注意其分页机制,这意味着每次获取的数据量是有限制的,因此必须妥善处理才能一次性抓取所有需要的数据。此外,为保证系统稳定运行,还需要严格控制接口请求频率以避免触发限流策略。
接下来,针对从旺店通·旗舰奇门获取的大量原始数据,要进行必要的数据转换与清洗,以适应金蝶云星空的格式要求。例如,将各项字段映射为金蝶标准所需,并解决其中潜在的数据类型或结构差异。这一步骤至关重要,因为错误或不兼容的数据格式会导致后续写入操作失败,从而影响整体业务流程。
随后,通过使用金蝶云星空提供的batchSave
API,我们能够高效地将已经清洗并转换好的大批量数据导入到系统内。这一过程不仅需要考虑高并发性能,同时还涉及对异常情况如网络波动或服务器超时等问题作出即时响应与重试机制配置,以确保整个流程可靠且不中断地进行。
最后,在整个对接与同步过程中,实现日志记录和实时监控同样不可忽视。通过全生命周期管理及透明可视化操作界面的支持,可以帮助我们及时检测和排除各种可能出现的问题,并进一步优化我们的集成方案,使之更加完善和健壮。
调用旺店通·旗舰奇门接口wdt.wms.stockin.purchase.querywithdetail获取并加工数据
在数据集成的生命周期中,调用源系统API接口是至关重要的一步。本文将详细探讨如何通过轻易云数据集成平台调用旺店通·旗舰奇门接口wdt.wms.stockin.purchase.querywithdetail
,并对返回的数据进行加工处理。
接口调用配置
首先,我们需要配置接口调用的元数据。根据提供的metadata,我们可以看到该接口采用POST方法,主要参数包括分页参数和业务参数。
{
"api": "wdt.wms.stockin.purchase.querywithdetail",
"method": "POST",
"number": "order_no",
"id": "order_no",
"idCheck": true,
"formatResponse": [
{
"old": "remark",
"new": "remark_new",
"format": "string"
}
],
"request": [
{
"field": "pager",
"label": "分页参数",
"type": "object",
"children": [
{
"field": "page_size",
"label": "分页大小",
"type": "string",
"value": "50",
"parent": "pager"
},
{
"field": "page_no",
"label": "页号",
"type": "string",
"value": "1",
"parent": "pager"
}
]
},
{
"field": "params",
...
请求参数解析
在请求参数部分,我们需要特别注意以下几个字段:
- 分页参数:
page_size
和page_no
分别定义了每页的数据量和当前请求的页码。 - 业务参数:包括时间范围、入库单状态、仓库编号等关键字段。
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
数据清洗与转换
在获取到原始数据后,需要对其进行清洗和转换。根据metadata中的配置,我们需要将返回结果中的remark
字段重命名为remark_new
,并确保其格式为字符串。
{
old: 'remark',
new: 'remark_new',
format: 'string'
}
通过轻易云平台的可视化界面,可以方便地配置这些转换规则,从而确保数据的一致性和准确性。
实际操作步骤
- 配置请求元数据:在轻易云平台上创建一个新的API调用任务,并按照metadata中的要求填写请求参数。
- 执行API调用:启动任务,平台会自动发送HTTP POST请求到指定的旺店通·旗舰奇门接口。
- 处理响应数据:接收到响应后,根据预定义的规则对数据进行清洗和转换。
- 存储或进一步处理:将处理后的数据写入目标系统或进行进一步的数据处理操作。
示例代码
以下是一个简单的Python示例代码,用于演示如何通过HTTP请求调用该API并处理响应数据:
import requests
import json
url = 'https://api.wangdian.cn/openapi2/wdt.wms.stockin.purchase.querywithdetail'
headers = {'Content-Type': 'application/json'}
payload = json.dumps({
'pager': {'page_size': '50', 'page_no': '1'},
'params': {'start_time': '{{LAST_SYNC_TIME|datetime}}', 'end_time': '{{CURRENT_TIME|datetime}}', 'status': '80', 'warehouse_no': 'JHSJ003'}
})
response = requests.post(url, headers=headers, data=payload)
data = response.json()
# 数据清洗与转换
for item in data['result']:
item['remark_new'] = str(item.pop('remark'))
print(data)
通过上述步骤和代码示例,我们可以高效地实现从旺店通·旗舰奇门获取采购入库单详细信息,并对其进行必要的数据清洗和转换。这是数据集成生命周期中的关键一步,为后续的数据处理和分析奠定了坚实基础。
使用轻易云数据集成平台将采购入库数据转换并写入金蝶云星空API接口
在使用轻易云数据集成平台进行数据集成时,ETL(Extract, Transform, Load)过程中的转换和写入阶段至关重要。本文将详细探讨如何将已经集成的源平台数据进行ETL转换,并转为金蝶云星空API接口所能够接收的格式,最终写入目标平台。
元数据配置解析
在进行数据转换和写入之前,需要对元数据配置有一个清晰的理解。以下是用于将采购入库数据转换为金蝶云星空API接口格式的元数据配置:
{
"api": "batchSave",
"effect": "EXECUTE",
"method": "POST",
"idCheck": true,
"request": [
{"field":"FBillNo","label":"单据编号","type":"string","describe":"单据编号","value":"{order_no}"},
{"field":"FBillTypeID","label":"单据类型","type":"string","describe":"单据类型","value":"ZJDB01_SYS","parser":{"name":"ConvertObjectParser","params":"FNumber"}},
{"field":"FBizType","label":"调拨类型","type":"string","describe":"下拉列表","value":"NORMAL"},
{"field":"FTransferDirect","label":"调拨方向","type":"string","describe":"下拉列表","value":"GENERAL"},
{"field":"FTransferBizType","label":"业务类型","type":"string","describe":"下拉列表","value":"InnerOrgTransfer"},
{"field":"FSaleOrgId","label":"销售组织","type":"string","describe":"组织","value":"106","parser":{"name":"ConvertObjectParser","params":"FNumber"}},
{"field":"FSettleOrgId","label":"结算组织","type":"string","describe":"组织","value":"106","parser":{"name":"ConvertObjectParser","params":"FNumber"}},
{"field":"FStockOutOrgId","label":"出库组织","type":"","describe":"","value":"","parser":{"name":"","params":""}},
{"field":"","label":"","type":"","describe":"","value":"","parser":{"name":"","params":""}},
...
],
"otherRequest": [
{"field": "FormId", "label": "FormId", "type": "string", "describe": "必须填写金蝶的表单ID如:PUR_PurchaseOrder", "value": "STK_TransferDirect"},
{"field": "IsAutoSubmitAndAudit", "label": "IsAutoSubmitAndAudit", "type": "bool", "value": true},
{"field": "", "", "", "", ""},
...
],
...
}
数据字段解析与转换
-
单据编号(FBillNo):
- 源字段:
order_no
- 类型:字符串
- 描述:单据编号
- 转换:直接映射,无需额外处理。
- 源字段:
-
单据类型(FBillTypeID):
- 固定值:
ZJDB01_SYS
- 转换:使用
ConvertObjectParser
将其转换为FNumber
格式。
- 固定值:
-
调拨类型(FBizType)、调拨方向(FTransferDirect)、业务类型(FTransferBizType):
- 固定值:分别为
NORMAL
、GENERAL
和InnerOrgTransfer
- 转换:直接映射,无需额外处理。
- 固定值:分别为
-
销售组织(FSaleOrgId)、结算组织(FSettleOrgId)、出库组织(FStockOutOrgId)、库存组织(FStockOrgId):
- 固定值:
106
- 转换:使用
ConvertObjectParser
将其转换为FNumber
格式。
- 固定值:
-
日期(FDate):
- 源字段:
check_time
- 类型:字符串
- 描述:日期
- 转换:使用模板引擎进行日期格式化,如
{{check_time|datetime}}
。
- 源字段:
-
备注(FNote):
- 源字段:
remark
- 类型:字符串
- 描述:多行文本
- 转换:直接映射,无需额外处理。
- 源字段:
-
明细信息(FBillEntry): 明细信息包含多个子字段,每个子字段都需要根据源数据进行相应的映射和转换。例如:
{ "field": "FMaterialId", "label": "物料", "type": "string", ... ... ... }
数据写入目标平台
在完成上述所有字段的解析与转换后,最终的数据将通过POST请求写入到金蝶云星空API接口中。具体步骤如下:
- 构建请求体,将所有解析后的字段按照预定义的JSON结构组装。
- 设置请求头,包括认证信息、Content-Type等。
- 发起HTTP POST请求,将构建好的请求体发送至金蝶云星空API接口。
- 接收并处理响应,确保数据成功写入目标平台。
通过这种方式,我们可以高效地将源平台的数据经过ETL过程后,准确无误地写入到金蝶云星空系统中,实现系统间的数据无缝对接。