轻易云数据集成平台:从旺店通到金蝶云星空的ETL实践

  • 轻易云集成顾问-李国敏

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

在应对复杂多变的电商环境时,企业往往需要高效整合多个系统的数据,实现业务流程的无缝衔接。特别是在处理电商平台和ERP系统之间的数据流转时,保持数据的一致性和实时性尤为关键。本案例将详细介绍如何通过轻易云数据集成平台,将旺店通·旗舰奇门中的店铺信息同步至金蝶云星空,并确保已同步的数据不会被重复处理。

接口选择与基本配置

首先,我们使用旺店通·旗舰奇门提供的API接口wdt.setting.shop.queryshop来获取最新的店铺信息。该接口支持分页查询,可以有效避免因一次请求返回过多数据而导致性能问题。同时,通过设置合理的时间间隔进行定时抓取,确保能够及时获取新增或更新的店铺数据。

{
  "page_no": 1,
  "page_size": 50
}

在成功获取到最新的店铺信息后,需要利用金蝶云星空提供的批量写入API batchSave 将这些数据写入ERP系统中。在这里,为了保证效率和可靠性,我们采用批量操作方式,同时结合事务机制,一旦出现错误即可进行重试处理,从而减少因网络波动或其他异常情况带来的影响。

数据转换与映射

由于旺店通·旗舰奇门与金蝶云星空在字段命名规范和结构上存在差异,因此需要自定义转换逻辑来适应各自特有的数据格式。例如:

  • 旺店通字段:shop_name
  • 金蝶云字段:StoreName

这些映射关系可通过可视化工具灵活配置,使得整个数据流设计过程更加直观。此外,在实际应用中,也需考虑不同接口返回值约束问题,例如字符长度、必填项等,以便提前规避潜在风险。

异常检测与日志记录

为了进一步提升稳定性,本方案还引入了集中监控和告警系统,对每次任务执行状态以及性能指标进行实时跟踪。一旦检测到异常情况,如网络超时或者接口限流,即刻触发告警通知相关运维人员。这一措施不仅提高了故障响应速度,还为后续优化调整提供了重要依据。同时,通过完善日志记录功能,我们可以清晰地回溯每一个步骤所发生的问题,有助于快速定位并解决具体技术难点。

以上是本案例开头部分的大致内容,在下文中我们将深入探讨具体实现细节,并演示代码实例及其效果。 用友与CRM系统接口开发配置

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

在数据集成生命周期的第一步中,调用源系统接口获取数据是至关重要的一环。本文将详细探讨如何使用轻易云数据集成平台调用旺店通·旗舰奇门接口wdt.setting.shop.queryshop,并对获取的数据进行初步加工。

接口调用配置

首先,我们需要配置接口调用的元数据。根据提供的元数据配置,我们可以看到该接口采用POST方法,并且需要传递分页参数和业务参数。具体配置如下:

{
  "api": "wdt.setting.shop.queryshop",
  "method": "POST",
  "number": "shop_no",
  "id": "shop_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": int,
          "value": 1,
          "parent": pager
        }
      ]
    },
    {
      "field": params,
      label: 业务参数,
      type: object,
      children: [
        {
          field: shop_no,
          label: 店铺编号,
          type: string,
          parent: params
        }
      ]
    }
  ]
}

配置解析

  1. API和方法api字段指定了要调用的接口为wdt.setting.shop.queryshopmethod字段指定了请求方法为POST。
  2. 唯一标识numberid字段均为shop_no,表示店铺编号是唯一标识符。
  3. 请求参数
    • pager对象包含分页参数,包括每页大小(默认50)和页号(默认1)。
    • params对象包含业务参数,这里仅有一个店铺编号字段。

数据请求与清洗

在轻易云数据集成平台中,我们可以通过以下步骤实现对该接口的数据请求与清洗:

  1. 构建请求体: 根据元数据配置构建请求体。假设我们要查询第一页的数据,请求体应如下所示:

    {
     pager: {
       page_size: '50',
       page_no: 1
     },
     params: {
       shop_no: ''
     }
    }
  2. 发送请求: 使用轻易云平台提供的HTTP客户端发送POST请求,并接收响应数据。响应数据通常为JSON格式,需要解析以提取有用信息。

  3. 初步清洗: 对响应的数据进行初步清洗,例如去除空值、格式化日期等。假设响应数据如下:

    {
     data: [
       { shop_no: 'S001', shop_name: 'Shop A', created_at: '2023-01-01T00:00:00Z' },
       { shop_no: 'S002', shop_name: 'Shop B', created_at: '2023-01-02T00:00:00Z' }
     ],
     total_count: 2
    }

    我们可以对日期进行格式化,将其转换为更易读的形式:

    {
     data_cleaned: [
       { shop_no: 'S001', shop_name: 'Shop A', created_at: '2023-01-01' },
       { shop_no: 'S002', shop_name: 'Shop B', created_at: '2023-01-02' }
     ],
     total_count_cleaned: 2
    }

