旺店通·企业奇门数据集成到用友BIP的技术实践:退货入库对接YS销售出库(红字)-v
在零售和电商领域,订单管理与库存处理一度是企业信息化过程中最为关键的环节之一。在本次技术案例中,我们将详细介绍如何通过高效的数据集成,实现旺店通·企业奇门的数据与用友BIP系统之间的无缝对接。其中,退货入库对接YS销售出库(红字)-v方案将作为核心解决方案被剖析。本次集成的重点在于确保数据准确传输、快速写入以及实时监控。
具体来说,本案例主要涉及以下几项核心技术实现:
-
调用旺店通·企业奇门接口wdt.stockin.order.query.refund
我们需要从今日下单并且发生退货业务的数据中提取相关的信息。通过调用wdt.stockin.order.query.refund
接口,可以获取所需的订单详情及对应状态。这一步骤要求我们设置合理的分页机制,并妥善处理限流问题,以保障数据抓取过程中的稳定性。 -
批量集成数据到用友BIP
在成功获取并整理好旺店通·企业奇门的数据之后,需要利用API/yonbip/scm/salesout/mergeSourceData/save
将这些数据批量写入到用友BIP系统中。此处必须特别注意两个系统之间的数据格式差异,并进行必要的数据映射工作。此外,对于异常情况,必须有完善的错误重试机制来保证操作的一致性和可靠性。 -
定时可靠地抓取和快速写入
为了确保整体流程高效运作,我们使用了定时任务调度器来抓取旺店通·企业奇门接口中的最新订单。同时,通过优化数据库连接池及提高网络请求效率,大幅缩短了每一次大规模写入所需时间,从而提升整体性能。 -
实时监控与日志记录
实现全程透明监管对于业务至关重要。我们通过对每个步骤进行细粒度日志记录,以及搭建先进监控面板,对整个数据处理过程进行了全面、细致、实时地追踪,从而能够迅速识别出任何潜在问题,并即时进行调整和修复。 -
特殊需求下定制化适配
针对某些客户特定需求,用友BIP支持高度灵活的定制化映射规则,使得来自不同渠道多样化格式的数据都能顺利整合进统一的平台,加快决策响应速度并减少人为介入力度。
本文开篇仅以简要概述
调用源系统旺店通·企业奇门接口wdt.stockin.order.query.refund获取并加工数据
在数据集成的生命周期中,调用源系统接口获取原始数据是至关重要的一步。本文将详细探讨如何通过轻易云数据集成平台调用旺店通·企业奇门接口wdt.stockin.order.query.refund
,并对获取的数据进行初步加工。
接口调用配置
首先,我们需要配置接口调用的元数据。以下是针对wdt.stockin.order.query.refund
接口的具体配置:
{
"api": "wdt.stockin.order.query.refund",
"method": "POST",
"number": "order_no",
"id": "order_no",
"pagination": {
"pageSize": 50
},
"formatResponse": [
{
"old": "stockin_time",
"new": "stockin_time_new",
"format": "date"
}
],
"idCheck": true,
"request": [
{
"field": "start_time",
"label": "开始时间",
"type": "datetime",
"describe": "增量获取数据,start_time作为开始时间,格式:yyyy-MM-dd HH:mm:ss",
"value": "{{LAST_SYNC_TIME|datetime}}"
},
{
"field": "end_time",
"label": "结束时间",
"type": "datetime",
"describe": "增量获取数据,end_time作为结束时间,格式:yyyy-MM-dd HH:mm:ss",
"value": "{{CURRENT_TIME|datetime}}"
},
{
"field": "status",
"label": "状态",
"type": "string",
"describe":"入库单状态 10已取消20编辑中30待审核60待结算80已完成(默认查询80已完成单据)"
},
{
"field":"shop_no",
"label":"店铺编号",
“type":"string",
“describe":"代表店铺所有属性的唯一编码,用于店铺区分,ERP内支持自定义(ERP店铺界面设置),用于获取指定店铺单据数据信息"
}
],
“otherRequest”: [
{
“field”: “page_size”,
“label”: “分页大小”,
“type”: “string”,
“describe”:“每页返回的数据条数,输入值范围1~50,不传本参数,输入值默认为40,使用举例单击这里”,
“value”:“{PAGINATION_PAGE_SIZE}”
},
{
“field”:“page_no”,
“label”:“页号”,
“type”:“string”,
“describe”:“不传值默认从0页开始”,
“value”:“{PAGINATION_START_PAGE}”
}
]
}
请求参数说明
start_time
和end_time
: 用于增量获取数据。start_time
表示开始时间,而end_time
表示结束时间。这两个字段采用动态变量分别表示上次同步时间和当前时间。status
: 用于过滤入库单状态。默认查询状态为80,即已完成的单据。shop_no
: 店铺编号,用于区分不同店铺的数据。page_size
和page_no
: 分页参数,用于控制每次请求返回的数据条数和页码。
数据格式化与转换
在接收到原始数据后,需要对部分字段进行格式化处理。例如,将字段stockin_time
重命名为stockin_time_new
并转换为日期格式:
"formatResponse":[
{
“old”:“stockin_time”,
“new”:“stockin_time_new”,
“format”:“date”
}
]
这种格式化处理可以确保后续的数据处理和分析更加规范和一致。
数据请求与清洗
通过上述配置,我们可以发起HTTP POST请求来获取退货入库订单的数据。以下是一个示例请求:
{
“start_time”:“2023-01-01 00:00:00”,
“end_time”:“2023-01-31 23:59:59”,
“status”:“80”,
“shop_no”:“SHOP1234”,
“page_size”:50,
“page_no”:0
}
请求成功后,将返回包含退货入库订单信息的JSON响应。我们需要对响应中的数据进行清洗和转换,以便后续写入目标系统。
数据清洗示例
假设我们收到如下响应:
{
”orders":[
{
”order_no":"ORD12345",
”stockin_time":"2023-01-15T08:30:00Z"
},
...
]
}
我们需要将其中的stockin_time
字段转换为日期格式,并重命名为stockin_time_new
:
{
”orders":[
{
”order_no":"ORD12345",
”stockin_time_new":"2023-01-15"
},
...
]
}
通过上述步骤,我们成功地调用了旺店通·企业奇门接口并对返回的数据进行了初步加工。这些处理后的数据将为后续的数据转换与写入阶段提供坚实基础。
用友BIPAPI接口数据集成技术案例:退货入库对接YS销售出库(红字)
在轻易云数据集成平台中,完成数据请求与清洗后,我们需要将源平台的数据进行ETL转换,使其符合目标平台用友BIPAPI接口的要求,并最终写入目标平台。本文将详细探讨如何通过配置元数据,实现退货入库对接YS销售出库(红字)的数据集成。
API接口配置
我们使用的API接口为/yonbip/scm/salesout/mergeSourceData/save
,请求方法为POST。以下是具体的元数据配置:
{
"api": "/yonbip/scm/salesout/mergeSourceData/save",
"method": "POST",
"idCheck": true,
"request": [
{
"field": "mergeSourceData",
"label": "是否合并上游数据",
"type": "string",
"describe": "是否合并上游数据。值为true的话则sourceid:来源单据主表id,sourceautoid:来源单据行id,makeRuleCode:单据转换规则,_status:操作标识,不可为空。示例:true",
"value": "true"
},
{
"field": "vouchdate",
"label": "单据日期",
"type": "string",
"describe": "单据日期 示例:2020-11-30 00:00:00",
"value": "{{check_time|dateTime}}"
},
{
"field": "warehouse",
"label": "仓库id或编码",
"type": "string",
"describe": "仓库id或编码 示例:Z001",
"value": "_findCollection find ysOutWarehouse from fa193860-6aa8-37a8-b996-a856e9a8a96f where omsOutWarehouse={warehouse_no} shopNo={shop_no} mappingType=2"
},
{
...
}
],
...
}
数据字段解析
- mergeSourceData: 设置为
true
,表示需要合并上游数据,这意味着必须提供sourceid
、sourceautoid
、makeRuleCode
和_status
等字段。 - vouchdate: 单据日期,通过模板变量
{{check_time|dateTime}}
自动填充。 - warehouse: 仓库ID或编码,通过查找集合映射实现动态获取。
- bizFlow和bizFlow_version: 固定值,用于标识业务流程及其版本。
- code: 单据编号,可以通过模板变量如
{order_no}
动态生成。 - bustype: 交易类型ID或编码,示例中固定为
A30001
。
子表字段配置
子表字段主要包括数量、来源单据主表ID、来源单据行ID等:
- qty: 数量,通过函数
_function {{details_list.goods_count}}*(-1)
实现负数转换,以适应红字退货场景。 - sourceid: 来源单据主表ID,通过
_findCollection find new_id from ... where code={src_order_no}
动态获取。 - sourceautoid: 来源单据行ID,通过
_mongoQuery ... findField=content.new_saleReturnDetailId where=...
动态查询。 - batchno 和 goodsposition: 如果仓库开启批次管理和货位管理,则必填。
- makeRuleCode: 单据转换规则,固定为
salereturnTosalesout
表示退货单生成销售出库。 - _status: 操作标识,固定为
Insert
表示新增操作。
数据转换与写入
在轻易云平台中,我们可以通过以下步骤实现数据转换与写入:
- 定义ETL规则,将源平台的数据字段映射到目标平台的字段中。
- 使用模板变量和函数实现动态值填充和计算,例如数量的负数转换和日期格式化。
- 配置API请求参数,包括主表和子表字段,以及必要的关联查询和映射规则。
通过上述配置,我们可以确保源平台的退货入库数据经过ETL处理后,能够准确无误地写入用友BIP系统,实现不同系统间的数据无缝对接。这不仅提升了数据处理效率,也保证了业务流程的连续性和一致性。