案例分享:旺店通·企业奇门数据集成到金蝶云星空
在现今复杂多变的商业环境中,精确、高效的数据集成成为企业保持竞争力的重要手段。本案例聚焦于如何通过【纯采购业务】方案,实现旺店通·企业奇门中的采购入库单数据无缝对接至金蝶云星空系统。
为确保整个数据流动过程高效可靠,我们需要解决以下关键技术难题:
-
定时抓取和处理分页问题: 旺店通·企业奇门接口
wdt.stockin.order.query.purchase
提供了丰富的数据查询功能,但由于其分页限制,需要实现定时任务以周期性地抓取新生成的采购入库单。同时,通过适当调整API调用频率与每次请求的分页参数,避免超出限流阈值导致的数据丢失或访问受限。 -
批量写入加速大规模数据传输: 金蝶云星空提供了强大的批量保存(batchSave)接口,能够显著提高大规模数据写入效率。灵活运用该接口,我们设计了一系列优化策略以保证大量采购入库单快速、安全地存储到金蝶系统中,并有效减少因网络延迟引发的问题。
-
实时监控与异常处理: 为确保在运行过程中出现故障能及时被发现并恢复,我们利用平台自带的监控与日志记录功能,对每一次API调用进行详细跟踪。一旦检测到异常情况,例如网络连接失败或返回错误码,即刻触发重试机制,并实时更新日志方便后续排查分析。
-
格式转换及映射规则制定: 旺店通·企业奇门和金蝶云星空采用不同的数据结构,因此合理设计字段映射关系是成功对接的前提。借助轻易云强大的自定义转换工具,我们将源端所有必须字段准确、完整地转化为目标端所需格式,从而确保两个系统间的信息一致性。
本案例旨在展示如何通过精细化的平台配置以及优化后的技术方案,高效完成从旺店通·企业奇门至金蝶云星空的数据对接,为类似需求提供参考和指导。在后续章节中,将进一步详述具体实施步骤及代码示例,使读者更好理解这些技术要点并应用于实际项目中。
调用旺店通·企业奇门接口wdt.stockin.order.query.purchase获取并加工数据
在数据集成的生命周期中,调用源系统接口获取数据是至关重要的一步。本文将深入探讨如何通过轻易云数据集成平台调用旺店通·企业奇门接口wdt.stockin.order.query.purchase
来获取采购入库单数据,并进行初步的数据加工。
接口调用配置
首先,我们需要配置元数据,以便正确调用wdt.stockin.order.query.purchase
接口。以下是该接口的元数据配置:
{
"api": "wdt.stockin.order.query.purchase",
"effect": "QUERY",
"method": "POST",
"number": "order_no",
"id": "stockin_id",
"name": "order_no",
"idCheck": true,
"request": [
{
"field": "start_time",
"label": "开始时间",
"type": "datetime",
"describe": "增量获取数据,start_time作为开始时间,格式:yyyy-MM-dd HH:mm:ss",
"value": "{{LAST_SYNC_TIME|datetime}}"
},
{
"field": "end_time",
"label": "结束时间",
"type": "datetime",
"describe": "增量获取数据,end_time作为结束时间,格式:yyyy-MM-dd HH:mm:ss",
"value": "{{CURRENT_TIME|datetime}}"
},
{
"field": "status",
"label": "状态",
"type": "string",
"describe": "入库单状态 10已取消20编辑中25待价格确认30待审核60待结算80已完成(默认80)",
"value": "80"
},
{
"field": "src_order_no",
"label": "上层单据编号",
"type": "string",
"describe": "上层单据编号,默认为采购单号,传该字段可以不传开始时间和结束时间"
},
{
{
field: 'warehouse_no',
label: '仓库编号',
type: 'string',
describe: '代表仓库所有属性的唯一编码,用于仓库区分,ERP内支持自定义(ERP仓库界面设置),用于获取指定仓库单据数据信息(不支持一次推送多个仓库编号)'
}
],
otherRequest: [
{
field: 'page_size',
label: '分页大小',
type: 'string',
describe: '每页返回的数据条数,输入值范围1~100,不传本参数,输入值默认为40',
value: '{PAGINATION_PAGE_SIZE}'
},
{
field: 'page_no',
label: '页号',
type: 'string',
describe: '不传值默认从0页开始',
value: '{PAGINATION_START_PAGE}'
}
],
autoFillResponse: true
}
请求参数解析
- start_time 和 end_time:用于增量获取数据,这两个字段分别表示开始时间和结束时间。通过模板变量
{{LAST_SYNC_TIME|datetime}}
和{{CURRENT_TIME|datetime}}
动态填充。 - status:表示入库单状态,默认值为"80",即已完成状态。
- src_order_no:上层单据编号,可选字段,如果提供此字段,可以不传递开始时间和结束时间。
- warehouse_no:仓库编号,用于指定获取某个仓库的单据信息。
- page_size 和 page_no:用于分页控制,每次请求的数据条数和页码。
数据请求与清洗
在实际操作中,我们需要按照上述配置发送POST请求到旺店通·企业奇门接口。以下是一个示例请求体:
{
start_time: '2023-01-01 00:00:00',
end_time: '2023-01-31 23:59:59',
status: '80',
warehouse_no: 'WH001',
page_size: '40',
page_no: '0'
}
发送请求后,我们将会收到一个包含多个采购入库单的响应。由于平台支持自动填充响应,因此我们可以直接使用这些数据进行后续处理。
数据转换与写入
在获取到原始数据后,需要对其进行清洗和转换,以便写入目标系统。在这个过程中,可以使用轻易云平台提供的可视化工具,对字段进行映射、格式转换等操作。例如,将旺店通中的字段映射到金蝶系统中的对应字段,并确保数据格式符合目标系统要求。
实时监控与调试
为了确保整个过程顺利进行,可以利用平台的实时监控功能,对每个环节的数据流动和处理状态进行监控。如果出现问题,可以及时调试和修正。例如,通过查看日志了解请求是否成功、响应是否正确等。
通过以上步骤,我们实现了从旺店通·企业奇门接口获取采购入库单数据,并进行了初步的数据清洗和转换,为后续的数据写入打下了坚实基础。这一过程不仅提高了业务透明度,也大大提升了效率。
轻易云数据集成平台:将源平台数据转换为金蝶云星空API接口格式并写入目标平台
在轻易云数据集成平台的生命周期中,第二步是将已经集成的源平台数据进行ETL转换,转为目标平台——金蝶云星空API接口所能够接收的格式,并最终写入目标平台。本文将详细探讨这一过程中的技术细节和实现方法。
数据转换与写入的技术细节
1. API接口配置
在进行数据转换之前,我们首先需要配置金蝶云星空的API接口。根据元数据配置,我们使用的是batchSave
API,采用POST请求方式。
{
"api": "batchSave",
"effect": "EXECUTE",
"method": "POST",
"idCheck": true,
...
}
2. 请求参数解析
为了确保数据能够正确传递到金蝶云星空,我们需要对每个字段进行详细解析和映射。以下是一些关键字段及其解析方式:
- 单据类型(FBillTypeID):固定值
RKD01_SYS
,通过ConvertObjectParser
解析。 - 单据编号(FBillNo):映射到源数据中的
order_no
。 - 收料组织(FStockOrgId):固定值
100
,通过ConvertObjectParser
解析。 - 供应商(FSupplierId):映射到源数据中的
provider_no
,通过ConvertObjectParser
解析。 - 入库日期(FDate):映射到源数据中的
created_time
。 - 备注(FNoteText):映射到源数据中的
remark
。 - 采购订单号(F_USTY_CGDH):映射到源数据中的
src_order_no
。
{
"field": "FBillTypeID",
"label": "单据类型",
"type": "string",
"describe": "单据类型",
"parser": {
"name": "ConvertObjectParser",
"params": "FNumber"
},
"value": "RKD01_SYS"
},
{
...
}
3. 明细信息处理
明细信息是采购入库单的重要组成部分,每个明细项都需要详细处理。以下是明细信息中一些关键字段及其解析方式:
- 物料编码(FMaterialId):映射到源数据中的物料编码,通过
ConvertObjectParser
解析。 - 实收数量(FRealQty):映射到源数据中的数量。
- 单价(FPrice):映射到源数据中的成本价。
- 仓库(FStockId):映射到源数据中的仓库编号,通过
ConvertObjectParser
解析。
{
"field": "FInStockEntry",
"label": "明细信息",
...
}
4. 数据关联关系
为了确保采购入库单与相关业务单据之间的关联关系,需要配置关联关系字段:
- 源单表名(FInStockEntry_Link_FSTableName):固定值
t_PUR_POOrderEntry
- 下推关系(FInStockEntry_Link_FRuleId):固定值
PUR_PurchaseOrder-STK_InStock
- 源单ID(FInStockEntry_Link_FSBillId)和表体ID(FInStockEntry_Link_FSId):通过SQL查询语句获取。
{
...
}
5. 提交与审核
在所有字段都正确配置后,我们可以选择是否自动提交并审核。该选项通过布尔值控制:
{
...
}
实现步骤
- 配置API接口和请求参数。
- 对每个字段进行详细解析和映射,包括基本信息和明细信息。
- 配置关联关系,确保与相关业务单据的正确关联。
- 设置提交与审核选项,根据需求选择是否自动提交并审核。
通过上述步骤,我们可以将已经集成的源平台数据成功转换为金蝶云星空API接口所能够接收的格式,并最终写入目标平台。这一过程不仅保证了数据的一致性和完整性,还极大提升了业务处理效率。