金蝶商品->电商SKU:金蝶云星辰V2与聚水潭数据集成案例分享
在本次技术案例中,我们将深入探讨如何实现金蝶云星辰V2的数据高效无缝地集成到聚水潭的过程中,尤其专注于金蝶商品信息对接到电商SKU的实施细节。
此次集成任务主要涉及两个关键API接口:从金蝶云星辰V2获取数据的/jdy/v2/bd/material
以及向聚水潭写入数据的/open/jushuitan/itemsku/upload
。通过这些接口,我们能够高效抓取和更新系统中的商品信息,实现双平台间的数据同步。
整个集成过程依托于一个强大的特性集合,例如支持批量数据传输、实时监控与日志记录,以及自定义的数据转换逻辑等。以下要点是本案例着重解决的问题:
-
定时可靠地抓取金蝶云星辰V2接口数据
- 使用轻易云提供的调度功能,每隔固定时间段调用
/jdy/v2/bd/material
接口,从而及时获取最新的商品信息。
- 使用轻易云提供的调度功能,每隔固定时间段调用
-
处理分页与限流问题
- 通过分批次拉取,结合API文档中的分页参数设置,有效避免因单次请求体量过大导致的性能瓶颈及超时情况。同时,在遇到限流限制时进行智能化退避重试。
-
自定义数据转换逻辑
- 根据业务需求,对从金蝶云星辰V2获取的原始商品数据进行必要格式调整,使之符合聚水潭接受规范,这包含字段映射、值转换等操作。
-
异常处理与错误重试机制
- 设置完善的数据质量监控和告警系统。当发生异常或错误时,通过自动重试策略确保所有有效数据都能成功写入目标系统。
-
大量快速写入到聚水潭
- 利用高吞吐量特性,将转化后的商品数据信息迅速推送至
/open/jushuitan/itemsku/upload
接口,保证新添加及更新的信息能够快速上线应用。
- 利用高吞吐量特性,将转化后的商品数据信息迅速推送至
通过严谨且优化设计,本方案不仅提高了两套系统之间的数据交互效率,还确保了整个流程稳定、高效运行,并极大降低人为介入所带来的潜在风险。从而为企业提供了一种可靠且可维护的发展路径。
调用金蝶云星辰V2接口获取并加工数据
在轻易云数据集成平台中,调用源系统接口是数据处理生命周期的第一步。本文将详细探讨如何通过调用金蝶云星辰V2接口/jdy/v2/bd/material
来获取并加工数据,以实现商品信息的集成。
接口基本信息
金蝶云星辰V2接口/jdy/v2/bd/material
用于查询商品基础信息。该接口支持GET请求,主要参数如下:
- api:
/jdy/v2/bd/material
- effect:
QUERY
- method:
GET
- number:
number
- id:
id
- name:
number
- idCheck:
true
请求参数配置
请求参数是调用API的关键部分,通过合理配置这些参数,可以精确地获取所需的数据。以下是主要的请求参数及其配置:
-
enable(可用状态)
- 类型:string
- 描述:可用状态,1表示可用,0表示禁用,-1表示全部
- 示例值:
1
-
search(模糊搜索)
- 类型:string
- 描述:支持名称、编码、规格、条形码的模糊搜索
- 示例值:
"商品名称"
-
parent_id(商品类别)
- 类型:string
- 描述:商品类别ID
- 示例值:
"12345"
-
isdataperm(数据权限)
- 类型:string
- 描述:是否添加数据权限校验,默认false
- 示例值:
"false"
-
create_start_time(创建开始时间戳)
- 类型:string
- 描述:开始时间(格式:“时间戳”,-1表示不过滤),创建时间
- 示例值:
"-1"
-
create_end_time(创建结束时间戳)
- 类型:string
- 描述:结束时间(格式:“时间戳”,-1表示不过滤),创建时间
- 示例值:
"-1"
-
modify_start_time(修改开始时间戳)
- 类型:string
- 描述:开始时间(格式:“时间戳”,-1表示不过滤),修改时间
- 示例值:
"_function {LAST_SYNC_TIME}*1000"
-
modify_end_time(修改结束时间戳)
- 类型:string
- 描述:结束时间(格式:“时间戳”,-1表示不过滤),修改时间
- 示例值:
"_function {CURRENT_TIME}*1000"
-
page(当前页)
- 类型:string
- 描述:当前页(默认1)
- 示例值:
"1"
-
page_size(每页显示条数)
- 类型:string
- 描述:每页显示条数(默认10,最大100)
- 示例值:
"100"
-
show_units(多单位信息)
- 类型:string
- 描述:是否返回多单位信息,true表示返回,默认false
- 示例值:
"false"
-
show_images(图片信息)
- 类型:string
- 描述:是否返回图片信息,true表示返回,默认false
- 示例值:"false"
其他请求配置
此外,还可以配置其他请求参数以获取更详细的信息:
- detailAPI
- 类型: string
- 描述: detailAPI,用于获取详细信息的API路径。
- 示例值:
/jdy/v2/bd/material_detail
自动填充响应
在轻易云平台中,可以启用自动填充响应功能,使得从API获取的数据能够自动映射到目标系统的数据结构中。这一功能极大地简化了数据转换和写入过程。
实际应用案例
假设我们需要从金蝶云星辰V2获取所有可用状态的商品,并且只需要第一页的数据,每页最多显示100条记录,同时不需要返回多单位和图片信息。我们可以按如下方式配置请求:
{
"enable": "1",
"search": "",
"parent_id": "",
"isdataperm": "false",
"create_start_time": "-1",
"create_end_time": "-1",
"modify_start_time": "_function {LAST_SYNC_TIME}*1000",
"modify_end_time": "_function {CURRENT_TIME}*1000",
"page": "1",
"page_size": "100",
"show_units": "false",
"show_images": "false"
}
通过上述配置,我们能够高效地从金蝶云星辰V2接口获取所需的商品基础信息,并为后续的数据清洗和转换做好准备。
在实际操作中,这些参数可以根据具体业务需求进行调整,以确保获取到最符合要求的数据。轻易云数据集成平台提供了强大的元数据配置能力,使得这一过程更加灵活和高效。
使用轻易云数据集成平台将金蝶商品数据转换并写入聚水潭API接口
在数据集成的生命周期中,第二步是将已经集成的源平台数据进行ETL转换,转为目标平台所能够接收的格式,并最终写入目标平台。本文将详细探讨如何使用轻易云数据集成平台,将金蝶商品数据转换为聚水潭API接口所能接收的格式,并写入聚水潭系统。
聚水潭API接口配置
根据元数据配置,我们需要将金蝶商品的数据转换为符合聚水潭API接口要求的格式。以下是聚水潭API接口的相关配置:
{
"api": "/open/jushuitan/itemsku/upload",
"effect": "EXECUTE",
"method": "POST",
"number": "name",
"id": "sku_id",
"name": "name",
"request": [
{"field":"sku_id","label":"商品编码","type":"string","describe":"商品编码","value":"轻易云{number}"},
{"field":"i_id","label":"款式编码","type":"string","describe":"款式编码","value":"QEASY.CLOUD-{number}"},
{"field":"brand","label":"品牌","type":"string","describe":"品牌,可更新","value":"轻易云数据集成平台"},
{"field":"s_price","label":"基本售价","type":"string","describe":"基本售价,可更新","value":"1024.88"},
{"field":"l","label":"长","type":"string","describe":"长,可更新","value":"6"},
{"field":"w","label":"宽","type":"string","describe":"宽,可更新","value":"7"},
{"field":"h","label":"高","type":"string","describe":"高,可更新","value":"8"},
{"field":"name","label":"名称","type":"string","describe":"名称,可更新","value":"{name}"},
{"field":"remark","label":"备注","type":"string","describe":"备注,可更新","value":"来自轻易云数据集成平台测试用例https://www.qeasy.cloud"},
{"field": "properties_value", "label": "颜色及规格", "type": "string", "describe": "颜色及规格,可更新", "value": "{name}"},
{"field": "short_name", "label": "简称", "type": "string", "describe": "简称,可更新", "value": "{name}"},
{"field": "weight", "label": "重量", "type": "string", "describe": "重量,可更新", "value": 231},
{"field": "unit", "label": "单位", "type": "string", "describe": “单位”, “value”: “{base_unit_name}”}
],
“otherRequest”: [
{“field”: “dataKey”, “label”: “dataKey”, “type”: “string”, “describe”: “dataKey”, “value”: “items”}
]
}
数据转换与写入过程
-
提取源数据:从金蝶系统中提取商品信息,例如商品编码、名称、基本售价等。
-
数据清洗:确保提取的数据完整且符合要求。例如,检查商品编码是否为空,名称是否正确等。
-
字段映射:根据聚水潭API接口的要求,将金蝶系统中的字段映射到目标字段。例如,将金蝶中的商品编码映射到
sku_id
,名称映射到name
等。 -
格式转换:将源数据转换为目标格式。例如,将价格字段从浮点数转换为字符串格式。
-
构建请求体:根据元数据配置,构建POST请求体。以下是一个示例请求体:
{
“items”: [
{
“sku_id”: “轻易云12345”,
“i_id”: “QEASY.CLOUD-12345”,
“brand”: “轻易云数据集成平台”,
“s_price”: “1024.88”,
“l”: “6”,
“w”: “7”,
“h”: “8”,
“name”: ”商品A”,
”remark”:”来自轻易云数据集成平台测试用例https://www.qeasy.cloud”,
”properties_value”:”红色, L”,
”short_name”:”A”,
”weight”:231,
”unit”:”件”
}
]
}
-
发送请求:使用HTTP POST方法将构建好的请求体发送到聚水潭API接口
/open/jushuitan/itemsku/upload
。 -
处理响应:接收并处理聚水潭返回的响应信息,确保数据成功写入。如果出现错误,根据返回的信息进行相应的处理和调整。
技术细节
- 异步处理:由于轻易云支持全异步操作,可以在后台批量处理大量的数据转换和传输任务,提高效率。
- 实时监控:通过实时监控功能,可以随时查看每个步骤的数据流动和处理状态,及时发现和解决问题。
- 可扩展性:该方案可以根据业务需求进行扩展,例如增加新的字段映射或调整现有字段的值。
通过以上步骤,我们实现了从金蝶系统到聚水潭系统的数据无缝对接,确保了不同系统间的数据一致性和完整性。