如何通过轻易云平台进行ETL转换并写入金蝶云

  • 轻易云集成顾问-曾平安

销售退换管理对接案例分析:旺店通·旗舰奇门数据集成到金蝶云星空

在复杂的企业业务系统中,销售退换管理环节的数据精准和高效处理至关重要。本文将在具体技术案例中详细探讨如何通过轻易云数据集成平台,实现旺店通·旗舰奇门与金蝶云星空间的数据无缝对接。

数据获取与API调用

首先,我们需要确保从旺店通·旗舰奇门接口 wdt.aftersales.refund.refund.search 获取准确且全量的销售退换数据。通过设置定时任务,可靠地抓取接口中的所有必要信息,保证不漏单成为关键步骤。在实际操作中,通过分页处理和限流机制,有效避免了大批量数据请求带来的性能瓶颈问题。

{
    "method": "wdt.aftersales.refund.refund.search",
    "timestamp": "<current_timestamp>",
    "page_no": 1,
    "page_size": 100,
    // ... other necessary parameters
}

数据格式转换及映射

由于旺店通·旗舰奇门与金蝶云星空之间存在一定的数据格式差异,因此在传输过程中,必须进行有效的转换和映射。例如,对于退款订单编号、商品信息、客户信息等字段,需要根据两边系统的字段定义进行适配。这一步骤可以使用轻易云提供的数据映射功能来实现,从而确保数据一致性及完整性。

def map_data(source):
    return {
        'order_id': source['refund_order_no'],
        'product_info': source['goods_array'],
        'customer_name': source['buyer_nick'],
        # additional fields mapping...
    }

批量写入目标系统

完成了数据获取和格式转化后,即可将这些清洗后的数据批量写入金蝶云星空。这里我们利用其提供的 batchSave API 实现快速、高效的一次性大量数据写入,同时为每个记录生成唯一标识,以便于后续追踪与核实。

{
   "method":"batchSave",
   "data":[ 
      {
         // cleaned and mapped data structure matching 金蝶云星空 requirements...
      },
      {
         // another record...
      }
   ]
}

异常处理及日志监控

为了应对可能出现的网络错误或其他异常情况,我们设计了完善的错误重试机制以及实时监控功能。一旦发现某条记录未能成功传输,将自动触发重试逻辑,并通过日志记录详细的信息以备查证。这不仅提高了整体流程的稳定性,还增强了运维阶段的问题排查效率。

