使用轻易云完成金蝶与简道的平台数据转换和写入

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

金蝶-供应商--->简道云-供应商:系统对接集成案例分享

在企业日常业务管理中,数据高效流通和无缝对接是关键环节之一。本文将聚焦于一个具体的系统集成场景——从金蝶云星空的供应商数据到简道云平台的数据对接,实现这一过程的数据流设计、API调用、异常处理与监控。

首先,我们需要利用金蝶云星空提供的executeBillQuery API接口批量抓取供应商数据。该接口具有较强的数据吞吐能力,但也面临分页和限流等问题,需要通过合理的调用策略加以应对。在获取数据后,通过轻易云的平台实现自定义转换逻辑,将这些复杂多样的数据格式统一并映射到适合简道云的平台结构。

为了确保大规模数据写入过程中不漏单,采用分步抓取及实时监控机制显得尤为重要。我们借助精细化操作界面可视化构建了整个流程,并配备了集中监控和告警功能,以便及时发现并处理任何异常情况。

此外,为了提升金蝶与简道之间的数据兼容性问题,需特别注意两者在字段命名、类型以及数值范围等方面的差异。同时,还要考虑如何通过简道云提供的API(例如:/api/v2/app/{app_id}/entry/{entry_id}/data_create)可靠、高效地完成批量数据写入。

这些技术措施不仅确保了跨平台数据的一致性与准确性,也极大地优化了资源配置,并提高了企业运营效率。下面我们将具体探讨各个实施步骤及其技术细节。 用友与WMS系统接口开发配置

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

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

接口配置与请求参数

首先,我们需要配置元数据,以便正确调用金蝶云星空的executeBillQuery接口。以下是关键的元数据配置:

