实现金蝶供应商数据到简道云的完整技术解决方案

  • 轻易云集成顾问-黄宏棵

金蝶供应商同步简道云:系统对接集成技术案例

在本次技术分享中,我们将重点讨论如何高效地实现金蝶云星空的数据集成到简道云,具体方案为“金蝶供应商同步简道云”。我们通过轻易云数据集成平台,成功解决了多个在系统对接过程中遇到的关键问题,包括API接口调用、数据格式差异转换和定时可靠的数据抓取。

首先,我们需要从金蝶云星空获取供应商相关数据,这一步主要依赖于executeBillQuery API接口。由于金蝶云星空接口执行存在分页和限流问题,因此我们设计了一套机制以确保所有条目都能被完整提取。在处理分页请求时,每个响应结果都会逐步存入临时数据库以供后续批量操作,防止任何记录遗漏。

接下来是大量数据信息的快速写入至简道云。利用其开放的API /api/v2/app/{app_id}/entry/{entry_id}/data_create,我们得以高效进行批量插入操作。然而,为确保这一过程顺利,无论是在字段匹配上还是在数据类型转换上,都需特别注意。例如,针对日期格式或数值型字段,需要进行适当转换来保证兼容性。

不幸的是,在实际操作中难免会出现一些异常情况。因此,本方案中特别引入了错误重试机制及实时监控与日志记录功能。通过这些措施,不仅可以及时发现并处理错误,还可追溯整个数据处理过程各环节的状态,从而提升整体项目运作的稳定性与安全性。

当然,这一系列步骤也涉及到复杂的数据映射配置,为此我们借助轻易云平台提供的新特性,实现了高度定制化的数据映射,从而使每一次的数据写入都符合预期要求。这些关键点不仅保障了项目顺利上线,也大幅提高了工作效率和准确性,使得我们的客户能够持续稳定地获得他们所需的重要业务信息。 企业微信与OA系统接口开发配置

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

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

接口配置与请求参数

首先,我们需要配置接口的基本信息和请求参数。根据提供的元数据配置,executeBillQuery接口采用POST方法,主要用于查询供应商信息。以下是具体的请求参数配置:

{
  "api": "executeBillQuery",
  "method": "POST",
  "number": "FNumber",
  "id": "FSupplierId",
  "pagination": {
    "pageSize": 100
  },
  "idCheck": true,
  "request": [
    {"field":"FSupplierId","label":"FSupplierId","type":"string","value":"FSupplierId"},
    {"field":"FNumber","label":"编码","type":"string","value":"FNumber"},
    {"field":"FName","label":"名称","type":"string","value":"FName"},
    {"field":"FCreateOrgId_FNumber","label":"创建组织","type":"string","value":"FCreateOrgId.FNumber"},
    {"field":"FUseOrgId_FNumber","label":"使用组织","type":"string","value":"FUseOrgId.FNumber"},
    {"field":"FDescription","label":"描述","type":"string","value":"FDescription"},
    {"field":"FShortName","label":"简称","type":"string","value":"FShortName"},
    {"field":"FMinPOValue","label":"最小订单量","type":"string","describe":"小数","value":"FMinPOValue"},
    {"field":"FCountry_FNumber","label":"国家","type":"string","describe":"单选辅助资料列表","value":"FCountry.FNumber"},
    {"field":"FBusinessStatus","label":"业务状态","type":"string","describe":"单据状态","value":"FBusinessStatus"},
    {"field":...}
  ],
  "otherRequest": [
    {"field": "Limit", "label": "最大行数", "type": "string", "describe": "金蝶的查询分页参数", "value": "{PAGINATION_PAGE_SIZE}"},
    {"field": "StartRow", "label": "开始行索引", "type": "string", "describe": "金蝶的查询分页参数", "value": "{PAGINATION_START_ROW}"},
    {"field":...}
  ]
}

数据请求与清洗

在实际操作中,首先需要构建HTTP请求来调用executeBillQuery接口。以下是一个示例代码片段,用于发送POST请求并获取响应数据:

import requests

url = 'https://api.kingdee.com/executeBillQuery'
headers = {'Content-Type': 'application/json'}
payload = {
  'FormId': 'BD_Supplier',
  'FieldKeys': 'FSupplierId,FNumber,FName,FCreateOrgId.FNumber,FUseOrgId.FNumber,...',
  'FilterString': 'FAuditDate>=\'2023-01-01\'',
  'Limit': 100,
  'StartRow': 0
}

response = requests.post(url, json=payload, headers=headers)
data = response.json()

在获取到原始数据后,需要对其进行清洗和转换,以便后续处理。例如,将日期格式统一、处理空值、转换字段类型等。以下是一个简单的数据清洗示例:

import pandas as pd

# 假设data是从API返回的JSON数据
df = pd.DataFrame(data)

# 清洗和转换数据
df['FAuditDate'] = pd.to_datetime(df['FAuditDate'])
df['FMinPOValue'] = df['FMinPOValue'].astype(float)
df.fillna('', inplace=True)

数据转换与写入

经过清洗的数据需要进一步转换为目标系统所需的格式,并写入目标系统。在此过程中,可以利用轻易云平台提供的可视化工具,实现数据映射和转换规则的配置。

例如,将供应商编码和名称映射到目标系统中的相应字段:

{
  "mappingRules": [
    {"sourceField": "FSupplierId", "targetField": "supplier_id"},
    {"sourceField": "FNumber", "targetField": "supplier_code"},
    {"sourceField":...}
  ]
}

通过这些映射规则,可以确保数据在不同系统之间无缝对接。

实时监控与错误处理

