从接口调用到数据转换:ETL如何实现旺店通与金蝶云的无缝连接

  • 轻易云集成顾问-孙传友

案例分享:旺店通·旗舰奇门数据集成到金蝶云星空

在企业信息化系统中,实现跨平台的数据集成是提升业务效率和准确性的关键环节。本案例将详细介绍如何通过轻易云数据集成平台,将旺店通·旗舰奇门中的预入库单数据无缝对接至金蝶云星空的销售退货单模块。

一、任务概述

此次对接方案名为“旗舰-旺店通-预入库——>金蝶-销售退货单”,核心目标是确保从旺店通·旗舰奇门获取的预入库单数据能够高效且不漏单地写入到金蝶云星空,并实现整个过程中各个环节的实时监控与可靠性保障。

二、接口调用与数据处理

为了实现上述目标,首先我们需要调用旺店通·旗舰奇门提供的数据接口 wdt.wms.stockin.prestockin.search 来抓取原始的预入库单。该接口支持分页查询以应对大规模数据传输需求,同时有一定限流机制,需要特别注意避免触发频率限制。在抓取完成后,通过适当的数据转换逻辑处理,使得这些数据符合金蝶云星空的格式要求。

三、确保快速及可靠的数据传输

在轻松解决了分页和限流问题之后,我们要考虑的是如何将大量经过转换后的数据信息快速而稳定地写入到金蝶云星空。这时,就需要使用其API batchSave 进行批量插入操作。该API支持一次性插入多条记录,可以有效提高写入速度。此外,我们还设计了错误重试机制来应对异常情况,保证即便某些插入操作失败,也不会丢失任何一条重要的数据。

通过以上步骤,成功将两套系统无缝衔接起来,不仅提升了整体工作效率,还确保了每笔交易记录都能准确反映在最终报表中。 用友BIP接口开发配置

调用旺店通·旗舰奇门接口获取并加工数据

在数据集成的生命周期中,第一步是调用源系统的API接口获取原始数据。本文将详细探讨如何使用轻易云数据集成平台调用旺店通·旗舰奇门接口wdt.wms.stockin.prestockin.search,并对获取的数据进行初步加工。

接口调用配置

首先,我们需要配置元数据以便正确调用API接口。以下是关键配置项:

  • API名称: wdt.wms.stockin.prestockin.search
  • 请求方法: POST
  • 查询参数:
    • pager: 分页信息
    • page_size: 每页记录数,默认值为50
    • page_no: 当前页码,默认值为1
    • params: 查询条件
    • mt_from: 起始时间,使用上次同步时间{{LAST_SYNC_TIME|datetime}}
    • mt_to: 结束时间,使用当前时间{{CURRENT_TIME|datetime}}
    • status: 状态过滤,80表示已完成

请求示例

根据上述配置,我们构造一个POST请求示例如下:

{
  "pager": {
    "page_size": "50",
    "page_no": "1"
  },
  "params": {
    "mt_from": "{{LAST_SYNC_TIME|datetime}}",
    "mt_to": "{{CURRENT_TIME|datetime}}",
    "status": 80
  }
}

该请求将返回符合条件的预入库单信息。

数据格式化与转换

为了确保数据在后续处理阶段的可用性,我们需要对返回的数据进行格式化和转换。元数据配置中定义了一个格式化规则:

  • 将字段check_time转换为check_date,并将其格式化为日期时间类型。

这一步骤可以通过轻易云平台的自动填充响应功能实现,即在接收到API响应后自动应用这些转换规则。

条件过滤

为了进一步筛选出我们关心的数据,可以在元数据中添加条件过滤。例如,我们可以添加一个条件来过滤掉检查时间早于某个特定时间点的数据:

"condition": [
  [
    {
      "field": "check_time",
      "logic": "egt",
      "value": "1722700800000"
    }
  ]
]

这个条件表示只保留检查时间大于等于指定时间戳的数据。

实际应用案例

假设我们已经成功调用了接口并获取了原始数据,接下来我们需要将这些数据写入目标系统。在本案例中,我们的目标系统是金蝶的销售退货单。为了实现这一目标,需要进行以下步骤:

  1. 数据清洗: 根据业务需求清洗和过滤原始数据。
  2. 数据映射: 将清洗后的数据字段映射到金蝶系统所需的字段。
  3. 数据写入: 使用轻易云平台提供的适配器将处理后的数据写入金蝶系统。

通过上述步骤,我们实现了从旺店通·旗舰奇门到金蝶系统的数据集成。这不仅提高了业务流程的自动化程度,还确保了数据的一致性和准确性。

以上就是调用旺店通·旗舰奇门接口获取并加工数据的详细技术方案。在实际操作中,可以根据具体业务需求调整和优化各个环节,以达到最佳效果。 如何开发用友BIP接口

使用轻易云数据集成平台进行ETL转换并写入金蝶云星空API接口

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

元数据配置解析

我们使用的元数据配置如下:

{
  "api": "batchSave",
  "effect": "EXECUTE",
  "method": "POST",
  "idCheck": true,
  "request": [
    {
      "field": "FBillTypeID",
      "label": "单据类型",
      "type": "string",
      "describe": "单据类型",
      "parser": {
        "name": "ConvertObjectParser",
        "params": "FNumber"
      },
      "value": "XSTHD01_SYS"
    },
    {
      ...
    }
  ],
  ...
}

数据请求与清洗

