数据集成实战:从旺店通到金蝶云星空的全过程

  • 轻易云集成顾问-何语琴

系统对接集成案例分享:旺店通·企业奇门数据集成到金蝶云星空

在本案例中,我们将探讨如何通过轻易云数据集成平台实现旺店通·企业奇门的入库单管理与金蝶云星空其他入库单的无缝对接。具体方案类型为【类型:调拨入库】。

数据获取和处理

首先,通过调用wdt.stockin.order.query接口从旺店通·企业奇门系统实时抓取所需的数据。我们设计了可靠的定时任务,以确保数据能够及时、准确地被获取,并且设有分页和限流机制来应对大规模数据请求,从而保障系统稳定性。

数据转换与映射

鉴于两套系统间的数据格式差异,我们需要进行自定义的数据转换逻辑。利用轻易云提供的可视化数据流设计工具,直观地制定了转换规则,使得各字段能顺利映射至目标格式。这一过程不仅提高了开发效率,还减少了人为错误的可能性。

批量写入与异常处理

为了保证高效的数据传输,应用高吞吐量写入能力,将大量转化后的数据批量上传至金蝶云星空,通过其batchSave接口完成写入操作。同时,为防止过程中出现网络波动或服务器响应超时等异常情况,建立了一套完善的异常检测与重试机制,确保每条记录都能成功存储,不漏单、不丢失。

实时监控和日志记录

得益于轻易云集中监控和告警系统,我们在整个数据集成流程中实施了全面实时监控,包括接口调用次数、执行时间、成功率以及潜在错误,这些信息会完整记录到日志文件中以供后续分析和优化使用。

以上步骤展示的是该技术方案初步构建中的关键环节。在本次分享之后,对具体配置细节及更多功能点进行深度剖析,让大家更好地理解并应用这一方案,提高业务运作效率。 数据集成平台可视化配置API接口

调用源系统旺店通·企业奇门接口wdt.stockin.order.query获取并加工数据

在数据集成的生命周期中,调用源系统接口是至关重要的一步。本文将详细探讨如何使用轻易云数据集成平台配置元数据,通过调用旺店通·企业奇门接口wdt.stockin.order.query来获取并加工调拨入库单的数据。

接口概述

接口wdt.stockin.order.query用于查询旺店通系统中的入库单信息。该接口支持按时间增量获取、按状态过滤等多种查询方式,能够灵活地满足不同业务场景的需求。

元数据配置解析

以下是针对该接口的元数据配置:

{
  "api": "wdt.stockin.order.query",
  "effect": "QUERY",
  "method": "POST",
  "number": "order_no",
  "id": "stockin_id",
  "name": "order_no",
  "idCheck": true,
  "request": [
    {
      "field": "start_time",
      "label": "开始时间",
      "type": "string",
      "describe": "按最后修改时间增量获取数据,start_time作为开始时间,格式:yyyy-MM-dd HH:mm:ss",
      "value": "{{DAYS_AGO_1|datetime}}"
    },
    {
      "field": "end_time",
      "label": "结束时间",
      "type": "string",
      "describe": "按最后修改时间增量获取数据,end_time作为结束时间,格式:yyyy-MM-dd HH:mm:ss",
      "value": "{{CURRENT_TIME|datetime}}"
    },
    {
      "field": "order_type",
      "label": "单据类别",
      "type": "string",
      "describe": 
        [
          {"1":"采购入库"},
          {"2":"调拨入库"},
          {"4":"盘盈入库"},
          {"5":"生产入库"},
          {"6":"其他入库"},
          {"7":"保修入库"},
          {"8":"纠错入库"},
          {"9":"初始化入库"},
          {"10":"预入库"},
          {"11":"JIT退货入库"},
          {"12":"委外入库"}
        ],
      // 本次集成方案选择调拨入库
      // value: 2
    },
    {
      // 入库单状态
      // value: 80
    },
    {
      // 仓库编号
    },
    {
      // 上层单据编号
    },
    {
      // 入库单号
    },
    {
      // 外部API单号
    }
  ],
  // 分页相关参数
  // page_size: {PAGINATION_PAGE_SIZE}
  // page_no: {PAGINATION_START_PAGE}
}

