使用轻易云平台实现ETL并推送数据至简道云的完整教程

  • 轻易云集成顾问-杨嫦

金蝶云星空与简道云数据集成案例分享:销售订单推送简道云审批(教学案例)

在这个技术案例中,我们将聚焦于如何有效地通过轻易云数据集成平台,将金蝶云星空的销售订单数据无缝对接到简道云并实现审批流程。本方案名称为“销售订单推送简道云审批(教学案例)”。

首先,确保不会遗漏任何一条关键的销售订单记录,是这次集成项目的重要目标之一。我们通过调用金蝶云星空的executeBillQuery接口来抓取最新的订单数据,并计划定时执行,以保证数据的及时性和准确性。此外,在处理分页和限流问题时,我们采用了适当的方法进行分批读取,避免因接口访问频繁而导致的数据丢失或延迟。

为了快速且批量地写入大量从金蝶云星空获取的数据到简道云,我们使用了专门开发API /api/v2/app/{app_id}/entry/{entry_id}/data_create。这一过程不仅要求高效,还必须严谨处理两者之间的数据格式差异,以免出现任何不一致的问题。因此,在映射和转换过程中,多数情况下都进行了针对性的定制化调整。

面对潜在的异常情况与错误重试机制,我们根据信号监控实时记录日志,通过分析数据库判断原因,从而立即采取措施纠正。这种可靠性设计极大提高了系统稳定性,使得整个应用程序能够持续、高效运行。

综上所述,这个技术方案展示了一系列复杂但必要的步骤,从调用接口获取源数据,到处理各种可能出现的问题,再到最终成功将这些信息同步至目的系统——这一切都是为了确保跨平台业务流程顺畅衔接,实现全程自动化管理奠定坚实基础。 用友与SCM系统接口开发配置

调用金蝶云星空接口executeBillQuery获取并加工数据

在数据集成的生命周期中,调用源系统接口是至关重要的一步。本文将详细探讨如何通过轻易云数据集成平台调用金蝶云星空的executeBillQuery接口来获取销售订单数据,并进行初步加工。

接口配置与调用

首先,我们需要配置并调用金蝶云星空的executeBillQuery接口。该接口使用POST方法,通过传递特定的请求参数来查询销售订单数据。以下是元数据配置中的关键字段:

  • api: executeBillQuery
  • method: POST
  • number: FBillNo
  • id: FSaleOrderEntry_FEntryID
  • request: 包含多个字段,用于指定查询条件和返回的数据字段。

在实际操作中,我们需要构建一个包含这些字段的请求体。例如:

{
  "FormId": "SAL_SaleOrder",
  "FieldKeys": [
    "FSaleOrderEntry_FEntryID",
    "FID",
    "FBillNo",
    "FDocumentStatus",
    "FSaleOrgId.FNumber",
    "FDate",
    "FCustId.FNumber"
  ],
  "FilterString": "FCreateDate>='2023-01-01' and FDocumentStatus!='C'",
  "Limit": 100,
  "StartRow": 0
}

数据请求与清洗

通过上述请求,我们可以从金蝶云星空获取到符合条件的销售订单数据。接下来,需要对这些数据进行清洗和初步加工,以便后续的数据转换和写入。

  1. 数据清洗:主要包括去除无效数据、格式化日期、处理缺失值等。例如,将日期字段统一格式化为YYYY-MM-DD,去除状态为“已关闭”的订单等。
  2. 字段映射:根据业务需求,将金蝶云星空返回的数据字段映射到目标系统所需的字段。例如,将FSaleOrgId.FNumber映射为目标系统中的销售组织编号。

数据转换与写入

在完成数据清洗后,下一步是将这些数据转换为目标系统所需的格式,并写入目标系统。在轻易云平台上,可以通过配置相应的数据转换规则和写入操作来实现这一过程。

例如,将清洗后的销售订单数据推送到简道云审批系统:

{
  "targetSystem": "简道云审批",
  "dataMapping": {
    "orderNumber": "FBillNo",
    "customerNumber": "FCustId.FNumber",
    "orderDate": "FDate",
    ...
  },
  "writeMethod": {
    ...
  }
}

实时监控与调试

