汤臣倍健营销云与金蝶云星辰V2的数据集成实战
案例分享:汤臣倍健营销云数据集成到金蝶云星辰V2
在本案例中,我们将详细探讨如何通过轻易云数据集成平台,实现汤臣倍健营销云的数据高效对接到金蝶云星辰V2系统,具体方案为“退货入库-(佰嘉)广州玛祖”。这一过程不仅需要处理大量的业务数据,还需确保数据的准确性和实时性。
首先,汤臣倍健营销云提供了丰富的API接口,其中包括用于获取退货订单数据的/erp/api/order/query/saleReturnOrder
。为了保证数据不漏单,我们采用定时可靠的抓取机制,从该接口定期拉取最新的退货订单信息。与此同时,通过轻易云平台强大的高吞吐量数据写入能力,这些订单数据能够快速且批量地写入到金蝶云星辰V2系统中的/jdy/v2/scm/sal_in_bound
接口。
在整个集成过程中,集中监控和告警系统发挥了重要作用。它实时跟踪每个数据集成任务的状态和性能,确保任何异常情况都能被及时发现并处理。此外,为了应对分页和限流问题,我们设计了一套灵活的数据抓取策略,使得每次请求都能最大化利用API资源,而不会触发限流机制。
另一个关键点是处理两大平台之间的数据格式差异。通过自定义的数据转换逻辑,我们能够将汤臣倍健营销云的数据结构无缝映射到金蝶云星辰V2所需的格式。这不仅提高了数据传输效率,也减少了后续人工干预的需求。
最后,为确保整个流程透明可控,我们利用轻易云平台提供的可视化数据流设计工具,对整个集成过程进行了直观管理。从源头抓取、转换到目标写入,每一步都清晰明了,大大提升了项目实施效率和成功率。
通过上述技术手段,本案例实现了汤臣倍健营销云与金蝶云星辰V2之间高效、稳定的数据对接,为企业业务运营提供了坚实的数据支撑。
调用汤臣倍健营销云接口获取并加工数据
在轻易云数据集成平台的生命周期中,第一步是调用源系统汤臣倍健营销云接口/erp/api/order/query/saleReturnOrder
来获取退货订单数据,并进行初步的数据清洗和加工。这一步骤至关重要,因为它直接影响到后续的数据转换与写入过程。
接口调用配置
为了成功调用汤臣倍健营销云的API,我们需要配置以下元数据:
{
"api": "/erp/api/order/query/saleReturnOrder",
"effect": "QUERY",
"method": "POST",
"number": "number",
"id": "id",
"idCheck": true,
"request": [
{"field":"tenantId","label":"经销商id","type":"string","describe":"经销商id(必填,营销云id)如:34cc4109705e4c058b7b3b0352e57d31","value":"xxx"},
{"field":"yxyNumber","label":"营销云销售订单号","type":"string","describe":"如:YD1215710122031701,传此参数时,其他时间状态等条件无效"},
{"field":"number","label":"系统订单号","type":"string","describe":"如:XOUT0000000293,传此参数时,其他时间状态等条件无效"},
{"field":"status","label":"订单状态","type":"string","describe":"0:未审核 1:已审核(已出库)", "value": "1"},
{"field":"beginTime","label":"开始时间", "type": "string", "describe": "timeType为空或者0,基于创建时间查询,timeType为1,基于更新时间查询,格式:0000-00-00或0000-00-00 00:00:00,如果不传单号此字段必填", "value": "{{LAST_SYNC_TIME|datetime}}"},
{"field":"endTime", "label": "结束时间", "type": “string”, “describe”: “timeType为空或者0,基于创建时间查询,timeType为1,基于更新时间查询,格式:0000-00-00或0000-00-00 00:00:00,如果不传单号此字段必填”, “value”: “{{CURRENT_TIME|datetime}}”},
{"field”:”pageNo”, ”label”: ”页码”, ”type”: ”string”, ”describe”: ”默认1”, ”value”:”1”},
{“field”:”pageSize”, ”label”:”每页条数”,”type”:”string”,”describe”:”默认30”,”value”:"30"},
{“field”:"timeType","label":"时间段标志","type":"string","describe":"查询时间段标识,0:创建时间(默认),1:最后更新时间","value":"1"}
],
“autoFillResponse”:true
}
数据请求与清洗
在配置好元数据后,通过POST方法向API发送请求。请求参数包括经销商ID、订单状态、开始和结束时间等,这些参数确保我们能够精确地获取所需的退货订单数据。
分页处理
由于可能存在大量的退货订单数据,我们需要处理分页问题。通过设置pageNo
和pageSize
参数,可以逐页获取数据,从而避免一次性拉取过多数据导致性能问题。
时间过滤
使用beginTime
和endTime
参数可以实现对特定时间段内的数据进行过滤。这样可以确保我们只获取最近更新或创建的退货订单,提高了数据处理的效率。
数据质量监控与异常检测
在获取到原始数据后,需要进行初步的数据清洗和质量监控。通过检查返回结果中的关键字段,如订单ID、状态等,可以及时发现并处理异常情况。例如,如果某个字段缺失或格式不正确,应立即记录日志并触发告警机制,以便快速响应和修正。
自定义转换逻辑
根据业务需求,可以对原始数据进行自定义转换。例如,将日期格式统一转换为标准格式,将金额字段从字符串类型转换为数值类型等。这些操作可以通过轻易云平台提供的可视化工具来完成,使得整个过程更加直观和易于管理。
实时监控与日志记录
为了确保整个流程的可靠性,需要对每次API调用及其结果进行实时监控,并记录详细日志。这不仅有助于排查问题,还能为后续的数据分析提供依据。通过集中监控系统,可以实时跟踪任务状态,并在出现异常时及时告警。
综上所述,通过合理配置元数据并利用轻易云平台强大的功能,我们能够高效地调用汤臣倍健营销云接口获取退货订单数据,并进行必要的清洗和加工,为后续的数据转换与写入奠定坚实基础。
集成数据写入金蝶云星辰V2的ETL转换
在数据集成过程中,ETL(提取、转换、加载)是将源平台的数据转换为目标平台可接受格式的关键步骤。本文将详细讨论如何将已经集成的源平台数据通过ETL转换,最终写入到金蝶云星辰V2 API接口。
数据提取与清洗
首先,从源平台(如汤臣倍健营销云)提取数据。假设我们获取了退货入库相关的数据,包括订单号、客户信息、商品信息等。这些数据在初步清洗后,需要进行进一步的转换,以适应金蝶云星辰V2的API接口要求。
数据转换
在轻易云数据集成平台上,我们需要配置元数据以适应金蝶云星辰V2 API接口。以下是一些关键字段的配置示例:
-
单据来源和日期:
{"field":"bill_source","label":"来源","type":"string","value":"ISV"}, {"field":"bill_date","label":"出库日期","type":"string","describe":"出库日期,格式:2019-01-01","value":"{{auditTime|date}}"}
这里设置了单据来源为“ISV”,并将出库日期格式化为
YYYY-MM-DD
。 -
客户信息:
{"field":"customer_id","label":"客户","type":"string","describe":"客户","value":"_findCollection find id from 8c940730-bea3-3b6b-9120-72d220c2196b where number={extCusCode}"}
客户ID通过查询集合得到,确保客户信息的一致性和准确性。
-
联系信息:
{"field":"contact_address","label":"联系信息-详细地址","type":"string","describe":"联系信息-详细地址","value":"{shippingAddress}"}, {"field":"contact_linkman","label":"联系信息-联系人","type":"string","describe":"联系信息-联系人","value":"{contacts}"}, {"field":"contact_phone","label":"联系信息-联系方式","type":"string","describe":"联系信息-联系方式","value":"{phone}"}
联系地址、联系人和联系方式直接从源数据中映射过来。
-
商品分录:
{ "field": "material_entity", "label": "商品分录", "type": "array", "describe": "商品分录", "value": "itemList", "children": [ {"field": "material_id", "label": "商品id", "type": "string", "describe": "商品id", "value": "_findCollection find id from 624ce803-38fe-3d71-8c88-cbb93bc5a8df where number={extMaterialNo}"}, {"field": "stock_id", "label": "仓库id", "type": "string", "describe": "仓库id", "value": "1545724383396399104"}, {"field": "qty", "label": "数量", "type": "int", "describe": "数量", "value": "{{itemList.opernumber}}"}, {"field": "tax_price", "label": "含税单价", "type": int, describe: 含税单价, value: {{itemList.taxunitprice}}}, ... ] }
商品分录部分包括多个字段,如商品ID、仓库ID、数量、含税单价等。这些字段通过子集合进行映射和转换,以确保每个商品分录都能正确写入目标平台。
数据加载
完成上述转换后,将处理好的数据通过POST方法写入到金蝶云星辰V2 API接口。以下是一个简化后的请求示例:
{
“api”: "/jdy/v2/scm/sal_in_bound",
“method”: “POST”,
“number”: “id”,
“request”: {
“bill_source”: “ISV”,
“bill_date”: “2023-10-01”,
...
}
}
通过这种方式,确保所有必要的数据都已按照目标平台要求进行了适当的转换,并能成功地被金蝶云星辰V2接收和处理。
异常处理与监控
为了保证整个ETL过程的可靠性,轻易云提供了实时监控和告警系统,可以及时发现并处理任何异常情况。例如,如果在数据写入过程中发生错误,可以触发重试机制或发出告警通知,以便相关人员及时处理。
此外,通过自定义的数据质量监控规则,可以在加载之前检测到任何潜在的数据问题,从而避免错误的数据进入目标系统。
结论
通过上述步骤,我们可以高效地将源平台的数据转换并加载到金蝶云星辰V2中。在这个过程中,合理的元数据配置和强大的监控机制是确保数据集成成功的关键因素。