案例分享:旺店通·企业奇门数据集成到金蝶云星空——销售出库生成应收单
在系统对接和数据集成领域中,实现精准、快速的数据同步是业务高效运转的关键。本文将深入探讨如何使用轻易云数据集成平台,将旺店通·企业奇门的销售出库订单数据,可靠地集成至金蝶云星空,并生成应收单。据此,我们将围绕API接口的调用及技术实现细节展开。
首先,通过调用旺店通·企业奇门提供的wdt.stockout.order.query.trade
接口,我们能够定时抓取最新的销售出库订单。这一过程中,需要特别注意处理分页和限流问题,以确保在大规模下载数据时不会遗漏任何记录。为此,平台内置了实时监控与日志记录功能,可以帮助我们追踪每一次抓取操作,及时发现并解决潜在问题。
其次,在获取到完整、准确的数据后,通过映射转换步骤,将其整理为符合金蝶云星空规范的数据格式。在这一步,我们必须仔细处理字段匹配和单位换算等问题,以避免不必要的数据错误。这也是整个流程中的一个重要环节,因为不同系统间常存在较大的数据结构差异。
接下来,利用金蝶云星空提供的batchSave
接口,大量写入经过转换后的销售出库订单信息至金蝶系统。为了确保批量写入过程高效且无误,平台对这些批次操作进行了精细化控制,包括错误处理与重试机制。一旦发生异常情况,例如网络请求失败或服务超时,该机制会自动进行多次重试,从而保证最终写入成功率达到最高。
通过以上关键环节设置,本案例有效实现了从旺店通·企业奇门到金蝶云星空之间的数据无缝对接。这个方案不仅提高了业务运营效率,也显著降低了人工干预所带来的操作风险,为企业打造了一条透明、高效、安全的数据传输链路。在后续内容中,将详细介绍具体配置步骤与实际代码示例,以供读者参考与借鉴。
调用旺店通·企业奇门接口wdt.stockout.order.query.trade获取并加工数据
在数据集成的生命周期中,调用源系统接口是至关重要的一步。本文将深入探讨如何使用轻易云数据集成平台调用旺店通·企业奇门接口wdt.stockout.order.query.trade
,并对获取的数据进行加工处理。
接口调用配置
首先,我们需要配置元数据以便正确调用接口。以下是关键的元数据配置:
{
"api": "wdt.stockout.order.query.trade",
"method": "POST",
"number": "order_no",
"id": "order_no",
"pagination": {
"pageSize": 100
},
"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": "",
"value": "110"
},
{
...
}
],
...
}
数据请求与清洗
在配置好元数据后,我们可以通过POST请求调用wdt.stockout.order.query.trade
接口。该接口支持分页查询,每页最多返回100条记录。我们需要设置分页参数page_size
和page_no
来控制分页逻辑。
-
请求参数:
start_time
: 增量获取的开始时间。end_time
: 增量获取的结束时间。status
: 固定值110,表示已完成状态的订单。page_size
: 每页返回的数据条数,默认为100。page_no
: 页号,从0开始。
-
示例请求:
{ ... { field: 'start_time', value: '2023-01-01 00:00:00' }, { field: 'end_time', value: '2023-01-02 00:00:00' }, { field: 'status', value: '110' }, { field: 'page_size', value: '100' }, { field: 'page_no', value: '0' } }
数据转换与写入
在成功获取到数据后,需要对数据进行清洗和转换,以便写入目标系统。以下是一些常见的数据清洗和转换步骤:
- 字段映射:将源系统中的字段映射到目标系统中的相应字段。例如,将
src_order_no
映射为目标系统中的订单编号。 - 数据格式转换:将日期格式从源系统的格式(如
yyyy-MM-dd HH:mm:ss
)转换为目标系统所需的格式。 - 异常处理:处理可能出现的数据异常,如缺失值或无效值。
实践案例
假设我们需要将获取到的出库订单数据写入一个ERP系统中,我们可以按照以下步骤进行操作:
-
调用接口:
response = requests.post( url="https://api.wangdian.cn/wdt/stockout/order/query/trade", data={ 'start_time': '2023-01-01 00:00:00', 'end_time': '2023-01-02 00:00:00', 'status': '110', 'page_size': '100', 'page_no': '0' } )
-
解析响应:
data = response.json() orders = data.get('orders', [])
-
清洗和转换:
cleaned_orders = [] for order in orders: cleaned_order = { 'order_id': order['src_order_no'], ... } cleaned_orders.append(cleaned_order)
-
写入目标系统:
for order in cleaned_orders: erp_system.write(order)
通过上述步骤,我们实现了从旺店通·企业奇门接口获取出库订单数据,并对其进行清洗和转换,最终写入目标ERP系统。这一过程展示了如何利用轻易云数据集成平台高效地进行异构系统间的数据集成。
利用轻易云数据集成平台实现销售出库生成应收单的ETL转换
在数据集成过程中,将源平台的数据转换为目标平台可接收的格式是至关重要的一步。本文将详细探讨如何利用轻易云数据集成平台,将销售出库数据转换为金蝶云星空API接口所能接收的格式,并最终写入目标平台。
API接口配置
在本案例中,我们需要将销售出库单的数据通过ETL(Extract, Transform, Load)过程,转换并写入金蝶云星空系统。以下是我们使用的API接口配置元数据:
{
"api": "batchSave",
"method": "POST",
"idCheck": true,
"operation": {
"rowsKey": "array",
"rows": 1,
"method": "batchArraySave"
},
"request": [
{
"field": "FID",
"label": "FID",
"type": "string",
"describe": "单据类型",
"value": "_findCollection find FID from 4275d66d-049b-3e21-aadb-dc8986448daa where FBillNo={stockout_no}"
},
{
"field": "F_PBLH_Combo",
"label": "旺店通出库单状",
"type": "string",
"describe": "多行文本",
"value": "{trade_status}"
},
{
"field": "F_PBLH_Date",
"label": "单据日期",
"type": "string",
"describe": "多行文本",
"value": "{consign_time}"
}
],
...
}
数据请求与清洗
首先,我们需要从源系统中获取销售出库单的数据。在这个阶段,我们会执行数据请求并进行必要的清洗,以确保数据的准确性和一致性。例如,从源系统中提取stockout_no
、trade_status
和consign_time
等字段,并对其进行初步处理。
数据转换
接下来是关键的ETL转换步骤。我们需要将提取到的数据按照金蝶云星空API接口要求的格式进行转换。以下是具体的字段映射和转换逻辑:
-
FID:
- 类型:字符串
- 描述:单据类型
- 转换逻辑:通过SQL查询从源系统中获取对应的
FID
值。_findCollection find FID from 4275d66d-049b-3e21-aadb-dc8986448daa where FBillNo={stockout_no}
-
F_PBLH_Combo:
- 类型:字符串
- 描述:旺店通出库单状
- 转换逻辑:直接映射源系统中的
trade_status
字段。{trade_status}
-
F_PBLH_Date:
- 类型:字符串
- 描述:单据日期
- 转换逻辑:直接映射源系统中的
consign_time
字段。{consign_time}
数据写入
最后一步是将转换后的数据写入金蝶云星空系统。我们使用批量保存API batchSave
,并通过POST方法提交数据。在这个过程中,我们需要设置一些额外的参数来确保数据正确写入:
{
...
{"field":"FormId","label":"业务对象表单Id","type":"string","describe":"必须填写金蝶的表单ID如:PUR_PurchaseOrder","value":"SAL_OUTSTOCK"},
{"field":"Operation","label":"执行的操作","type":"string","value":"Save"},
{"field":"IsAutoSubmitAndAudit","label":"提交并审核","type":"bool","value":"false"},
{"field":"InterationFlags","label":"允许负库存","type":"bool","value":"STK_InvCheckResult"},
{"field":"IsVerifyBaseDataField","label":"验证基础资料","type":"bool","describe":"是否验证所有的基础资料有效性,布尔类,默认false(非必录)","value":"false"},
{"field":"SubSystemId","label":"系统模块","type":"string","describe":"默认仓库模块","value":"21"},
{"field":"NeedUpDateFields","label":"需要更新的字段","type":"string","describe":"默认仓库模块","value":"F_PBLH_Combo,F_PBLH_Date"}
}
这些参数确保了我们的数据能够被正确识别和处理。例如,设置表单ID为 SAL_OUTSTOCK
,操作类型为 Save
,以及是否自动提交和审核等。
通过上述步骤,我们成功地完成了从源系统到目标平台的数据ETL转换,并将销售出库生成应收单的数据无缝对接到金蝶云星空系统。这一过程不仅提高了数据处理效率,也确保了业务流程的一致性和准确性。