掌握金蝶云星空与旺店通数据集成的关键技术

  • 轻易云集成顾问-张妍琪

金蝶云星空数据集成到旺店通·企业奇门的技术方案

在企业日常采购退料单处理过程中,如何高效地实现金蝶云星空与旺店通·企业奇门的数据对接显得尤为重要。本文将分享一个实际运行的系统对接集成案例,通过详细解析技术细节和解决关键问题,实现采购退料单在两大平台间的无缝流转。

确保数据不漏单

为了确保从金蝶云星空获取的数据不出现遗漏,我们采用了定时可靠抓取机制。利用executeBillQuery API接口,通过设定合理的时间间隔定时拉取数据,并结合分页查询策略,不留死角地覆盖所有可能产生的数据条目。

大量数据快速写入

面对大量数据需要快速写入旺店通·企业奇门这一挑战,我们通过优化并发请求和批量操作的方法,有效提升了处理性能。wdt.purchase.return.push API接口支持批量推送功能,使我们能够一次性将多个退料记录同时写入,提高效率,减少网络延迟带来的影响。

数据格式差异转换

金蝶云星空与旺店通·企业奇门在数据格式上存在差异,这是两个独立系统间集成中的一大难题。通过自定义映射规则,将金蝶云中的字段精确匹配到旺店通所需格式。在轻易云平台强大的拖拽式可视化界面中,我们可以直观配置每个字段的对应关系,大幅降低出错风险。

异常处理与重试机制

任何系统对接都不可避免会遇到异常情况,例如网络抖动导致API调用失败。为了提高稳定性和可靠性,我们设计了一套完整的错误捕捉和重试机制。当执行write back操作时,如果发生失败事件,将自动触发重新尝试,并详细记录日志信息便于后续排查问题。这种方法极大提高了整体链路的鲁棒性。

以上是本案例开头部分的一些关键技术点,下面我们将深入探讨具体实施步骤及更多细节内容,以供参考应用。 如何开发企业微信API接口

调用金蝶云星空接口executeBillQuery获取并加工数据

在数据集成过程中,调用源系统的API接口是至关重要的一步。本文将详细探讨如何通过轻易云数据集成平台调用金蝶云星空的executeBillQuery接口来获取采购退料单的数据,并进行初步加工。

接口配置与请求参数

首先,我们需要配置好调用金蝶云星空接口的元数据。以下是关键的配置项:

  • API名称: executeBillQuery
  • 请求方法: POST
  • 业务对象表单ID: PUR_MRB

请求参数主要分为两类:字段参数和其他请求参数。

字段参数

字段参数定义了我们需要从金蝶云星空中查询的具体字段。以下是一些关键字段及其描述:

  • FPURMRBENTRY_FEntryID: 明细信息ID
  • FID: 实体主键
  • FBillNo: 单据编号
  • FDocumentStatus: 单据状态
  • FStockOrgId_FNumber: 退料组织
  • FDate: 退料日期
  • FBillTypeID_FNumber: 单据类型
  • ...

这些字段将构成我们的查询条件和返回结果。

其他请求参数

除了字段参数外,我们还需要配置一些额外的请求参数,以便更好地控制查询结果:

  • Limit: 最大行数,用于分页控制。
  • StartRow: 开始行索引,用于分页控制。
  • TopRowCount: 返回总行数。
  • FilterString: 过滤条件,例如:FDocumentStatus='C' and FStockId.FNumber='1.10' and FApproveDate>='{{LAST_SYNC_TIME|dateTime}}'
  • FieldKeys: 需查询的字段key集合,格式为数组。

请求示例

基于上述配置,我们可以构建一个完整的请求示例:

{
    "FormId": "PUR_MRB",
    "FieldKeys": [
        "FPURMRBENTRY_FEntryID",
        "FID",
        "FBillNo",
        "FDocumentStatus",
        "FStockOrgId.FNumber",
        "FDate",
        ...
    ],
    "FilterString": "FDocumentStatus='C' and FStockId.FNumber='1.10' and FApproveDate>='2023-01-01'",
    "Limit": 100,
    "StartRow": 0,
    "TopRowCount": true
}

数据处理与清洗

在获取到原始数据后,我们需要对数据进行初步清洗和加工。这一步骤通常包括以下几个方面:

  1. 数据格式转换: 将日期、金额等字段转换为标准格式。
  2. 数据过滤: 根据业务需求过滤掉不必要的数据,例如只保留已审核通过的单据。
  3. 数据合并: 如果需要,可以将多个API返回的数据进行合并处理。

例如,对于日期字段,我们可以使用如下代码进行格式转换:

import datetime

def convert_date(date_str):
    return datetime.datetime.strptime(date_str, '%Y-%m-%dT%H:%M:%S').strftime('%Y-%m-%d')

# 示例调用
raw_date = '2023-01-01T12:00:00'
formatted_date = convert_date(raw_date)
print(formatted_date)  # 输出:2023-01-01

数据写入目标系统

