轻易云平台在多系统数据集成中如何应用ETL技术

  • 轻易云集成顾问-姚缘

旺店通·旗舰奇门数据集成到金蝶云星空的技术实现案例

在本篇文章中,我们将详细探讨如何成功地将旺店通·旗舰奇门的数据无缝对接与整合至金蝶云星空。本次实际运行方案被命名为"柏为销售退货单08.02",重点解决了从旺店通获取准确且全面的销售退货数据,并高效地同步至金蝶云星空进行进一步处理和分析。

接口调用与数据获取

首先,通过调用旺店通·旗舰奇门提供的wdt.wms.stockin.refund.querywithdetail API接口,我们能够定时抓取最新的销售退货详情。这个API接口不仅提供丰富的数据字段,还支持分页功能,确保我们能够分批量、高效地获取所需的数据。

{
  "shop_no": "your_shop_no",
  "warehouse_no": "your_warehouse_no",
  "start_time": "2023-08-01T00:00:00+0800",
  "end_time": "2023-08-02T23:59:59+0800"
}

为了避免漏单或重复读取,系统设计了一个可靠的调度机制,将每个时间段内的数据精准抓取,并及时存储到临时数据库中作备份,为后续处理打下基础。

批量写入操作

在完成初步数据抓取后,一个重要环节是如何快速、准确地将这些大量的数据写入金蝶云星空。通过使用其提供的batchSave API接口,可以一次性提交多个记录,从而显著提高写入效率。同时采取错误重试机制,当出现网络波动或者其他原因导致部分数据未能成功写入时,系统会自动重试直至成功。这种方式有效保障了数据传输过程中的稳定性和完整性。

{
  "data": [
     {
       // 数据条目示例
       ...
     },
     ...
   ]
}

数据格式转换与映射

由于两个系统之间存在一定的数据格式差异,在实际对接中需要进行复杂但精确的数据转换与映射。例如,旺店通返回的一些字段名称和含义可能并不完全匹配金蝶云星空所要求输入参数,需要进行逐一比对及调整。此外,对于某些特有业务逻辑,如不同状态码对应着不同操作,需要在桥接过程中有所体现,以保证最终结果符合企业管理标准。

以上只是整个集成流程的一部分内容。在随后的章节中,我们还会进一步深入讨论包括分页处理、限流策略实施以及日志监控等关键技术细节。 如何开发用友BIP接口

调用旺店通·旗舰奇门接口wdt.wms.stockin.refund.querywithdetail获取并加工数据

在数据集成的生命周期中,调用源系统接口是至关重要的第一步。本文将深入探讨如何通过轻易云数据集成平台调用旺店通·旗舰奇门接口wdt.wms.stockin.refund.querywithdetail来获取并加工数据。

接口配置与调用

首先,我们需要根据元数据配置来设置API请求参数。以下是元数据配置的详细内容:

{
  "api": "wdt.wms.stockin.refund.querywithdetail",
  "method": "POST",
  "number": "order_no",
  "id": "order_no",
  "idCheck": true,
  "request": [
    {
      "field": "pager",
      "label": "分页参数",
      "type": "object",
      "children": [
        {
          "field": "page_size",
          "label": "分页大小",
          "type": "string",
          "value": "50",
          "parent": "pager"
        },
        {
          "field": "page_no",
          "label": "页号",
          "type": "string",
          "value": "1",
          "parent": "pager"
        }
      ]
    },
    {
      "field": "params",
      "label": "业务参数",
      "type": "object",
      ...
    }
  ],
  ...
}

请求参数解析

  1. 分页参数

    • page_size: 每页返回的数据条数,设置为50。
    • page_no: 当前请求的页码,初始值为1。
  2. 业务参数

    • start_timeend_time: 分别表示查询的开始时间和结束时间,使用动态变量{{LAST_SYNC_TIME|datetime}}{{CURRENT_TIME|datetime}}来获取。
    • status: 入库单状态,这里设置为80,表示已完成。
    • time_type: 时间条件类型,不传默认为0,即修改时间。
    • warehouse_no: 仓库编码。
    • shop_nos: 店铺编号,多个店铺编号使用英文逗号分隔。

条件过滤

在请求参数中,还包含了一个条件过滤器:

"condition":[[{"field":"warehouse_no","logic":"neqv2","value":"07"}]]

该过滤器表示排除仓库编码为07的数据。

实际调用示例

通过轻易云平台,我们可以配置上述元数据,并发起API请求。以下是一个实际的请求示例:

{
  “api”: “wdt.wms.stockin.refund.querywithdetail”,
  “method”: “POST”,
  “request”: {
    “pager”: {
      “page_size”: “50”,
      “page_no”: “1”
    },
    “params”: {
      “start_time”: “2023-10-01T00:00:00Z”,
      “end_time”: “2023-10-31T23:59:59Z”,
      “status”: “80”,
      “time_type”: “0”,
      “warehouse_no”: “”,
      “shop_nos”: “” 
    }
  }
}

数据清洗与转换