数据转换与写入

在完成初步清洗后,可以将数据传递到下一阶段进行转换与写入。这一步通常包括将数据映射到目标系统的数据模型,并执行必要的转换操作,以确保数据一致性和完整性。

通过上述步骤,我们成功地调用了旺店通·旗舰奇门接口获取店铺信息,并进行了初步的数据清洗,为后续的数据处理奠定了基础。在实际应用中,可以根据具体需求进一步优化和扩展这些操作,以实现更复杂的数据集成任务。 用友与CRM系统接口开发配置

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

在数据集成过程中,ETL(Extract, Transform, Load)是关键步骤之一,尤其是在将源平台的数据转换为目标平台所能接收的格式时。本文将深入探讨如何使用轻易云数据集成平台,将已经集成的源平台数据进行ETL转换,并通过金蝶云星空API接口写入目标平台。

数据请求与清洗

在进入ETL转换之前,首先需要从源平台获取原始数据并进行清洗。这一步骤确保了数据的准确性和一致性,为后续的转换和写入奠定基础。假设我们已经完成了这一阶段,现在进入数据转换与写入阶段。

数据转换与写入

轻易云数据集成平台支持多种异构系统间的数据无缝对接。为了将源平台的数据转化为金蝶云星空API接口能够接收的格式,我们需要配置相应的元数据。以下是具体的元数据配置示例:

{
  "api": "batchSave",
  "method": "POST",
  "idCheck": true,
  "operation": {
    "rowsKey": "array",
    "rows": 20,
    "method": "batchArraySave"
  },
  "request": [
    {
      "field": "FName",
      "label": "客户名称",
      "type": "string",
      "value": "{shop_name}"
    },
    {
      "field": "FNumber",
      "label": "客户编码",
      "type": "string",
      "value": "{shop_no}"
    },
    {
      "field": "FCreateOrgId",
      "label": "创建组织",
      "type": "string",
      "parser": {
        "name": "ConvertObjectParser",
        "params":"FNumber"
      },
      "value":"100"
    },
    {
      "field":"FUseOrgId",
      "label":"使用组织",
      "type":"string",
      "parser":{
        "name":"ConvertObjectParser",
        'params':"FNumber"
      },
      'value':"100"
    },
    {
      'field':'FDescription',
      'label':'描述',
      'type':'string'
    }
  ],
  'otherRequest':[
    {
      'field':'FormId',
      'label':'业务对象表单Id',
      'type':'string',
      'describe':'必须填写金蝶的表单ID如:PUR_PurchaseOrder',
      'value':'BD_Customer'
    },
    {
      'field':'Operation',
      'label':'执行的操作',
      'type':'string',
      'value':'BatchSave'
    },
    {
      'field':'IsAutoSubmitAndAudit',
      'label':'提交并审核',
      'type':'bool',
      'value':'true'
    },
    {
        'field':"IsVerifyBaseDataField",
        'label':"验证基础资料",
        'type':"bool",
        'describe':"是否验证所有的基础资料有效性,布尔类,默认false(非必录)",
        'value':"false"
     }
   ]
}

元数据配置解析

  1. API与方法

    • api字段指定了调用金蝶云星空API的方法,这里使用的是batchSave
    • method字段指定了HTTP请求方法,这里使用的是POST
  2. 操作参数

    • idCheck: 用于检查是否存在重复ID。
    • operation: 定义了批量保存操作的细节,包括每次处理的数据行数(rows)和方法(batchArraySave)。
  3. 请求字段映射

    • request: 定义了需要传递给金蝶云星空API的数据字段及其映射关系。
      • FName: 映射到客户名称,值来自源数据中的{shop_name}
      • FNumber: 映射到客户编码,值来自源数据中的{shop_no}
      • FCreateOrgIdFUseOrgId: 分别映射到创建组织和使用组织,通过解析器(ConvertObjectParser)将固定值“100”转化为适当格式。
      • FDescription: 描述字段,可以根据需求添加相应内容。
  4. 其他请求参数

    • FormId: 指定业务对象表单ID,这里是客户信息表单ID“BD_Customer”。
    • Operation: 指定执行的操作类型,这里是批量保存“BatchSave”。
    • IsAutoSubmitAndAudit: 是否自动提交并审核,设置为“true”以简化流程。
    • IsVerifyBaseDataField: 是否验证基础资料有效性,默认设置为“false”。

数据写入

配置完成后,通过轻易云数据集成平台发起HTTP POST请求,将处理后的数据发送到金蝶云星空API接口,实现最终的数据写入。该过程由全异步机制支持,确保高效、稳定的数据传输。

以上技术案例展示了如何通过元数据配置,实现从源平台到金蝶云星空目标平台的数据ETL转换与写入。这一过程不仅提高了业务透明度和效率,还确保了不同系统间的数据一致性和完整性。 数据集成平台可视化配置API接口

更多系统对接方案