![用友与CRM系统接口开发配置](https://pic.qeasy.cloud/D19.png~tplv-syqr462i7n-qeasy.image)
### 调用旺店通·旗舰奇门接口wdt.aftersales.refund.refund.search获取并加工数据

在数据集成的生命周期中,调用源系统接口是至关重要的一步。本文将详细介绍如何使用轻易云数据集成平台配置元数据,以调用旺店通·旗舰奇门接口`wdt.aftersales.refund.refund.search`获取并加工数据。

#### 接口调用配置

首先,我们需要配置接口的元数据。根据提供的元数据配置,可以看到该接口使用POST方法,主要参数分为分页参数和业务参数两大类。

```json
{
  "api": "wdt.aftersales.refund.refund.search",
  "method": "POST",
  "number": "refund_no",
  "id": "refund_no",
  "idCheck": true,
  "request": [
    {
      "field": "pager",
      "label": "分页参数",
      "type": "object",
      "children": [
        {
          "field": "page_size",
          "label": "分页大小",
          "type": "string",
          "value": "200",
          "parent": "pager"
        },
        {
          "field": "page_no",
          "label": "页号",
          "type": "string",
          "value": "1",
          "parent": "pager"
        }
      ]
    },
    {
      ...
    }
  ],
  ...
}

分页参数设置

分页参数用于控制每次请求的数据量和页码。默认情况下,page_size设置为200,page_no设置为1。这意味着每次请求将返回最多200条记录,从第一页开始。

{
  ...
  {
    "field": "pager",
    ...
    {
      ...
      {
        "field": "page_size",
        ...
        {"value":"200"}
      },
      {
        ...
        {"value":"1"}
      }
    }
  }
}

业务参数设置

业务参数包含多个字段,如店铺编号、原始单号、客户网名等。这些字段可以根据实际需求进行调整。例如,我们可以通过设置modified_frommodified_to来获取特定时间范围内的数据。

{
  ...
  {
    ...
    {
      ...
      {
        ...
        {"field":"modified_from","value":"{{LAST_SYNC_TIME|datetime}}"},
        {"field":"modified_to","value":"{{CURRENT_TIME|datetime}}"}
      }
    }
  }
}

条件过滤

在请求数据时,我们还可以添加条件过滤,以确保获取的数据符合特定要求。例如,我们可以排除某些仓库编号的数据:

{
  ...
  {"condition":[[{"field":"return_warehouse_no","logic":"neqv2","value":"CK002"},...]]}
}

数据请求与清洗

完成元数据配置后,即可发起API请求。轻易云平台会根据配置自动生成请求报文,并处理响应结果。在这个过程中,平台会对返回的数据进行清洗和转换,以确保数据质量。

例如,对于返回的JSON数据,可以通过映射字段来提取所需信息,并进行格式化处理:

{
  ...
  {"response":[{"field":"refund_no","label":"退换单号"},...]}
}

实时监控与错误处理

在整个过程中,轻易云平台提供了实时监控功能,可以随时查看数据流动和处理状态。如果出现错误,平台会记录详细的日志信息,便于排查和解决问题。

通过以上步骤,我们成功地调用了旺店通·旗舰奇门接口wdt.aftersales.refund.refund.search并获取了所需的数据。轻易云平台的全生命周期管理和可视化操作界面,使得这一过程变得高效且透明。 打通金蝶云星空数据接口

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

在数据集成生命周期的第二步中,我们将已经集成的源平台数据进行ETL(Extract, Transform, Load)转换,最终转为目标平台金蝶云星空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": "XSTHD01_SYS"
    },
    {
      "field": "FBillNo",
      ...
    }
  ],
  ...
}

配置解析与应用

  1. 单据类型 (FBillTypeID)

    • 字段:FBillTypeID
    • 类型:string
    • 描述:单据类型
    • 转换器:ConvertObjectParser,参数为FNumber
    • 值:固定值XSTHD01_SYS
  2. 单据编号 (FBillNo)

    • 字段:FBillNo
    • 类型:string
    • 描述:单据编号
    • 值:动态值 {refund_no},从源数据中获取
  3. 库存组织 (FStockOrgId)

    • 字段:FStockOrgId
    • 类型:string
    • 描述:组织
    • 值:通过MongoDB查询获取 _mongoQuery c9d6a98c-dc87-3df1-9668-c6b2486e0570 findField=content.address where={"content.shop_no":{"$eq":"{shop_no}"}}
    • 转换器:ConvertObjectParser,参数为 FNumber
  4. 销售组织 (FSaleOrgId)

    • 字段:FSaleOrgId
    • 类型:string
    • 描述:组织
    • 值:通过MongoDB查询获取 _mongoQuery c9d6a98c-dc87-3df1-9668-c6b2486e0570 findField=content.zip where={"content.shop_no":{"$eq":"{shop_no}"}}
    • 转换器:ConvertObjectParser,参数为 FNumber
  5. 日期 (FDate)

    • 字段:FDate
    • 类型:string
    • 描述:日期
    • 值:动态值 {{modified|datetime}}
  6. 退货客户 (FRetcustId)

    • 字段:FRetcustId
    • 类型:string
    • 描述:基础资料
    • 值:动态值 {shop_no}
    • 转换器:ConvertObjectParser,参数为 FNumber
  7. 销售部门 (FSaledeptid): ...

  8. 结算币别 (FSettleCurrId): ...

  9. 明细信息 (FEntity): ...

  10. 财务信息 (SubHeadEntity): ...

批量保存配置

在上述配置中,我们使用了批量保存 (batchSave) API 方法,通过 POST 请求将转换后的数据发送到金蝶云星空。每个字段都进行了详细配置,包括字段名称、类型、描述、值来源以及必要时使用的数据转换器。

特别注意的是,对于某些字段,我们使用了 MongoDB 查询 (_mongoQuery) 来动态获取值,并通过 ConvertObjectParser 转换为目标系统所需的格式。这种方法确保了数据的一致性和准确性。

实际应用案例

假设我们有一条销售退货记录,其源数据如下:

{
  "refund_no": "TH20231001",
  ...
}

通过上述元数据配置,这条记录将被转换为如下格式,并发送到金蝶云星空:

{
  ...
}

在实际操作中,我们可以通过轻易云提供的可视化界面实时监控和调整每个步骤,确保整个过程顺利进行。

总结来说,通过合理配置元数据并利用轻易云的数据处理能力,我们可以高效地将源平台的数据转换并写入目标平台金蝶云星空,实现不同系统间的数据无缝对接。 如何开发用友BIP接口

更多系统对接方案