在整个数据集成过程中,实时监控和错误处理至关重要。轻易云平台提供了完善的监控机制,可以实时跟踪每个环节的数据流动和处理状态。一旦出现错误,可以及时捕获并进行处理,确保数据集成过程顺利进行。

例如,通过日志记录和告警机制,可以快速定位并解决问题:

import logging

logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)

try:
  response = requests.post(url, json=payload, headers=headers)
  response.raise_for_status()
except requests.exceptions.RequestException as e:
  logger.error(f"API request failed: {e}")

以上就是调用金蝶云星空接口executeBillQuery获取并加工数据的详细技术方案。通过合理配置接口、清洗和转换数据,以及实时监控和错误处理,可以有效提升数据集成效率,确保业务流程顺畅运行。 电商OMS与ERP系统接口开发配置

使用轻易云数据集成平台实现金蝶供应商数据同步至简道云

在数据集成的生命周期中,ETL(Extract, Transform, Load)转换是将源平台的数据转换为目标平台所需格式的关键步骤。本文将详细探讨如何利用轻易云数据集成平台,将金蝶供应商数据转换并写入简道云API接口。

数据请求与清洗

在进行ETL转换之前,首先需要从金蝶系统中提取供应商数据,并对其进行必要的清洗和预处理。这一步骤确保了数据的准确性和一致性,为后续的转换和写入打下坚实基础。

数据转换与写入

接下来,我们重点关注如何将清洗后的数据通过轻易云平台进行转换,并最终写入到简道云。以下是具体的元数据配置及其解析:

{
  "api": "/api/v2/app/{app_id}/entry/{entry_id}/data_create",
  "method": "POST",
  "idCheck": true,
  "request": [
    {"field":"_widget_1670218674091","label":"供应商编号","type":"string","parser":{"name":"ConvertObjectParser","params":"value"},"value":"{FNumber}"},
    {"label":"供应商名称","field":"_widget_1670218674092","type":"string","value":"{FName}","parser":{"name":"ConvertObjectParser","params":"value"}},
    {"label":"创建组织","field":"_widget_1670218674093","type":"string","value":"{FCreateOrgId_FNumber}","parser":{"name":"ConvertObjectParser","params":"value"}},
    {"label":"简称","field":"_widget_1670218674095","type":"string","value":"{FShortName}","parser":{"name":"ConvertObjectParser","params":"value"}},
    {"label":"使用组织","field":"_widget_1670218674094","type":"string","value":"{FUseOrgId_FNumber}","parser":{"name":"ConvertObjectParser","params":"value"}},
    {"label":"税务登记号","field":"_widget_1670218674096","type":"string","value":"{FTaxRegisterCode}","parser":{"name":"ConvertObjectParser","params":"value"}},
    {"label":"付款条件","field":"_widget_1670218674097","type":"string","value":"{FPayCondition_FNumber}","parser":{"name":"ConvertObjectParser","params":"value"}},
    {"label":"开户银行","field":"_widget_1670218674098","type":"string","value":"{FOpenBankName}"},
    {"label": "银行账号", "field": "_widget_1670218674099", "type": "string", "value": "{FBankCode}", "parser": { "name": "ConvertObjectParser", "params": "value" }},
    {"label": "账户名称", "field": "_widget_1670218674100", "type": "string", "parser": { "name": "ConvertObjectParser", "params": "value" }}
  ],
  "otherRequest":[
    {"field": "is_start_workflow", "label": "是否发起流程(仅流程表单有效)", "type": "string", "value": "true"},
    {"field": "is_start_trigger", "label": "是否触发智能助手", "type": "string", "value": "false"},
    {"field": "transaction_id", "label": "", type: string},
    {"field": "", label: "", type: ""},
    {"field":"","label":"","type":"","}
  ]
}

元数据配置解析

  • API接口/api/v2/app/{app_id}/entry/{entry_id}/data_create

    • 方法:POST
    • ID检查idCheck: true,确保不会重复创建记录。
  • 请求字段

    • 供应商编号 (FNumber) -> _widget_1670218674091
    • 供应商名称 (FName) -> _widget_1670218674092
    • 创建组织 (FCreateOrgId_FNumber) -> _widget_1670218674093
    • 简称 (FShortName) -> _widget_1670218674095
    • 使用组织 (FUseOrgId_FNumber) -> _widget_1670218674094
    • 税务登记号 (FTaxRegisterCode) -> _widget_1670218674096
    • 付款条件 (FPayCondition_FNumber) -> _widget_1670218674097
    • 开户银行 (FOpenBankName) -> _widget_1670218674098
    • 银行账号 (FBankCode) -> _widget_1670218674099
    • 账户名称 -> _widget_1670218674100

每个字段都使用了名为ConvertObjectParser的解析器,将金蝶系统中的字段值转换为简道云所需的格式。

  • 其他请求参数
    • 是否发起流程:设置为true。
    • 是否触发智能助手:设置为false。

这些配置确保了在向简道云写入数据时,能够正确触发相关工作流和智能助手功能。

实际操作步骤

  1. 配置元数据:根据上述元数据配置,在轻易云平台上设置对应的API接口和字段映射关系。
  2. 测试接口连接:通过轻易云提供的测试功能,验证API接口是否能够正常连接并接收数据。
  3. 执行ETL任务:启动ETL任务,将从金蝶系统提取的数据进行转换,并通过配置好的API接口写入到简道云。

通过上述步骤,可以实现从金蝶系统到简道云的数据无缝对接,大大提升了业务处理效率和透明度。 金蝶与CRM系统接口开发配置

更多系统对接方案