汤臣倍健营销云数据集成到金蝶云星辰V2案例分享:采购入库同步-(佰嘉)广州玛祖
在企业日常运营中,高效的系统对接和数据集成已成为实现业务连续性与高效管理的关键。本文将聚焦于一个具体的实施案例——如何将汤臣倍健营销云的数据无缝集成到金蝶云星辰V2系统,特别是针对采购入库信息进行精准同步。
为了实现这一目标,我们利用轻易云平台提供的一系列强大功能,包括支持高吞吐量的数据写入、集中监控和告警系统,以及自定义的数据转换逻辑,确保了大量数据能够快速、安全地传输并存储至目标系统。
首先,通过调用汤臣倍健营销云开放API /erp/api/order/query/purInWarehsOrder
接口,我们能够定时获取最新的一批采购入库订单数据。这个过程依赖于平台内置的可靠抓取机制,以保证即使面对分页和限流等限制条件,也不会发生漏单状况。在成功获取这些原始数据后,下一步则需要进行格式转换,使其符合金蝶云星辰V2要求的输入格式。
在此过程中,自定义脚本和可视化的数据流设计工具发挥了重要作用,使得所有必要的数据清洗、匹配及映射任务都能以直观且可管理的方式完成。一旦准备好正确格式的数据,即可以使用API /jdy/v2/scm/pur_inbound
将处理后的信息批量写入到金蝶云星辰V2中去。此外,为应对可能出现的异常情况,还配置了错误重试机制和实时日志记录功能,从而确保整个流程具备高度可靠性。
通过这次实际应用项目,不仅展示了两大ERP系统间复杂接口对接过程中的技术要点,也验证了我们集成平台在大型企业环境下所具备的不俗性能和灵活度。
调用源系统汤臣倍健营销云接口/erp/api/order/query/purInWarehsOrder获取并加工数据
在数据集成的生命周期中,第一步是调用源系统接口获取数据。本文将详细探讨如何使用轻易云数据集成平台调用汤臣倍健营销云的接口/erp/api/order/query/purInWarehsOrder
,并对获取的数据进行初步加工。
接口调用配置
首先,我们需要配置API接口的元数据。根据提供的元数据配置,我们可以看到以下关键字段:
- api:
/erp/api/order/query/purInWarehsOrder
- method:
POST
- effect:
QUERY
请求参数包括:
- tenantId(经销商id):必填项,用于标识具体的经销商。
- yxyNumber(营销云销售订单号):可选项,传递此参数时其他时间状态等条件无效。
- number(系统订单号):可选项,传递此参数时其他时间状态等条件无效。
- status(订单状态):默认为已审核状态(值为1)。
- beginTime和endTime:用于时间范围查询,格式为
0000-00-00
或0000-00-00 00:00:00
。 - pageNo和pageSize:分页参数,默认值分别为1和30。
- timeType:时间段标志,0表示创建时间,1表示最后更新时间。
示例请求体如下:
{
"tenantId": "08e2fd9d074f4ef7b5e6416b74d006d6",
"status": "1",
"beginTime": "{{LAST_SYNC_TIME|datetime}}",
"endTime": "{{CURRENT_TIME|datetime}}",
"pageNo": "1",
"pageSize": "30",
"timeType": "1"
}
数据清洗与转换
在获取到原始数据后,需要对数据进行清洗与转换,以确保其符合目标系统的要求。以下是一些常见的数据清洗操作:
-
字段映射与重命名:将源系统中的字段映射到目标系统中对应的字段,并进行必要的重命名。例如,将
materialNumber
映射为目标系统中的itemCode
。 -
数据过滤:根据业务需求过滤掉不需要的数据。例如,通过条件过滤掉物料编号包含"F.A"的数据:
{ "condition_bk": [ [{"field":"itemList.materialNumber","logic":"notlike","value":"F.A"}] ] }
-
格式转换:将日期、金额等字段转换为目标系统所需的格式。例如,将日期格式从
yyyy-MM-dd HH:mm:ss
转换为目标系统所需的格式。
自动填充响应
轻易云平台支持自动填充响应功能,可以根据预定义规则自动处理API响应数据。这一功能极大地简化了开发工作,提高了效率。在元数据配置中,我们可以看到以下设置:
"autoFillResponse": true
这意味着平台会自动处理API返回的数据,并填充到相应的数据结构中,无需手动解析和处理。
实践案例
假设我们需要同步汤臣倍健营销云中的采购入库单到广州玛祖的ERP系统。具体步骤如下:
- 配置API请求参数,包括经销商ID、订单状态、时间范围等。
- 调用API接口获取采购入库单数据。
- 对返回的数据进行清洗和转换,包括字段映射、数据过滤和格式转换。
- 将处理后的数据写入目标ERP系统。
通过上述步骤,我们可以实现不同系统间的数据无缝对接,并确保数据的一致性和准确性。这不仅提高了业务效率,还增强了企业的信息化管理水平。
轻易云数据集成平台生命周期的第二步:ETL转换与写入金蝶云星辰V2API接口
在数据集成过程中,ETL(Extract, Transform, Load)转换是至关重要的一环。本文将详细探讨如何将已经集成的源平台数据进行ETL转换,转为金蝶云星辰V2API接口所能够接收的格式,并最终写入目标平台。
API接口配置
首先,我们需要了解金蝶云星辰V2API接口的具体配置要求。根据元数据配置,目标API为/jdy/v2/scm/pur_inbound
,请求方法为POST。以下是具体的字段配置:
{
"api": "/jdy/v2/scm/pur_inbound",
"effect": "EXECUTE",
"method": "POST",
"number": "1",
"id": "1",
"name": "1",
"idCheck": true,
"request": [
{
"field": "bill_date",
"label": "单据日期",
"type": "string",
"describe": "单据日期",
"value": "{{auditTime|date}}"
},
{
"field": "bill_no",
"label": "单据编码",
"type": "string",
"describe": "单据编码"
},
{
...
}
]
}
数据转换与映射
在数据转换阶段,我们需要将源平台的数据映射到目标平台所需的字段格式。这包括对日期、字符串、数组等不同类型的数据进行处理和转换。
-
单据日期(bill_date)
- 源数据中的审核时间
auditTime
需要转换为日期格式。 - 使用模板语法
{{auditTime|date}}
进行格式化。
- 源数据中的审核时间
-
单据编码(bill_no)
- 直接从源数据中提取,不需要特殊处理。
-
业务类型(transtype)
- 固定值为"2",表示特定的业务类型。
-
供应商编码(supplier_id)
- 固定值"1534659219934946304"。
-
备注(remark)
- 使用模板语法组合多个字段,例如
{remark}-来自营销云-{yxyNumber}
。
- 使用模板语法组合多个字段,例如
-
自定义字段(custom_field)
- 包含一个子字段“营销云单号”,其值为源数据中的订单编号
{number}
。
- 包含一个子字段“营销云单号”,其值为源数据中的订单编号
-
商品分录(material_entity)
- 是一个数组,每个元素包含多个子字段,如商品编码、仓库编码、数量等。
- 示例:
{ ... { "field": "material_number", ... "value": "{extMaterialNo}" }, { ... ... } }
特殊字段处理
-
单位(unit_id)
- 使用自定义函数查找单位ID:
_findCollection find base_unit_id from ... where number={extMaterialNo}
。
- 使用自定义函数查找单位ID:
-
生产日期(kf_date)、有效日期(valid_date)、批次号(batch_no)
- 使用模板语法从源数据中提取相应的值,例如
{{itemList._Fmfg}}
、{{itemList._Fexp}}
等。
- 使用模板语法从源数据中提取相应的值,例如
-
保质期类型(kf_type)
- 固定值"3",表示以年为单位的保质期类型。
-
含税单价(tax_price)
- 使用函数计算:
_function {{itemList.taxlastmoney}}/{{itemList.opernumber}}
。
- 使用函数计算:
数据写入
完成所有字段的映射和转换后,通过POST请求将处理后的数据发送到金蝶云星辰V2API接口。以下是示例请求体:
{
...
{
...
{
...
{
...
{
...
{
...
}
}
}
}
}
}
通过以上步骤,我们实现了从源平台到目标平台的数据ETL转换和写入过程。每个环节都经过精细配置和处理,确保数据准确无误地传输到金蝶云星辰V2API接口。