汤臣倍健营销云数据集成到金蝶云星辰V2案例分享
在企业运营中,数据孤岛会导致信息流的滞后和冗余。为了解决这一问题,我们通过轻易云数据集成平台,实现了汤臣倍健营销云的数据与金蝶云星辰V2系统的无缝对接。本次项目的具体方案是“退货入库-(Life-Space)广州闽康”。
首先,我们需要确保从汤臣倍健营销云获取的数据不漏单。这一步骤通过调用API接口/erp/api/order/query/saleReturnOrder
,以定时任务形式可靠地抓取销售退货订单数据。轻易云的数据处理能力允许我们对每一个接口请求进行实时监控和日志记录,从而保证所有步骤都透明可视。
为了应对大量的数据写入需求,通过批量处理技术将抓取到的销售退货订单高效快速地写入至金蝶云星辰V2的API /jdy/v2/scm/sal_in_bound
上。在这一过程中,需要特别注意两者之间的数据格式差异,为此定制了一套映射规则,将汤臣倍健营销云中的字段精确转换为适配金蝶系统所需格式。
分页和限流是API调用中的关键问题之一。我们利用平台的内置机制,对分页结果进行有效管理,并设置合理的限流参数,以避免因频繁访问导致服务异常。此外,对于可能出现的任何对接异常,建立了错误重试机制,确保最终所有数据能准确同步至目标系统。
综上,通过此次实际运行方案,不仅实现了两个系统间稳定、高效、透明的数据交互,还进一步提升了业务流程自动化程度以及整体效率。下一步将详细解析上述各个关键环节及其技术实现细节。
调用源系统汤臣倍健营销云接口获取并加工数据
在数据集成过程中,调用源系统的API接口是关键的一步。本文将详细探讨如何通过轻易云数据集成平台调用汤臣倍健营销云的/erp/api/order/query/saleReturnOrder
接口,获取并加工退货入库数据。
接口配置与请求参数
首先,我们需要配置元数据,以便正确调用API接口。以下是接口的基本配置信息:
- API路径:
/erp/api/order/query/saleReturnOrder
- 请求方法:
POST
- 请求类型:
QUERY
为了确保请求能够成功,我们需要提供一系列必填参数和可选参数。以下是具体的请求参数配置:
-
tenantId (经销商id):
- 类型:
string
- 描述: 经销商id(必填,营销云id),例如:34cc4109705e4c058b7b3b0352e57d31
- 示例值:
"xxx"
- 类型:
-
yxyNumber (营销云销售订单号):
- 类型:
string
- 描述: 如:YD1215710122031701,传此参数时,其他时间状态等条件无效
- 类型:
-
number (系统订单号):
- 类型:
string
- 描述: 如:XOUT0000000293,传此参数时,其他时间状态等条件无效
- 类型:
-
status (订单状态):
- 类型:
string
- 描述: 0:未审核 1:已审核(已出库)
- 默认值:
"1"
- 类型:
-
beginTime (开始时间):
- 类型:
string
- 描述: timeType为空或者0,基于创建时间查询;timeType为1,基于更新时间查询。格式:0000-00-00或0000-00-00 00:00:00。如果不传单号此字段必填
- 示例值:
"{{LAST_SYNC_TIME|datetime}}"
- 类型:
-
endTime (结束时间):
- 类型:
string
- 描述: timeType为空或者0,基于创建时间查询;timeType为1,基于更新时间查询。格式:0000-00-00或0000-00-00 00:00:00。如果不传单号此字段必填
- 示例值:
"{{CURRENT_TIME|datetime}}"
- 类型:
-
pageNo (页码):
- 类型:
string
- 描述: 默认1
- 默认值:
"1"
- 类型:
-
pageSize (每页条数):
- 类型:
string
- 描述: 默认30
- 默认值:
"30"
- 类型:
-
timeType (时间段标志):
- 类型:
string
- 描述: 查询时间段标识,0为创建时间(默认),1为最后更新时间
- 默认值:
"1"
- 类型:
数据请求与清洗
在完成元数据配置后,我们可以发起API请求以获取退货入库数据。在轻易云平台中,这一步骤通常通过一个自动化流程来实现,该流程会根据配置的元数据自动生成并发送HTTP POST请求。
收到响应后,需要对返回的数据进行清洗和处理。轻易云平台提供了自动填充响应的功能(autoFillResponse),这意味着我们可以直接使用返回的数据进行下一步处理,而无需手动解析和映射。
数据转换与写入
在清洗数据之后,需要将其转换为目标系统所需的格式,并写入目标数据库或系统。这一步骤通常包括以下几个子步骤:
- 字段映射:将源系统中的字段映射到目标系统中的对应字段。
- 数据转换:根据业务需求,对某些字段进行格式转换或计算。
- 数据验证:确保所有必要的数据都已正确提取和转换,并符合目标系统的要求。
- 写入操作:将处理后的数据写入目标数据库或通过API推送到目标系统。
实践案例
假设我们需要从汤臣倍健营销云中获取过去一天内所有已审核的退货订单,并将这些订单信息导入到我们的ERP系统中。我们可以按照以下步骤进行操作:
- 配置元数据,如上所示。
- 发起API请求,获取退货订单数据。
- 对返回的数据进行清洗和转换,将其格式化为ERP系统所需的结构。
- 验证并写入ERP系统。
通过这种方式,我们可以实现不同系统之间的数据无缝对接,提高业务流程的自动化程度和效率。
以上就是调用汤臣倍健营销云接口获取并加工退货入库数据的详细技术方案。在实际操作中,根据具体业务需求可能还需要进行更多定制化调整,但基本流程大致如此。
使用轻易云数据集成平台将源数据转换并写入金蝶云星辰V2API接口
在数据集成生命周期的第二阶段,我们需要将已经集成的源平台数据进行ETL转换,并转为目标平台金蝶云星辰V2 API接口所能够接收的格式,最终写入目标平台。本文将详细介绍如何配置元数据,以实现这一过程。
配置API接口元数据
首先,我们需要根据金蝶云星辰V2 API接口的要求,配置相应的元数据。以下是一个典型的API请求配置示例:
{
"api": "/jdy/v2/scm/sal_in_bound",
"effect": "EXECUTE",
"method": "POST",
"number": "id",
"id": "id",
"name": "id",
"idCheck": true,
"request": [
{
"field": "bill_source",
"label": "来源",
"type": "string",
"value": "ISV"
},
{
"field": "bill_date",
"label": "出库日期",
"type": "string",
"describe": "出库日期,格式:2019-01-01",
"value": "{{auditTime|date}}"
},
{
"field": "customer_id",
...
}
]
}
数据字段映射与转换
在配置中,每个字段都需要映射到源数据中的相应字段,并进行必要的转换。例如:
bill_date
字段需要从源数据中的auditTime
字段提取,并格式化为YYYY-MM-DD
格式。customer_id
字段通过_findCollection
方法从特定集合中查找对应的客户ID。
{
...
{
"field": "bill_date",
"label": "出库日期",
...
"value": "{{auditTime|date}}"
},
{
...
"_findCollection find id from c2313f31-6597-3ad7-8314-129e3cfa851a where number={extCusCode}"
}
}
商品分录处理
对于商品分录部分,我们需要处理一个数组,其中每个元素代表一个商品项。以下是商品分录部分的配置:
{
...
{
"field": "material_entity",
...
{
...
"_findCollection find id from 498e7562-ac4a-3ba3-a3bb-ccdacd6dc8f0 where number={extMaterialNo}"
},
{
...
"{{itemList.opernumber}}"
},
...
}
这里,我们通过 _findCollection
方法查找商品ID,并从 itemList
中提取数量、单价等信息。
自定义字段处理
有时我们需要添加一些自定义字段,以满足特定业务需求。例如:
{
...
{
...
{
...
"{number}"
}
}
}
完整请求示例
最终,我们将所有配置组合起来,形成完整的API请求示例:
{
...
{
...
"_findCollection find id from c2313f31-6597-3ad7-8314-129e3cfa851a where number={extCusCode}",
"{remark}-来自营销云-{number}",
"{shippingAddress}",
"{contacts}",
"{phone}",
...,
[
{
"_findCollection find id from 498e7562-ac4a-3ba3-a3bb-ccdacd6dc8f0 where number={extMaterialNo}",
...,
"{{itemList.opernumber}}",
...,
false,
...,
"{{itemList.lot}}",
...,
"{{itemList.mfg}}",
"{{itemList.exp}}"
}
],
{number}
]
}
}
通过上述步骤,我们可以确保源平台的数据经过ETL转换后,能够准确无误地写入金蝶云星辰V2 API接口。这不仅提高了数据处理的效率,也保证了数据的一致性和准确性。