在ETL过程中,首先需要从源平台(如旺店通)请求数据并进行清洗。假设我们已经完成了这一步,接下来我们将重点放在如何将清洗后的数据转换为金蝶云星空API接口所需的格式。

数据转换与写入

  1. 单据类型(FBillTypeID):

    {
     "field": "FBillTypeID",
     "label": "单据类型",
     "type": "string",
     "describe": "单据类型",
     "parser": {
       "name": "ConvertObjectParser",
       "params": "FNumber"
     },
     "value": "XSTHD01_SYS"
    }
    • FBillTypeID字段表示单据类型,通过ConvertObjectParser解析器将值转换为金蝶系统所需的格式。
  2. 单据编号(FBillNo):

    {
     ...
     {
       "field": "FBillNo",
       ...
     }
    }
    • FBillNo字段直接映射源平台中的单据编号,无需特殊处理。
  3. 销售组织(FSaleOrgId)和库存组织(FStockOrgId):

    {
     ...
     {
       ...
       {
         ...
         {
           ...
           {
             ...
             {
               ...
               {
                 ...
                 {
                   ...
                   {
                     ...
                     {
                       ...
                       {
                         ...
                         {
                           ...
                           {
                             ...
                             {
                               ...
                               {
                                 ...
                                 {
                                   ...
                                   {
                                     ...
                                     {
                                       ...
                                       [
                                         ...,
                                         {"field":"FSaleOrgId","label":"销售组织","type":"string","describe":"组织","parser":{"name":"ConvertObjectParser","params":"FNumber"},"value":"101"},
                                         {"field":"FStockOrgId","label":"库存组织","type":"string","describe":"组织","parser":{"name":"ConvertObjectParser","params":"FNumber"},"value":"101"}
                                       ]
                                     }
                                   }
                                 }
                               }
                             }
                           }
                         }
                       }
                     }
                   }
                 }
               }
             }
           }
         }
       ]
     },
     {"field":"SubHeadEntity","label":"财务信息","type":"object","describe":"财务信息","children":[{"field":"FSettleOrgId","label":"结算组织","type":"string","describe":"组织","parser":{"name":"ConvertObjectParser","params":"FNumber"},"value":"101"}]}
    • FSaleOrgIdFStockOrgId字段均通过ConvertObjectParser解析器,将值转换为金蝶系统所需的格式。
  4. 日期(FDate):

    {"field":"FDate","label":"日期","type":"string","describe":"日期","value":"{{check_time|datetime}}"}
    • FDate字段使用模板变量,将源平台的数据格式化为金蝶系统所需的日期格式。
  5. 退货客户(FRetcustId):

    {"field":"FRetcustId","label":"退货客户","type":"string","describe":"基础资料","parser":{"name":"ConvertObjectParser","params":"FNumber"},"value":"001.0017"}
    • FRetcustId字段通过ConvertObjectParser解析器,将值转换为金蝶系统所需的格式。
  6. 明细信息(FEntity):

    {"field":"FEntity",...,"children":[{"field":"FMaterialId",...},{"field":"FRealQty",...},{"field\":\"...\"}]}
    • FEntity字段包含多个子字段,如物料编码、实退数量等,每个子字段均映射源平台的数据,并通过相应的解析器进行转换。
  7. 财务信息(SubHeadEntity):

    {"field\":\"SubHeadEntity\",\"label\":\"财务信息\",\"type\":\"object\",\"describe\":\"财务信息\",\"children\":[{\"field\":\"FSettleOrgId\",\"label\":\"结算组织\",\"type\":\"string\",\"describe\":\"组织\",\"parser\":{\"name\":\"ConvertObjectParser\",\"params\":\"FNumber\"},\"value\":\"101\"}]}
    • SubHeadEntity字段包含财务相关的信息,如结算组织,通过解析器进行转换。

API调用配置

最后,我们需要配置API调用参数:

{
  ...,
  {"field\":\"FormId\",\"label\":\"业务对象表单Id\",\"type\":\"string\",\"describe\":\"必须填写金蝶的表单ID如:PUR_PurchaseOrder\",\"value\":\"SAL_RETURNSTOCK\"},
  {"field\":\"Operation\",\"label\":\"执行的操作\",\"type\":\"string\",\"describe\":\"执行的操作\",\"value\":\"Save\"},
  {"field\":\"IsAutoSubmitAndAudit\",\"label\":\"提交并审核\",\"type\":\"bool\",\"describe\":\"提交并审核\",\"value\":true},
  {"field\":\"IsVerifyBaseDataField\",\"label\":\"验证基础资料\",\"type\":bool,\"describe\":是否验证所有基础资料有效性,布尔类,默认false(非必录),\"value\":true},
  {"field\":SubSystemId,\"label\":系统模块,\"type\":string,\"describe\":默认仓库模块,\"value\":21},
  {"field\":BatchCount,\"label\":服务端开启线程数,\"type\":string,\"describe\":服务端开启线程数,\"value\":5}
}
  • FormId: 设置业务对象表单ID。
  • Operation: 设置执行操作类型。
  • IsAutoSubmitAndAudit: 设置是否自动提交并审核。
  • IsVerifyBaseDataField: 设置是否验证基础资料有效性。
  • SubSystemId: 设置系统模块。
  • BatchCount: 设置服务端开启线程数。

通过以上配置,我们可以确保数据被正确地转换并写入到金蝶云星空API接口,实现不同系统间的数据无缝对接。 电商OMS与WMS系统接口开发配置

更多系统对接方案