在获取到原始数据后,我们需要对其进行清洗和转换,以便后续处理。常见的数据清洗操作包括:

  • 字段映射:将源系统字段映射到目标系统字段。
  • 数据格式转换:例如,将日期格式从字符串转换为标准日期格式。
  • 异常值处理:过滤或修正异常值。

通过轻易云平台的可视化界面,可以方便地配置这些清洗和转换规则。例如,可以使用拖拽操作将源字段拖到目标字段,并设置相应的转换规则。

写入目标系统

经过清洗和转换后的数据,需要写入到目标系统。这一步通常涉及到调用目标系统的API接口,或者将数据存储到数据库中。在轻易云平台上,可以通过简单配置实现这一过程,无需编写复杂代码。

总结来说,通过轻易云数据集成平台调用旺店通·旗舰奇门接口wdt.wms.stockin.refund.querywithdetail,我们能够高效地获取并加工销售退货单的数据。利用平台提供的可视化工具和全生命周期管理功能,可以大大简化数据集成过程,提高工作效率。 金蝶与SCM系统接口开发配置

使用轻易云数据集成平台将源数据转换并写入金蝶云星空API接口的技术案例

在数据集成生命周期的第二步中,我们需要将已经集成的源平台数据进行ETL转换,并转为目标平台金蝶云星空API接口所能够接收的格式,最终写入目标平台。本文将详细介绍如何使用轻易云数据集成平台配置元数据,实现这一过程。

配置元数据

我们首先需要配置元数据,以便将源数据转换为金蝶云星空API接口能够接收的格式。以下是一个典型的元数据配置示例:

{
  "api": "batchSave",
  "method": "POST",
  "idCheck": true,
  "operation": {
    "rowsKey": "array",
    "rows": 20,
    "method": "batchArraySave"
  },
  "request": [
    {
      "field": "FBillTypeID",
      "label": "单据类型",
      "type": "string",
      "describe": "单据类型",
      "parser": {
        "name": "ConvertObjectParser",
        "params": "FNumber"
      },
      "value": "XSTHD07_SYS"
    },
    {
      "field": "FBillNo",
      "label": "单据编号",
      "type": "string",
      "describe": "单据编号",
      "value": "{order_no}"
    },
    {
      ...
    }
  ],
  ...
}

数据请求与清洗

在进行ETL转换之前,我们首先需要从源系统请求数据并进行清洗。假设我们从一个销售退货单系统获取原始数据,以下是一个简化的数据请求示例:

{
  "order_no": "SO12345678",
  ...
}

通过轻易云的数据请求功能,我们可以获取这些原始数据,并对其进行必要的清洗和预处理。例如,将日期格式标准化,将字符串字段去除多余空格等。

数据转换

接下来,我们使用元数据配置中的字段映射和解析器,将清洗后的源数据转换为金蝶云星空API所需的格式。以下是几个关键字段的转换示例:

  1. 单据类型(FBillTypeID)

    • 源数据:固定值 "XSTHD07_SYS"
    • 转换方式:使用 ConvertObjectParser 将其解析为金蝶云星空所需的对象格式。
  2. 单据编号(FBillNo)

    • 源数据:{order_no}
    • 转换方式:直接映射为目标字段。
  3. 日期(FDate)

    • 源数据:{{check_time|datetime}}
    • 转换方式:使用模板语法将日期格式化为目标系统所需格式。
  4. 退货客户(FRetcustId)

    • 源数据:{shop_no}
    • 转换方式:使用 ConvertObjectParser 将其解析为金蝶云星空所需的对象格式。
  5. 明细信息(FEntity)

    • 源数据:details_list
    • 转换方式:遍历明细列表中的每一项,并根据子字段配置进行相应转换。

数据写入

完成所有字段的转换后,我们将构建好的目标格式数据通过HTTP POST请求写入金蝶云星空API接口。以下是一个简化的数据写入示例:

{
  ...
  {
    field: 'FormId',
    value: 'SAL_RETURNSTOCK'
  },
  {
    field: 'Operation',
    value: 'Save'
  },
  {
    field: 'IsAutoSubmitAndAudit',
    value: true
  },
  ...
}

通过这种方式,我们可以确保源平台的数据被正确地转换并写入到目标平台中,实现不同系统间的数据无缝对接。

实际案例应用

在实际应用中,我们可以根据业务需求灵活调整元数据配置。例如,对于销售退货单中的明细信息,可以根据商品编码、数量、价格等字段进行详细配置,以确保每一条记录都能准确映射到目标系统中。

{
  ...
  {
    field: 'FEntity',
    children: [
      {
        field: 'FMaterialId',
        value: '{{details_list.goods_no}}'
      },
      {
        field: 'FRealQty',
        value: '{{details_list.num}}'
      },
      ...
    ]
  }
}

通过这种灵活配置,我们可以满足各种复杂业务场景下的数据集成需求,提高系统间的数据交互效率和准确性。

总结来说,利用轻易云数据集成平台强大的元数据配置和ETL功能,我们能够高效地实现不同系统间的数据无缝对接,为企业提供可靠的数据集成解决方案。 如何开发用友BIP接口

更多系统对接方案