{
  "api": "executeBillQuery",
  "effect": "QUERY",
  "method": "POST",
  "number": "FNumber",
  "id": "FSupplierId",
  "name": "FNumber",
  "idCheck": true,
  "request": [
    {"field":"FSupplierId","label":"FSupplierId","type":"string","describe":"FSupplierId","value":"FSupplierId"},
    {"field":"FNumber","label":"编码","type":"string","describe":"编码","value":"FNumber"},
    {"field":"FName","label":"名称","type":"string","describe":"名称","value":"FName"},
    {"field":"FCreateOrgId_FNumber","label":"创建组织","type":"string","describe":"创建组织","value":"FCreateOrgId.FNumber"},
    {"field":"FUseOrgId_FNumber","label":"使用组织","type":"string","describe":"使用组织","value":"FUseOrgId.FNumber"},
    {"field":"FDescription","label":"描述","type":"string","describe":"描述","value":"FDescription"},
    {"field":"FShortName","label":"简称","type":"string","describe":"简称","value":"FShortName"},
    {"field":"FMinPOValue","label":"最小订单量","type":"string","describe":"最小订单量","value":"FMinPOValue"},
    {"field":"FCountry_FNumber","label":"国家","type":"string","describe":"国家","value":"FCountry.FNumber"},
    {"field":... // 省略部分字段以简化示例
  ],
  "otherRequest": [
    {"field": "Limit", "label": "{PAGINATION_PAGE_SIZE}", "type": "string", "describe": "金蝶的查询分页参数", "value": "{PAGINATION_PAGE_SIZE}"},
    {"field": "StartRow", "label": "开始行索引", "type": "string", "describe": "金蝶的查询分页参数", "value": "{PAGINATION_START_ROW}"},
    {"field":... // 省略部分字段以简化示例
  ],
  "autoFillResponse": true
}

请求示例

根据上述元数据配置,我们可以构建一个请求示例:

{
  "FormId": "BD_Supplier",
  "FieldKeys": ["FSupplierId", "FNumber", ...], // 根据实际需求填写字段
  "FilterString": "FAuditDate>='2023-01-01' and FUseOrgId.FNumber in ('102','109')",
  ...
}

数据获取与初步加工

在成功调用API并获取到供应商数据后,需要对返回的数据进行初步加工。这包括但不限于以下几个步骤:

  1. 字段映射:将API返回的数据字段映射到目标系统所需的字段。例如,将FSupplierId映射为目标系统中的供应商ID。
  2. 数据清洗:处理缺失值、格式不一致等问题。例如,将日期格式统一为ISO标准。
  3. 过滤与筛选:根据业务需求进一步过滤数据。例如,只保留业务状态为“有效”的供应商。

以下是一个简单的数据清洗和映射示例:

def clean_and_map_data(raw_data):
    cleaned_data = []
    for item in raw_data:
        mapped_item = {
            'supplier_id': item.get('FSupplierId'),
            'code': item.get('FNumber'),
            'name': item.get('FName'),
            'organization': item.get('FCreateOrgId_FNumber'),
            ...
        }
        # 数据清洗逻辑,例如处理缺失值
        if not mapped_item['name']:
            mapped_item['name'] = '未知供应商'
        cleaned_data.append(mapped_item)
    return cleaned_data

实践案例

假设我们需要将金蝶云星空中的供应商数据同步到简道云。在轻易云平台上,我们可以通过以下步骤实现这一目标:

  1. 配置API调用:使用上述元数据配置,设置好API调用参数。
  2. 执行API请求:通过轻易云平台发起请求,获取原始供应商数据。
  3. 数据清洗与转换:使用自定义脚本或轻易云提供的数据处理工具,对原始数据进行清洗和转换。
  4. 写入目标系统:将处理后的数据写入简道云。

通过以上步骤,我们能够高效地完成从金蝶云星空到简道云的数据集成,为企业提供实时、准确的数据支持。 钉钉与CRM系统接口开发配置

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

在数据集成的生命周期中,将源平台的数据转换为目标平台所能接受的格式是至关重要的一步。本文将重点探讨如何利用轻易云数据集成平台,将金蝶系统中的供应商数据通过ETL(提取、转换、加载)过程,转化为简道云API接口所能接收的格式,并最终写入简道云。

数据请求与清洗

首先,从金蝶系统中提取供应商相关的数据。假设我们已经完成了这一阶段,获取了如下字段:

  • FUseOrgId_FNumber: 使用组织编码
  • FNumber: 编码
  • FName: 供应商名称
  • FUseOrgId_FName: 使用组织

这些字段需要经过清洗和标准化处理,以确保数据的一致性和完整性。

数据转换与写入

接下来,我们进入数据生命周期的第二步:将清洗后的数据进行ETL转换,并通过简道云API接口写入目标平台。以下是元数据配置,该配置定义了如何将源数据字段映射到目标平台的字段:

{
  "api": "/api/v2/app/{app_id}/entry/{entry_id}/data_create",
  "effect": "EXECUTE",
  "method": "POST",
  "idCheck": true,
  "request": [
    {
      "field": "_widget_1704877011053",
      "label": "使用组织编码",
      "type": "string",
      "describe": "111",
      "value": "{FUseOrgId_FNumber}",
      "parser": {
        "name": "ConvertObjectParser",
        "params": "value"
      }
    },
    {
      "field": "_widget_1704877011054",
      "label": "编码",
      "type": "string",
      "describe": "111",
      "value": "{FNumber}",
      "parser": {
        "name": "ConvertObjectParser",
        "params": "value"
      }
    },
    {
      "field": "_widget_1602205469196",
      "label": "供应商名称",
      "type": "string",
      "value": "{FName}",
      "parser": {
        "name": "ConvertObjectParser",
        "params": "value"
      }
    },
    {
      "field": "_widget_1704877011055",
      "label": "使用组织",
      "type": "string",
      "value": "{FUseOrgId_FName}",
      ``parser``: {
        ``name``: ``ConvertObjectParser``,
        ``params``: ``value``
     }
   }
 ],
  ``otherRequest``: [
   {
     ``field``: ``is_start_workflow``,
     ``label``: ``is_start_workflow``,
     ``type``: ``string``,
     ``describe``: ``111``,
     ``value``: ``true``
   },
   {
     ``field``: ``is_start_trigger``,
     ``label``: ``is_start_trigger``,
     ``type``: ``string``,
     ``describe``: ``111``,
     ``value``: ``false``
   },
   {
     ``field``: ``appId``,
     ``label``: ``appId``,
     ``type``: ``string``,
     ``describe``: ``111``,
     ``value``: ```
642307c010703500087839ac
   },
   {

field


```entryId
```:
```entryId
```:
```entryId
```:
```entryId
```:
```entryId
```:
```entryId
```:
```entryId
```:
```entryId
```:
```entryId
```:
```entryId
```:
```entryId
![打通金蝶云星空数据接口](https://pic.qeasy.cloud/T16.png~tplv-syqr462i7n-qeasy.image)
更多系统对接方案