在完成数据清洗和加工后,下一步就是将处理好的数据写入目标系统(如旺店通)。这通常涉及到调用目标系统的API接口,并确保数据格式和内容符合目标系统的要求。

例如,可以使用如下伪代码将处理后的数据写入目标系统:

import requests

def write_to_target_system(data):
    url = 'https://target-system-api.com/write'
    headers = {'Content-Type': 'application/json'}
    response = requests.post(url, json=data, headers=headers)

    if response.status_code == 200:
        print('Data written successfully')
    else:
        print('Failed to write data', response.text)

# 示例调用
processed_data = {
    'bill_no': '12345',
    'date': '2023-01-01',
    ...
}
write_to_target_system(processed_data)

通过以上步骤,我们完成了从金蝶云星空获取采购退料单数据,并进行初步加工和写入目标系统的全过程。这一过程不仅提高了数据处理效率,也确保了各个环节的数据准确性和一致性。 如何对接用友BIP接口

采购退料单对接:金蝶至旺店通·企业奇门API接口

在数据集成生命周期的第二步中,我们需要将已经集成的源平台数据进行ETL转换,转为目标平台旺店通·企业奇门API接口所能够接收的格式,并最终写入目标平台。本文将详细探讨如何使用轻易云数据集成平台配置元数据,实现采购退料单从金蝶系统到旺店通·企业奇门API接口的数据转换与写入。

API接口配置

根据提供的元数据配置,我们需要调用旺店通·企业奇门的wdt.purchase.return.push接口。此接口通过POST请求方式,将采购退料单的数据推送到目标平台。以下是具体的字段映射和配置细节:

{
  "api": "wdt.purchase.return.push",
  "effect": "EXECUTE",
  "method": "POST",
  "idCheck": true,
  "request": [
    {"field": "provider_no", "label": "provider_no", "type": "string", "describe": "供应商编号", "value": "{FSupplierID_FNumber}"},
    {"field": "outer_no", "label": "outer_no", "type": "string", "describe": "外部单号", "value": "{FBillNo}"},
    {"field": "is_check", "label": "is_check", "type": "string", "describe": "1:自动审核0:不自动审核默认0", "value":"1"},
    {"field": "warehouse_no", "label": "warehouse_no", "type": "string",  ...

数据字段映射

  1. 供应商编号(provider_no)

    • 来源字段:FSupplierID_FNumber
    • 描述:用于标识供应商的唯一编号。
  2. 外部单号(outer_no)

    • 来源字段:FBillNo
    • 描述:金蝶系统中的采购退料单编号。
  3. 自动审核(is_check)

    • 固定值:1
    • 描述:设置为1表示自动审核,0表示不自动审核,默认值为0。
  4. 仓库编号(warehouse_no)

    • 固定值:1.10
    • 描述:用于区分不同仓库的唯一编码。
  5. 采购员编号(purchaser_no)货运方式(logistics_code)省份(receiver_province)城市(receiver_city)等其他字段依次进行映射和配置。

明细列表处理

在处理明细列表时,我们需要特别注意嵌套结构。detail_list字段包含了采购退货单所有货品明细属性信息的数据节点。以下是关键字段的映射:

  • SKU编码(spec_no)

    • 来源字段:FMATERIALID_FNumber
    • 描述:用于获取系统单品的数据。
  • 退货数量(num)

    • 来源字段:FRMREALQTY
    • 描述:实际退货数量。
  • 单价(price)

    • 来源字段:FTAXPRICE
    • 描述:商品单价。
  • 折扣(discount)备注(detail_remark)等其他明细字段依次进行映射和配置。

元数据配置示例

以下是一个完整的元数据配置示例,用于将金蝶系统中的采购退料单数据转换并推送到旺店通·企业奇门API接口:

{
  ...
  {
    ...
    {"field":"detail_list","label":"detail_list","type":"array","describe":"请求参数的2级数据节点,包含采购退货单所有货品明细属性信息的数据节点,节点下数据字段详见下述“detail_list”列表","value":"{FPURMRBENTRY_FEntryID}"},
    {"field":"spec_no","label":"spec_no","type":"string","describe":"代表所单品(sku)所有属性的唯一编码,用于获取系统单品的数据,SKU概念介绍,单击这里","value":"{FMATERIALID_FNumber}"},
    {"field":"num","label":"num","type":"string","describe":"退货数量","value":"{FRMREALQTY}"},
    {"field":"price","label":"price","type":"string","describe":"单价","value":"{FTAXPRICE}"},
    ...
  }
}

实施步骤

  1. 数据提取与清洗: 使用轻易云平台从金蝶系统中提取采购退料单数据,并进行必要的数据清洗和预处理。

  2. 数据转换与写入: 根据上述元数据配置,将清洗后的数据进行ETL转换,使其符合旺店通·企业奇门API接口要求的格式,并通过POST请求将数据写入目标平台。

通过这种方式,我们可以高效地实现不同系统间的数据无缝对接,确保业务流程顺畅运行。 如何对接企业微信API接口

更多系统对接方案