轻易云平台提供了实时监控功能,可以实时查看数据流动和处理状态,确保每个环节都清晰可见。如果在调用接口或处理数据过程中出现问题,可以通过日志和调试工具快速定位并解决问题。

总结

通过轻易云平台调用金蝶云星空的executeBillQuery接口,可以高效地获取销售订单数据,并进行必要的数据清洗和转换。这一过程不仅提升了业务透明度和效率,还为后续的数据处理奠定了坚实基础。在实际应用中,根据具体业务需求灵活调整请求参数和处理逻辑,可以实现更加精准和高效的数据集成。 企业微信与ERP系统接口开发配置

使用轻易云数据集成平台进行ETL转换并推送数据至简道云API接口

在数据集成生命周期的第二步中,我们需要将已经集成的源平台数据进行ETL(提取、转换、加载)处理,并将其转为目标平台——简道云API接口所能够接收的格式,最终写入目标平台。以下是具体的技术实现过程。

配置元数据解析

首先,我们需要理解并配置元数据,以便在ETL过程中正确解析和转换数据。以下是元数据配置示例:

{
  "api": "/api/v2/app/{app_id}/entry/{entry_id}/data_create",
  "effect": "EXECUTE",
  "method": "POST",
  "idCheck": true,
  "request": [
    {
      "field": "_widget_1682588571434",
      "label": "单据编号",
      "type": "string",
      "describe": "111",
      "value": "{FBillNo}",
      "parser": {
        "name": "ConvertObjectParser",
        "params": "value"
      }
    },
    {
      "field": "_widget_1682588571435",
      "label": "发起人",
      "type": "string",
      "describe": "111",
      "value": "{FApproverId}",
      "parser": {
        "name": "ConvertObjectParser",
        "params": "value"
      }
    },
    {
      "field": "_widget_1682588571436",
      "label": "明细",
      "type": "object",
      ...
    }
  ],
  ...
}

数据提取与清洗

在这一阶段,我们从源系统中提取原始数据,并对其进行必要的清洗和预处理。例如,去除无效字段、修正数据格式等。假设我们从ERP系统中提取了销售订单的数据:

{
  FBillNo: 'SO12345',
  FApproverId: 'user001',
  FMaterialId_Fnumber: 'MAT001',
  FTaxPrice: '100.00',
  FQty: '10'
}

数据转换

根据元数据配置,将提取到的数据进行转换,使其符合简道云API接口的要求。利用ConvertObjectParser解析器,可以将原始值直接映射到目标字段。例如:

  • FBillNo 映射到 _widget_1682588571434
  • FApproverId 映射到 _widget_1682588571435
  • FMaterialId_Fnumber 映射到 _widget_1682588571438
  • FTaxPrice 映射到 _widget_1682588571439
  • FQty 映射到 _widget_1682588571440

构建请求体

根据转换后的结果,构建API请求体。以下是构建后的请求体示例:

{
  "_widget_1682588571434": { 
    value: 'SO12345' 
  },
  "_widget_1682588571435":
    { value: 'user001' 
  },
  "_widget_1682588571436":
    { value: [
        {
          "_widget_1682588571438":
            { value: 'MAT001' 
          },
          "_widget_1682588571439":
            { value: '100.00' 
          },
          "_widget_1682588571440":
            { value: '10' 
          }
        }
      ]
    },
  ...
}

API调用与写入

最后,通过HTTP POST方法,将构建好的请求体发送至简道云API接口。确保在请求头中包含必要的认证信息,如API密钥等。

const axios = require('axios');

const requestBody = {
  // 上述构建好的请求体
};

axios.post('https://api.jiandaoyun.com/api/v2/app/63899c8e6705fb000870437d/entry/644a439ff2dc4c0007e7263c/data_create', requestBody, {
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  }
})
.then(response => {
  console.log('Data successfully written:', response.data);
})
.catch(error => {
  console.error('Error writing data:', error);
});

通过上述步骤,我们完成了从源系统提取销售订单数据、进行ETL转换,并成功推送至简道云API接口,实现了跨系统的数据集成。这一过程充分利用了轻易云平台的全异步、多种异构系统支持特性,确保了数据处理的高效和准确。 钉钉与MES系统接口开发配置

更多系统对接方案