旗舰-旺店通-销售出库单——>金蝶-销售出库单
在复杂的企业运营中,系统间的数据集成至关重要。本文将分享一个实际案例:如何通过轻易云数据集成平台,将旺店通·旗舰奇门中的销售出库单高效、稳定地对接到金蝶云星空中。
为了实现这一目标,我们主要采用了两大API接口:从旺店通·旗舰奇门获取数据的 wdt.wms.stockout.sales.querywithdetail
和将数据批量写入到金蝶云星空的 batchSave
。整个集成流程涉及多个关键技术环节,包括确保不漏单、大量数据快速写入以及处理分页和限流问题等。
首先,我们需要解决的是如何调用并抓取旺店通·旗舰奇门接口 wdt.wms.stockout.sales.querywithdetail
的数据信息。这一过程不仅要求我们定时可靠地获取最新数据,还需要应对大量数据信息进行高效处理。为此,通过配置API请求参数,合理设置时间间隔和分页策略,以确保所有销售出库单能够按时且完整地被抓取。
其次是如何优化这些抓取的数据,在这个过程中,要特别注意两点。一方面,要解决原始数据格式与目标系统之间存在的差异,需要通过自定义映射规则,将不同字段内容准确转换匹配;另一方面,还要设计合适的数据清洗规则,过滤掉无效或重复的信息,提高整体集成效率。
最后,当所有准备工作完成后,即可利用Goldwind Cloud提供的批量保存功能,实现向金蝶云星空批量高速写入。同时,为保障整个过程中不会出现意外,中途还需加入实时监控与日志记录机制,一旦发生错误,则需触发相应重试机制来恢复进程,保证最终业务连续性及正确性。
以上是本次技术案例开端部分简单概述。在下文中,我们会详细探讨各个具体步骤、配置方法以及所涉及的重要技术细节,从而帮助大家更好理解并实践这一经典场景应用方案。
调用旺店通·旗舰奇门接口获取并加工数据
在数据集成过程中,调用源系统接口是至关重要的一步。本文将详细探讨如何通过轻易云数据集成平台调用旺店通·旗舰奇门接口 wdt.wms.stockout.sales.querywithdetail
获取销售出库单数据,并进行必要的数据加工。
接口调用配置
首先,我们需要配置接口调用的元数据。根据提供的元数据配置,接口使用 POST
方法,主要参数包括分页参数和业务参数。
{
"api": "wdt.wms.stockout.sales.querywithdetail",
"method": "POST",
"number": "order_no",
"id": "stockout_id",
"idCheck": true,
"formatResponse": [
{
"old": "consign_time",
"new": "short_date",
"format": "date"
}
],
"request": [
{
"field": "pager",
"label": "分页参数",
"type": "object",
"children": [
{
"field": "page_size",
"label": "分页大小",
"type": "string",
"value": "200",
"parent": "pager"
},
{
"field": "page_no",
"label": "页号",
"type": "string",
"value": "1",
"parent": "pager"
}
]
},
{
"field": "params",
...
}
],
...
}
请求参数解析
请求参数分为分页参数和业务参数两部分:
-
分页参数:
page_size
: 每页返回的数据条数,默认值为200。page_no
: 当前页码,默认值为1。
-
业务参数:
start_time
和end_time
: 查询的时间范围,这里使用了动态变量{{DAYS_AGO_1|date}}
来表示前一天的日期。status_type
: 出库单状态,默认值为0。warehouse_no
,stockout_no
,shop_nos
,src_order_no
,need_sn
,position
: 分别表示仓库编码、出库单编号、店铺编号(多个店铺编号使用英文逗号分隔)、销售订单号、是否返回SN信息、是否按照货位排序等。
数据格式化与转换
在获取到原始数据后,需要对其进行格式化和转换。例如,将字段 consign_time
转换为新的字段名 short_date
并格式化为日期类型:
"formatResponse":[
{
...
{
...
{
...
{
...
}
}
}
}
]
数据过滤与条件设置
为了确保数据的准确性和有效性,可以设置条件过滤。例如,通过条件过滤排除特定店铺编号的数据:
"condition_bk":[
[
{
...
}
]
]
在这个例子中,我们排除了编号为 "29,76,28,33,40,37,38,36,DADAN004,DADAN003,DADAN001,DADAN002"
的店铺。
实际操作步骤
- 配置请求元数据:在轻易云平台上,根据上述配置创建一个新的API调用任务。
- 发送请求:通过POST方法发送请求,获取销售出库单的详细信息。
- 处理响应:对响应数据进行格式化和转换,将字段名从
consign_time
改为short_date
并格式化为日期类型。 - 应用过滤条件:根据设定的条件过滤掉不需要的数据,例如特定店铺编号的数据。
- 存储与后续处理:将处理后的数据写入目标系统(如金蝶),完成整个数据集成过程的第一步。
通过以上步骤,我们可以高效地从旺店通·旗舰奇门接口获取并加工销售出库单数据,为后续的数据转换与写入打下坚实基础。
使用轻易云数据集成平台实现销售出库单ETL转换并写入金蝶云星空API接口
在数据集成的生命周期中,将源平台的数据转换为目标平台可接受的格式是关键步骤。本文将详细探讨如何利用轻易云数据集成平台,将旗舰-旺店通的销售出库单数据进行ETL转换,并通过金蝶云星空API接口写入目标平台。
数据请求与清洗
在数据请求与清洗阶段,我们已经从源系统(如旺店通)获取了原始数据。接下来,我们需要将这些数据转换为金蝶云星空API能够接收的格式。
数据转换与写入
我们将重点关注如何配置元数据,以便将清洗后的数据正确地映射并写入金蝶云星空。以下是具体的元数据配置和解析:
{
"api": "batchSave",
"effect": "EXECUTE",
"method": "POST",
"idCheck": true,
"request": [
{
"field": "FBillTypeID",
"label": "单据类型",
"type": "string",
"describe": "单据类型",
"parser": {
"name": "ConvertObjectParser",
"params": "FNumber"
},
"value": "XSCKD01_SYS"
},
{
"field": "FBillNo",
"label": "单据编号",
"type": "string",
"describe": "单据编号"
},
{
"field": "FDate",
"label": "日期",
...
}
],
...
}
核心字段解析与映射
-
单据类型(FBillTypeID):
- 类型:字符串
- 描述:单据类型
- 转换器:
ConvertObjectParser
,参数为FNumber
- 值:
XSCKD01_SYS
-
单据编号(FBillNo):
- 类型:字符串
- 描述:单据编号
-
日期(FDate):
- 类型:字符串
- 描述:日期
- 值:
{short_date} 00:00:00
-
销售组织(FSaleOrgId):
- 类型:字符串
- 描述:组织
- 转换器:
ConvertObjectParser
,参数为FNumber
- 值:
101
-
客户(FCustomerID):
- 类型:字符串
- 描述:基础资料
- 转换器:
ConvertObjectParser
,参数为FNumber
- 值:
"_mongoQuery 3c9b5a58-0a09-3ae7-b7ea-20fbf5f16fa3 findField=content.FNumber where={\"content.FName\":{\"$eq\":\"{shop_name}\"}}"
-
旺店通备注(F_TBIK_WDTBZ):
- 类型:字符串
- 描述:多行文本
- 值:
{shop_name}-{warehouse_no}-{short_date}
明细信息配置
明细信息是一个数组,包含多个字段:
-
物料编码(FMaterialID):
- 类型:字符串
- 描述:基础资料
- 转换器:
ConvertObjectParser
,参数为FNumber
- 值:
{details_list_spec_no}
-
实发数量(FRealQty):
- 类型:字符串
- 描述:数量
- 值:
"_function round('{details_list_goods_count}',0)"
-
含税单价(FTaxPrice):
- 类型:字符串
- 描述:单价
- 值:
"_function '{details_list_paid}'/round('{details_list_goods_count}',0)"
-
仓库(FStockID):
- 类型:字符串
- 描述:基础资料
- 转换器:
ConvertObjectParser
,参数为FNumber
- 值:
{warehouse_no}
执行操作配置
其他请求和操作配置如下:
{
...
{"field":"FormId","label":"业务对象表单Id","type":"string","describe":"必须填写金蝶的表单ID如:PUR_PurchaseOrder","value":"SAL_OUTSTOCK"},
{"field":"Operation","label":"执行的操作","type":"string","describe":"执行的操作","value":"Save"},
{"field":"IsAutoSubmitAndAudit","label":"提交并审核","type":"bool","describe":"提交并审核","value":"false"},
{"field":"IsVerifyBaseDataField","label":"验证基础资料","type":"bool","describe":"是否验证所有的基础资料有效性,布尔类,默认false(非必录)","value":"true"},
{"field":"SubSystemId","label":"系统模块","type":"string","describe":"默认仓库模块","value":"21"}
}
通过上述配置,我们可以确保从源系统获取的数据经过ETL转换后,能够准确无误地写入到金蝶云星空系统中。这种高效的数据集成方式,不仅提升了业务透明度和效率,还确保了各个环节的数据准确性和一致性。