请求参数详解

  • start_timeend_time:用于按最后修改时间增量获取数据。start_time表示开始时间,end_time表示结束时间,格式为yyyy-MM-dd HH:mm:ss。在实际应用中,可以通过模板变量如{{DAYS_AGO_1|datetime}}{{CURRENT_TIME|datetime}}动态生成。

  • order_type:指定源单据类别。本次集成方案选择调拨入库,因此值为2

  • status:用于过滤特定状态的入库单。例如,值为80表示已完成的单据。

  • warehouse_nosrc_order_nostockin_noouter_no:这些字段用于更精确地查询特定条件下的入库单信息。

  • page_sizepage_no:分页参数,用于控制每页返回的数据条数和页号。

数据请求与清洗

在调用接口时,我们需要构建一个完整的请求体,根据元数据配置填充必要的字段。例如:

{
  'start_time': '2023-10-01 00:00:00',
  'end_time': '2023-10-02 00:00:00',
  'order_type': '2',
  'status': '80',
  'page_size': '40',
  'page_no': '0'
}

通过POST方法发送请求后,系统会返回符合条件的调拨入库单数据。接下来,需要对返回的数据进行清洗和转换,以便后续写入目标系统(如金蝶)的操作。

数据转换与写入

在清洗过程中,我们需要确保数据格式和字段名称符合目标系统的要求。例如,将旺店通返回的数据字段映射到金蝶系统所需的字段:

{
  'stockin_id': 'id',
  'order_no': 'number',
  ...
}

通过这种方式,我们可以实现不同系统间的数据无缝对接,确保业务流程顺畅运行。

实时监控与优化

轻易云平台提供了实时监控功能,可以随时查看数据流动和处理状态。这有助于及时发现和解决潜在问题,提高整体效率。

综上所述,通过合理配置元数据并调用旺店通·企业奇门接口,我们可以高效地获取并加工调拨入库单的数据,为后续的数据转换与写入奠定基础。 金蝶与SCM系统接口开发配置

使用轻易云数据集成平台实现金蝶云星空API接口的数据转换与写入

在数据集成的生命周期中,数据转换与写入是至关重要的一步。本文将详细探讨如何使用轻易云数据集成平台,将源平台(如旺店通)的数据转换为目标平台(金蝶云星空API接口)所能接收的格式,并最终写入目标平台。

元数据配置解析

在进行数据转换与写入之前,我们需要了解元数据配置。这些配置定义了如何将源数据映射到目标平台的数据结构中。

基础字段配置
  1. 单据编号 (FBillNo)

    • 类型:字符串
    • 描述:单据编号
    • 映射:{order_no}
  2. 单据类型 (FBillTypeID)

    • 类型:字符串
    • 描述:单据类型
    • 解析器:ConvertObjectParser,参数为FNumber
    • 固定值:QTRKD03_SYS
  3. 库存组织 (FStockOrgId)

    • 类型:字符串
    • 描述:组织
    • 解析器:ConvertObjectParser,参数为FNumber
    • 固定值:100
  4. 日期 (FDate)

    • 类型:字符串
    • 描述:日期
    • 映射:{stockin_time}
  5. 部门 (FDEPTID)

    • 类型:字符串
    • 描述:基础资料
    • 解析器:ConvertObjectParser,参数为FNumber
    • 固定值:BM000003
  6. 货主类型 (FOwnerTypeIdHead)

    • 类型:字符串
    • 描述:多类别基础资料列表
    • 固定值:BD_OwnerOrg
  7. 货主 (FOwnerIdHead)

    • 类型:字符串
    • 描述:多类别基础资料
    • 解析器:ConvertObjectParser,参数为FNumber
    • 固定值:100
  8. 备注 (FNOTE)

    • 类型:字符串
    • 描述:多行文本
    • 映射:{remark}
  9. 供应商 (FSUPPLIERID)

    • 类型: 字符串
    • 解析器: ConvertObjectParser, 参数为 FNumber
    • 固定值: SP001
