案例分享:销售出库单同步-销货单
在与企业进行系统对接集成的过程中,我们遇到了一个典型的案例,即通过轻易云数据集成平台,将旺店通·企业奇门的数据高效地同步到畅捷通T+系统。该方案主要集中在销售出库单的实时抓取、处理和写入,具体实现路径为"销售出库单同步-销货单--ok"。
首先,需要确保从旺店通·企业奇门接口(wdt.stockout.order.query.trade)获取的数据不会出现漏单现象。这要求我们能够定时可靠地抓取接口数据,并且每次都能完整地获取所有需要的信息。为此,针对接口的分页和限流问题,我们设计了专业化的处理机制,以确保每个请求均能成功获取所需的数据。
其次,在批量将数据写入畅捷通T+(/tplus/api/v2/saleDelivery/Create)时,又如何避免性能瓶颈呢?我们的解决方案是利用轻易云数据集成平台中提供的大量并发支持,实现大量数据快速写入,从而极大提升整体效率。当然,前提是要先解决两端系统之间的数据格式差异,这是通过自定义映射规则来完成的。
此外,为了应对实际运行中的异常情况,我们实施了一套完善的错误重试机制。如果在向畅捷通T+传输数据时发生错误,该机制会自动检测并重新尝试上传直至成功。而这一切操作,无论从透明度还是可视化管理上,都得到了充分保障,使技术团队能够实时监控整个流程,并借助详细日志记录及时排查潜在故障点。
这仅是冰山一角,更深入的一步步配置与调优将在后文详细展开。在面对各种复杂业务场景下,这种整合方式不仅有效,而且极具适用性和扩展空间。
调用源系统旺店通·企业奇门接口wdt.stockout.order.query.trade获取并加工数据
在数据集成的生命周期中,调用源系统接口获取数据是至关重要的一步。本文将详细探讨如何通过轻易云数据集成平台调用旺店通·企业奇门接口wdt.stockout.order.query.trade
,并对获取的数据进行初步加工。
接口调用配置
首先,我们需要配置调用接口的元数据。以下是针对wdt.stockout.order.query.trade
接口的详细配置:
- API名称:
wdt.stockout.order.query.trade
- 请求方法:
POST
- 作用: 查询(QUERY)
- 主键字段:
stockout_id
- 唯一标识字段:
order_no
请求参数配置如下:
-
开始时间(start_time)
- 类型:datetime
- 描述:增量获取数据的开始时间,格式为
yyyy-MM-dd HH:mm:ss
- 示例值:
{{LAST_SYNC_TIME|datetime}}
-
结束时间(end_time)
- 类型:datetime
- 描述:增量获取数据的结束时间,格式为
yyyy-MM-dd HH:mm:ss
- 示例值:
{{CURRENT_TIME|datetime}}
-
状态(status)
- 类型:string
- 描述:订单状态,如5已取消,55已审核,95已发货,105部分打款,110已完成,113异常发货
- 示例值:
95,110
-
系统订单编号(src_order_no)
- 类型:string
- 描述:系统订单编号
-
原始单号(src_tid)
- 类型:string
- 描述:原始单号
-
出库单号(stockout_no)
- 类型:string
- 描述:出库单号
-
店铺编号(shop_nos)
- 类型:string
- 描述:代表店铺所有属性的唯一编码,用于区分店铺
- 示例值:
01,05
-
仓库编号(warehouse_no)
- 类型:string
- 描述:代表仓库所有属性的唯一编码,用于区分仓库
分页参数配置如下:
-
分页大小(page_size)
- 类型:string
- 描述:每页返回的数据条数,范围1~100,不传默认40
- 示例值:
100
-
页号(page_no)
- 类型:string
- 描述:不传值默认从0页开始
- 示例值:
{PAGINATION_START_PAGE}
数据请求与清洗
在配置好元数据后,我们可以通过轻易云平台发送POST请求到旺店通·企业奇门接口以获取销售出库单的数据。以下是一个典型的请求示例:
{
"start_time": "2023-01-01 00:00:00",
"end_time": "2023-01-31 23:59:59",
"status": "95,110",
"shop_nos": "01,05",
"warehouse_no": "WH001",
"page_size": "100",
"page_no": "0"
}
接收到响应后,我们需要对数据进行清洗和初步加工。这一步通常包括以下几个方面:
-
字段映射与转换: 将源系统中的字段映射到目标系统所需的字段。例如,将
stockout_id
映射为目标系统中的唯一标识。 -
数据过滤: 根据业务需求过滤掉不必要的数据。例如,只保留状态为已发货和已完成的订单。
-
增量更新: 使用开始时间和结束时间参数实现增量更新,以避免重复处理已经同步过的数据。
自动填充响应
轻易云平台支持自动填充响应功能,可以根据预定义的规则自动将响应中的数据填充到目标系统中。这一步骤大大简化了数据处理流程,提高了效率。
条件逻辑处理
在实际应用中,我们可能需要根据不同条件处理不同的数据。例如,根据店铺编号区分不同店铺的数据处理逻辑。以下是一个条件逻辑处理示例:
"condition_bk": [
[{"field":"shop_no","logic":"eqv2","value":"01"}],
[{"field":"shop_no","logic":"eqv2","value":"05"}]
]
通过上述配置,可以实现对不同店铺的数据进行分别处理,从而满足复杂业务场景下的数据集成需求。
综上所述,通过合理配置元数据并利用轻易云平台强大的数据处理能力,我们可以高效地调用旺店通·企业奇门接口获取销售出库单数据,并对其进行清洗和初步加工,为后续的数据转换与写入奠定坚实基础。
使用轻易云数据集成平台实现销售出库单同步到畅捷通T+API接口
在数据集成的生命周期中,ETL(提取、转换、加载)是关键的一环。本文将详细探讨如何利用轻易云数据集成平台,将已经集成的源平台数据进行ETL转换,并转为畅捷通T+API接口所能够接收的格式,最终写入目标平台。
1. 配置元数据
首先,我们需要配置元数据以匹配畅捷通T+API接口的要求。以下是元数据配置示例:
{
"api": "/tplus/api/v2/saleDelivery/Create",
"effect": "EXECUTE",
"method": "POST",
"idCheck": true,
"request": [
{"field":"Code","label":"单据编码","type":"string","describe":"如果设置了自动编号,可不传;如果设置的手动编码,必录","value":"{order_no}"},
{"field":"VoucherDate","label":"单据日期","type":"string","describe":"默认系统日期","value":"{{consign_time|date}}"},
{"field":"ExternalCode","label":"外部系统单据编码","type":"string","describe":"编码必须唯一,且此字段不为空","value":"{order_no}-{warehouse_no}"},
{"field":"BusinessType","label":"业务类型","type":"string","describe":"业务类型编码,15–普通销售;16–销售退货","parser":{"name":"ConvertObjectParser","params":"Code"},"value":"15"},
{"field":"Customer","label":"客户","type":"string","describe":"PartnerDTO对象;举例:Customer:{Code:\"001\"}","parser":{"name":"ConvertObjectParser","params":"Code"},"value":"{shop_no}"},
{"field":"Warehouse","label":"仓库","type":"string","describe":"WarehouseDTO对象。\n\n业务流程为合并流程时,必录;开启了负库存校验(不管是控制还是提示),必录;","parser":{"name":"ConvertObjectParser","params":"Code"},"value":"{warehouse_no}"},
{"field":"RdStyle","label":"出库类别","type":"string","describe":"RdStyleDTO对象,默认为“线上销售”类别;举例:RdStyle:{Code:\"001\"}","parser":{"name":"ConvertObjectParser","params":"Code"},"value":"201"},
{"field":"Address","label":"送货地址","type": "string", "describe": "1、送货地址 \n\n2、作为T+系统会员档案的买家的送货地址 \n\n3、可空,为空时,会员档案通讯地址不为空时,取会员档案通讯地址。", "value": "{receiver_address}"},
{"field": "Memo", "label": "备注", "type": "string", "describe": "备注", "value": "{cs_remark}"},
{"field": "TransDocNo", "label": "运单号", "type": "string", "describe": "运单号", "value": "{logistics_no}"},
{"field": "DeliveryCode", "label": "发货单号", "type": "string", "describe": "发货单号", "value": "{logistics_no}"},
{"field": "IsAutoGenerateSaleOut", "label": "是否自动销售出库单", "type": "string", "value": true},
{"field":
![钉钉与CRM系统接口开发配置](https://pic.qeasy.cloud/T19.png~tplv-syqr462i7n-qeasy.image)