用友BIP数据集成到旺店通·企业奇门:YS其他入库单对接旺店通其他入库单(云仓)
在实施用友BIP与旺店通·企业奇门的系统对接中,确保数据不漏单和快速、准确地传输至关重要。本案例将重点分享如何通过轻易云数据集成平台实现用友BIP的YS其他入库单
无缝对接到旺店通的其他入库单(云仓)
。
首先,我们需要从用友BIP获取相关的数据。使用其提供的API接口 /yonbip/scm/othinrecord/list
可以高效地抓取所需数据。为了保证定时可靠的数据抽取,可以设置合理的任务调度,从而避免信息延迟或遗漏。在处理大量数据时,我们还必须注意分页和限流问题,通过合适的策略确保每次请求都能稳定返回完整的数据集。
与此同时,转化这些获取的数据符合旺店通·企业奇门要求也是关键一步。两者之间可能存在格式差异,因此我们利用平台内置的数据映射功能,实现定制化转换。例如,将不同字段名进行匹配,以及处理必要的单位转换等,这样才能保证后续业务逻辑正常运作。
成功完成数据转换后,就可以调用 wdt.vip.wms.stockinout.order.push
接口将处理后的记录批量写入到旺店通系统。这一过程中,还需特别关注错误重试机制,以应对网络波动或突发异常情况;同时,实时监控及日志记录也必不可少,有助于及时发现并解决潜在问题。
综上所述,本案例旨在展示如何利用大规模、自动化且高效的方法来实现两个复杂系统间顺畅、安全的数据交互,并为未来类似项目建立可复制范式。在以下章节中,我们将详细探讨这一过程中的每一个技术细节与实际操作步骤。
用友BIP接口/yonbip/scm/othinrecord/list调用与数据加工
在数据集成生命周期的第一步中,调用源系统接口获取数据是至关重要的环节。本文将深入探讨如何通过轻易云数据集成平台调用用友BIP接口/yonbip/scm/othinrecord/list
,并对获取的数据进行加工处理。
接口调用配置
首先,我们需要配置API接口的元数据,以便正确地请求和处理数据。以下是元数据配置的关键部分:
{
"api": "/yonbip/scm/othinrecord/list",
"method": "POST",
"number": "code",
"id": "othInRecords_id",
"idCheck": true,
"formatResponse": [
{"old": "id", "new": "new_id", "format": "string"},
{"old": "warehouse", "new": "new_warehouse", "format": "string"},
{"old": "othInRecords_id", "new": "new_othInRecords_id", "format": "string"}
],
...
}
该配置指定了API的路径、请求方法以及响应数据的格式化规则。例如,将响应中的id
字段重命名为new_id
,并将其格式化为字符串类型。
请求参数设置
为了有效地从用友BIP系统中获取所需的数据,我们需要设置请求参数。这些参数包括分页信息、查询条件等。以下是部分请求参数的定义:
{
"request": [
{"field":"pageIndex","label":"页码","type":"string","describe":"例:1 默认值:1","value":"1"},
{"field":"pageSize","label":"每页数","type":"string","describe":"例:10 默认值:10","value":"500"},
{"field":"isSum","label":"查询表头","type":"string","describe":"例:false 默认值:false"},
{"field":"code","label":"单据编码","type":"string"},
{"field":"open_vouchdate_begin","label":"开始日期","type":"string"},
{"field":"open_vouchdate_end","label":"结束日期","type":"string"},
...
]
}
这些参数允许我们灵活地控制API请求,例如通过设置pageIndex
和pageSize
来分页获取数据,通过设置日期范围来过滤特定时间段的数据。
查询条件构建
除了基本的请求参数外,我们还可以通过复杂的查询条件来精确筛选数据。例如,可以使用以下条件来过滤掉某些特定组织的数据:
{
"simpleVOs": {
...
{
"field3":{
"field":"org",
"op":"neq",
"value1":"1553156871271481351"
}
}
}
}
该条件表示排除组织ID为1553156871271481351
的数据。
数据格式化与转换
在成功获取到原始数据后,我们需要对其进行格式化和转换,以便后续处理。例如,通过以下配置将原始字段名转换为新的字段名,并确保其格式正确:
{
"formatResponse":[
{"old": "id", "new": "new_id", "format": "string"},
{"old": "warehouse", "new": "new_warehouse", "format": "string"},
{"old": "othInRecords_id", new: new_othInRecords_id, format: string}
]
}
这种格式化不仅提高了数据的一致性,还简化了后续的数据处理步骤。
实际案例应用
假设我们需要从用友BIP系统中获取某个时间段内所有其他入库单,并将其对接到旺店通系统。我们可以按照上述步骤配置API调用和请求参数,然后通过轻易云平台实现自动化的数据提取和转换。
例如,设置查询条件以获取最近一次同步后的所有记录:
{
...
{
field2:{
field:"auditTime",
op:"egt",
value1:"{{LAST_SYNC_TIME|datetime}}"
}
}
}
该条件确保只获取自上次同步以来的新记录,从而避免重复处理。
通过这些步骤,我们可以高效地调用用友BIP接口,提取并加工所需的数据,为后续的集成工作打下坚实基础。
利用轻易云数据集成平台实现ETL转换并写入旺店通·企业奇门API接口
在数据集成的生命周期中,第二步是将已经集成的源平台数据进行ETL(提取、转换、加载)处理,并将其转化为目标平台所能接收的格式。本文将深入探讨如何利用轻易云数据集成平台,将源平台的数据转换为旺店通·企业奇门API接口所需的格式,并最终写入目标平台。
数据请求与清洗
在数据请求与清洗阶段,我们从源系统获取原始数据,并进行必要的数据清洗和预处理。这一步骤确保了后续的数据转换和写入过程能够顺利进行。假设我们已经完成了这一步,接下来我们重点关注如何将清洗后的数据进行ETL转换,并通过API接口写入目标系统。
数据转换与写入
为了实现数据的无缝对接,我们需要根据旺店通·企业奇门API接口的要求,对源数据进行结构化处理。以下是具体的元数据配置:
{
"api": "wdt.vip.wms.stockinout.order.push",
"effect": "EXECUTE",
"method": "POST",
"idCheck": true,
"operation": {
"method": "merge",
"field": "new_warehouse,code",
"bodyName": "details",
"bodySum": ["othInRecords_qty"],
"header": ["new_warehouse", "omsInWarehouse", "code", "memo", "bustype_name"],
"body": ["othInRecords_product_cCode", "othInRecords_qty", "othInRecords_memo"]
},
"request": [
{"field": "api_outer_no", "label": "外部单号", "type": "string", "describe": "外部单号", "value": "{code}"},
{"field": "warehouse_no", "label": "仓库编码", "type": "string", "describe": "仓库编码", "value": "{omsInWarehouse}"},
{"field": "order_type", "label": "出入类型", "type": "string",
"describe":"可选值:1(出库);2(入库)","value":"2"},
{"field":"remark","label":"备注","type":"string","describe":"备注","value":"YS{bustype_name}-{memo}"},
{"field":"auto_check","label":"是否审核","type":"string","describe":"是否审核","value":"1"},
{"field":"goods_list","label":"货品明细节点","type":"array","describe":"货品明细节点","value":"details",
"children":[
{"field":"spec_no","label":"商家编码","type":"string","describe":"商家编码","value":"{{details.othInRecords_product_cCode}}"},
{"field":"num","label":"入库数量","type":"string","describe":"入库数量","value":"{{details.othInRecords_qty}}"},
{"field":"price","label":"原价","type":"string","describe":"原价"},
{"field":"remark","label":"备注","type":"string","value":"{{details.othInRecords_memo}}"}
]
}
],
...
}
配置解析与应用
-
API接口配置:
api
: 指定了要调用的旺店通·企业奇门API接口wdt.vip.wms.stockinout.order.push
。method
: 使用HTTP POST方法发送请求。idCheck
: 启用ID检查以确保唯一性。
-
操作配置:
method
: 使用合并操作(merge)。field
: 指定合并字段new_warehouse, code
。bodyName
: 指定明细节点名称details
。bodySum
: 对数量字段othInRecords_qty
进行求和操作。header
和body
: 定义了头部和明细部分需要包含的字段。
-
请求参数:
api_outer_no
,warehouse_no
,order_type
,remark
,auto_check
, 和goods_list
:这些字段对应于API接口所需的参数,其中一些字段使用占位符从源数据中提取相应值。
-
货品明细节点配置:
- 在
goods_list
节点下,定义了具体的子字段,如商家编码、入库数量、原价和备注等,这些子字段从源数据中的相应字段映射而来。
- 在
实际应用案例
假设我们有以下源数据:
{
“new_warehouse”: “WH001”,
“omsInWarehouse”: “WMS001”,
“code”: “ORD12345”,
“memo”: “测试订单”,
“bustype_name”: “普通入库”,
“details”: [
{
“othInRecords_product_cCode”: “P001”,
“othInRecords_qty”: 10,
“othInRecords_memo”: “无”
},
{
“othInRecords_product_cCode”: “P002”,
“othInRecords_qty”: 20,
“othInRecords_memo”: “无”
}
]
}
经过ETL转换后,生成的请求体如下:
{
“api_outer_no”: “ORD12345”,
“warehouse_no”: “WMS001”,
“order_type”: ”2”,
”remark“: ”YS普通入库-测试订单“,
”auto_check“: ”1“,
”goods_list“: [
{
”spec_no“: ”P001“,
”num“: ”10“,
”price“: “”,
”remark“: ”无“
},
{
”spec_no“: ”P002“,
”num“: ”20“,
”price“: “”,
”remark“: ”无“
}
]
}
通过上述配置和实际应用案例,我们可以看到,轻易云数据集成平台能够有效地将源平台的数据转换为旺店通·企业奇门API接口所需的格式,并通过HTTP POST方法成功写入目标系统。这种自动化和标准化的数据处理方式,大大提升了业务流程的效率和准确性。