明细信息配置

明细信息是一个数组,每个元素包含以下字段:

  1. 物料编码 (FMATERIALID)

    • 类型: 字符串
    • 描述: 基础资料
    • 解析器: ConvertObjectParser, 参数为 FNumber
    • 映射: {{details_list.spec_no}}
  2. 收货仓库 (FSTOCKID)

    • 类型: 字符串
    • 描述: 基础资料
    • 解析器: ConvertObjectParser, 参数为 FNumber
    • 映射: {warehouse_no}
  3. 实收数量 (FQty)

    • 类型: 字符串
    • 描述: 数量
    • 映射: {{details_list.goods_count}}
  4. 成本价 (FPrice)

    • 类型: 字符串
    • 描述: 单价
    • 映射: {{details_list.cost_price}}
  5. 备注 (FEntryNote) – 类型: 字符串 – 描述: 多行文本 – 映射: {{details_list.remark}}

  6. 源单编号 (FSRCBILLNO) – 类型: 字符串 – 描述: 源单编号 – 映射: {trade_no}

  7. 货主类型 (FOWNERTYPEID) – 类型: 字符串 – 描述: 货主类型 – 固定值:BD_OwnerOrg

  8. 货主 (FOWNERID) – 类型 : 字符串 – 解析器 : ConvertObjectParser, 参数为 FNumber – 固定值 : 100

其他请求参数配置
  1. 业务对象表单Id(FormId) – 类型 : 字符串 – 必须填写金蝶的表单ID如 : PUR_PurchaseOrder – 固定值 : STK_MISCELLANEOUS

  2. 验证基础资料(IsVerifyBaseDataField) – 类型 : 布尔类 – 是否验证所有的基础资料有效性, 默认false(非必录) – 固定值 : true

  3. 执行的操作(Operation) – 类型 : 字符串 – 执行的操作 – 固定值 : Save

  4. 提交并审核(IsAutoSubmitAndAudit) – 类型 : 布尔类
    – 提交并审核
    – 固定值 : false

数据转换与写入过程

  1. 数据请求与清洗

在此阶段,我们从源系统获取原始数据,并进行必要的清洗和预处理。确保所有字段符合目标系统的要求,例如日期格式、数值精度等。

  1. 数据转换

根据元数据配置,将清洗后的源数据字段映射到目标系统所需的字段。例如,将旺店通中的订单号映射到金蝶云星空中的单据编号(FBillNo)。

{
  "FBillNo": "{order_no}",
  "FBillTypeID": "QTRKD03_SYS",
  "FStockOrgId": "100",
  "FDate": "{stockin_time}",
  "FDEPTID": "BM000003",
  "FOwnerTypeIdHead": "BD_OwnerOrg",
  "FOwnerIdHead": "100",
  "FNOTE": "{remark}",
  "FSUPPLIERID": "SP001",
  ...
}
  1. 构建请求体

根据元数据配置构建完整的请求体,包括明细信息数组。确保每个字段都正确映射,并且所有必填项都有对应的值。

{
  "FormId": "STK_MISCELLANEOUS",
  "IsVerifyBaseDataField": true,
  "Operation": "Save",
  ...
}
  1. 发送请求

使用POST方法将构建好的请求体发送到金蝶云星空API接口。确保处理响应并捕获任何错误信息,以便进行调试和修正。

import requests

url = 'https://api.kingdee.com/batchSave'
headers = {'Content-Type': 'application/json'}
response = requests.post(url, json=request_body, headers=headers)

if response.status_code == 200:
    print("Data successfully written to Kingdee Cloud.")
else:
    print(f"Error occurred: {response.text}")

通过以上步骤,我们可以实现从源平台到金蝶云星空API接口的数据转换与写入。确保每个环节都严格按照元数据配置进行,可以极大提升集成过程的准确性和效率。 用友BIP接口开发配置

更多系统对接方案