分销—旺店通销售出库单到金蝶云星空的数据集成案例分享
在本技术案例中,我们将探讨如何通过接口对接实现旺店通·企业奇门的销售出库单数据与金蝶云星空系统的无缝集成。具体方案是"分销—旺店通销售出库单=>金蝶销售出库单(补货+换货)",旨在确保数据不漏单,并利用定时脚本抓取和批量写入等方法提升效率。在此过程中,关键API包括从旺店通获取数据的wdt.stockout.order.query.trade
和向金蝶云星空写入数据的batchSave
。
首先,为了确保我们能够稳定地获取并处理大量销售出库单,同时避免漏单问题,我们采取了以下措施:
-
调用接口并处理分页限流:由于接口返回的数据会受到分页和限流限制,我们设计了一套循环机制,通过递归调用
wdt.stockout.order.query.trade
API,并结合时间戳参数,来高效抓取每一页的数据。 -
实时监控与日志记录:为保证整个过程的透明度,每一次API请求及其响应状态都会被详细记录在日志文件中。此外,任何异常情况如超时或错误码,也会触发相应报警,以便及时进行人工干预。
-
格式差异处理及定制化映射:经常会遇到两个系统之间字段名称或结构不同的问题。我们编写了专用转换函数,将从企业奇门获得的数据转换为符合金蝶云星空要求的格式,然后使用
batchSave
API 批量写入。 -
错误重试机制:对于因网络波动或者其他非预期故障导致的失败API请求,我们配置了自动重试策略,确保最终所有有效业务数据均能够成功传输至目的系统,以保持业务连续性。
-
调度任务管理与定时执行:通过设置定时任务脚本间隔固定时间段(例如每小时),自动抓取最新出现的新订单信息。这种方式不仅提高了效率,而且减少了手工操作带来的误差风险。
这些步骤中包含许多小细节,如如何有效管理分页请求、怎样精确匹配两边字段、以及生成详尽日志帮助分析问题,这些都将在后续文章部分详细说明。但整体思路围绕着一个中心目标,即做到“快而稳”:快速完成大批量数据同步,同时保障实时性和准确性的双重需求。这就是这次技术集成方案中的核心宗旨——高效、可靠、一致。
调用旺店通·企业奇门接口wdt.stockout.order.query.trade获取并加工数据
在数据集成的生命周期中,调用源系统接口是至关重要的第一步。本文将深入探讨如何通过轻易云数据集成平台调用旺店通·企业奇门接口wdt.stockout.order.query.trade
来获取并加工数据。
接口概述
接口wdt.stockout.order.query.trade
主要用于查询销售出库单信息。该接口采用POST请求方式,通过传递一系列参数来实现对出库单数据的增量获取和过滤。
元数据配置解析
根据提供的元数据配置,我们可以看到以下关键字段和参数:
- api:
wdt.stockout.order.query.trade
- method:
POST
- number:
order_no
- id:
stockout_id
- idCheck:
true
这些字段定义了API的基本信息和调用方式。接下来,我们详细解析请求参数。
请求参数详解
请求参数分为两类:基础请求参数和其他请求参数。
-
基础请求参数
- start_time 和 end_time:用于增量获取数据,分别表示开始时间和结束时间。格式为
yyyy-MM-dd HH:mm:ss
。例如:{ "start_time": "{{LAST_SYNC_TIME|datetime}}", "end_time": "{{CURRENT_TIME|datetime}}" }
- status:表示订单状态,值为
110
表示已完成状态。 - src_order_no, src_tid, stockout_no:这些字段用于指定系统订单编号、原始单号和出库单号。
- shop_no 和 warehouse_no:分别表示店铺编号和仓库编号,用于区分不同店铺和仓库的数据。
- FSaleDeptID:销售部门,通过
ConvertObjectParser
进行转换。 - is_by_madified:时间查询条件,类型为整数。
- start_time 和 end_time:用于增量获取数据,分别表示开始时间和结束时间。格式为
-
其他请求参数
- page_size 和 page_no:用于分页控制,每页返回的数据条数和页号。例如:
{ "page_size": "{PAGINATION_PAGE_SIZE}", "page_no": "{PAGINATION_START_PAGE}" }
- page_size 和 page_no:用于分页控制,每页返回的数据条数和页号。例如:
条件过滤
元数据配置中还包含了条件过滤部分,用于进一步筛选数据:
"condition":[
[
{"field":"trade_type","logic":"in","value":"2,3,7,101,8"},
{"field":"shop_name","logic":"eqv2","value":"系统分销店铺ae89e42"}
]
]
这段配置表示仅查询交易类型为2、3、7、101、8,并且店铺名称为“系统分销店铺ae89e42”的记录。
数据处理与清洗
在获取到原始数据后,需要对其进行清洗和转换,以满足目标系统的要求。例如,可以使用轻易云平台内置的转换工具对字段进行格式化或映射处理。
以下是一个简单的数据清洗示例:
{
"fieldMappings": [
{"sourceField": "order_no", "targetField": "OrderNumber"},
{"sourceField": "stockout_id", "targetField": "StockOutID"},
{"sourceField": "shop_no", "targetField": "ShopNumber"},
{"sourceField": "warehouse_no", "targetField": "WarehouseNumber"}
]
}
通过这种方式,可以将源系统中的字段映射到目标系统所需的字段名称,并进行必要的数据转换。
实际应用案例
假设我们需要从旺店通中获取所有已完成状态的销售出库单,并将其导入到金蝶系统中。在轻易云平台上,我们可以配置如下:
- 配置API调用,设置必要的请求参数。
- 定义数据清洗规则,将源系统字段映射到目标系统字段。
- 设置分页控制,以确保能够处理大批量数据。
- 配置条件过滤,仅获取符合特定条件的数据。
通过以上步骤,可以实现从旺店通到金蝶系统的数据无缝对接,确保业务流程顺畅高效。
综上所述,通过合理配置元数据并利用轻易云平台强大的集成功能,可以高效地实现跨系统的数据集成,为企业业务提供有力支持。
使用轻易云数据集成平台将旺店通销售出库单转换并写入金蝶云星空API接口
在数据集成生命周期的第二步中,我们需要将已经集成的源平台数据进行ETL转换,转为目标平台金蝶云星空API接口所能够接收的格式,并最终写入目标平台。以下是详细的技术实现步骤和配置说明。
API接口配置
在轻易云数据集成平台中,我们使用batchSave
API接口进行数据写入操作。该接口通过POST方法提交请求,并执行批量保存操作。以下是具体的元数据配置:
{
"api": "batchSave",
"effect": "EXECUTE",
"method": "POST",
"idCheck": true,
"request": [
{
"field": "FBillTypeID",
"label": "单据类型",
"type": "string",
"describe": "单据类型",
"value": "_function CASE {trade_type} WHEN '2' THEN 'ZYD-017' WHEN '3' THEN 'ZYD-104' WHEN '7' THEN 'ZYD-105' WHEN '8' THEN 'ZYD-105' WHEN '101' THEN 'ZYD-103' END",
"parser": {
"name": "ConvertObjectParser",
"params": "FNUMBER"
}
},
{
"field": "FBillNo",
"label": "单据编号",
"type": "string",
"describe": "单据编号",
"value": "{order_no}"
},
{
"field": "FDate",
"label": "日期",
"type": "string",
"describe": "日期",
"value": "{consign_time}"
},
{
...
}
],
...
}
数据字段映射与转换
-
单据类型(FBillTypeID):
- 根据
trade_type
字段值进行条件判断,映射到相应的金蝶单据类型编码。 - 使用
ConvertObjectParser
解析器将映射值转换为金蝶系统所需的格式。
- 根据
-
单据编号(FBillNo):
- 直接映射源数据中的
order_no
字段。
- 直接映射源数据中的
-
日期(FDate):
- 映射源数据中的
consign_time
字段。
- 映射源数据中的
-
销售组织(FSaleOrgId):
- 根据
shop_no
字段值进行条件判断,映射到相应的销售组织编码。 - 使用
ConvertObjectParser
解析器进行格式转换。
- 根据
-
客户(FCustomerID):
- 映射源数据中的
fenxiao_nick
字段。 - 使用
ConvertObjectParser
解析器并指定参数为FNumber
,确保基础资料有效性。
- 映射源数据中的
-
发货组织(FStockOrgId):
- 同样根据
shop_no
字段值进行条件判断,映射到相应的发货组织编码。 - 使用相同的解析器进行转换。
- 同样根据
-
销售部门(FSaleDeptID):
- 映射源数据中的
fenxiao_nick
字段。 - 使用解析器和基础资料映射确保正确性。
- 映射源数据中的
子项数组配置
对于订单明细部分,我们使用子项数组配置:
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
{
...
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
}
操作参数配置
其他必要的操作参数包括:
FormId
: 固定值SAL_OUTSTOCK
Operation
: 固定值Save
IsAutoSubmitAndAudit
: 布尔值true
IsVerifyBaseDataField
: 布尔值true
SubSystemId
: 固定值21
IgnoreInterationFlag
: 固定值true
InterationFlags
: 固定值STK_InvCheckResult
这些参数确保了在提交数据时,系统会自动执行保存和审核操作,并验证所有基础资料的有效性,从而避免因基础资料不匹配导致的数据提交失败。
通过上述详细配置,我们可以高效地将旺店通销售出库单的数据转换为金蝶云星空API接口所能接收的格式,并成功写入目标平台。这不仅提升了业务流程的自动化程度,也确保了数据的一致性和准确性。