利用轻易云数据集成平台将数据写入金蝶云星空API

  • 轻易云集成顾问-彭萍

金蝶云星空与金蝶云星空之间的应收单自动审核系统对接技术案例

在本案例中,我们将重点探讨如何在轻易云数据集成平台上实现金蝶云星空(以下简称“系统A”)到金蝶云星空(以下简称“系统B”)的数据集成,特别是围绕应收单自动审核这一具体业务。方案实际运行名称为:[临时]-应收单自动审核。

集成背景与需求

主要任务是确保从系统A抓取未审核的应收单数据,通过定制化的数据映射后,将其高效、准确地写入到系统B,并执行审计操作。在这个过程中,需要处理api接口executeBillQuery用于获取数据,以及Audit用于写入和状态更新。此外,还要解决分页查询、限流以及异常处理等问题,以确保整个流程的可靠性和实时性。

核心技术挑战及解决方案概述

  1. 如何确保集成不漏单:通过定时可靠地抓取executeBillQuery接口的数据,并使用唯一标识符对比,避免重复导入或遗漏任何一条记录。

  2. 大量数据快速写入:利用批量操作功能,提高API调用效率,同时配合多线程并行处理,实现大规模数据快速注入到目标端。

  3. 异步与错误重试机制:对于执行过程中出现的网络波动或服务器响应超时现象,引入队列机制进行异步补偿和重试策略,减少人工介入力度。

  4. 分页与限流管理:通过设置合理的分页参数,与API交互时控制请求频率,以规避因短时间内大量调用可能引发的限流问题或性能瓶颈。

  5. 实时监控及日志记录: 在集成功能模块设计阶段,即嵌入实时监控组件,对每一步骤进行精细化日志记录。这不仅便于排查故障,还能提供详细报表供后续分析优化之用。

  6. 区别化字段映射处理: 针对两套同类型但不同部署环境下存在的小差异,通过灵活配置字段匹配规则,使原始数据信息能够无损转换传递,保证一致性和完整性。

以上关键点确立了整体架构,有助于顺利达成应收单自动审核任务目标。随后的章节中,我们将逐项详解这些技术解决方案及其实践效果,为大家分享一个真实而又高效的数据集成案例。 如何对接金蝶云星空API接口

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

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

接口配置与调用

首先,我们需要了解executeBillQuery接口的基本配置。根据提供的元数据配置,接口采用POST方法进行调用,主要参数如下:

  • API名称: executeBillQuery
  • 请求方法: POST
  • 主要字段:
    • FID: 唯一标识
    • FBillNo: 单据编号
    • FDocumentStatus: 单据状态

此外,还有一些其他请求参数用于分页和过滤条件:

  • Limit: 最大行数,默认值为2000
  • StartRow: 开始行索引,用于分页
  • TopRowCount: 返回总行数
  • FilterString: 过滤条件,例如 FDocumentStatus <> 'C'
  • FieldKeys: 查询字段集合,例如 FID, FBillNo, FDocumentStatus
  • FormId: 业务对象表单Id,例如 AR_receivable

请求示例

为了更好地理解如何调用该接口,以下是一个具体的请求示例:

{
    "FormId": "AR_receivable",
    "FieldKeys": ["FID", "FBillNo", "FDocumentStatus"],
    "FilterString": "FDocumentStatus <> 'C'",
    "Limit": 2000,
    "StartRow": 0
}

在这个请求中,我们指定了表单ID为AR_receivable,查询字段包括FID, FBillNo, 和FDocumentStatus,并设置了过滤条件以排除已关闭的单据。

数据处理与清洗

在成功获取数据后,我们需要对数据进行初步处理和清洗。这一步骤通常包括以下几个方面:

  1. 字段映射与转换:将从金蝶云星空获取的数据字段映射到目标系统所需的字段格式。例如,将FBillNo映射为目标系统中的订单编号。
  2. 数据过滤与校验:根据业务需求进一步过滤不符合条件的数据,并进行必要的数据校验。例如,确保所有记录的FDocumentStatus都不是'C'。
  3. 异常处理:处理可能出现的数据异常情况,如缺失字段或格式错误等。

实际应用案例

假设我们需要自动审核应收单,在获取并清洗数据后,可以根据业务逻辑对每条记录进行审核操作。以下是一个简化的伪代码示例:

def process_receivable_data(data):
    for record in data:
        if record['FDocumentStatus'] != 'C':
            # 执行审核操作
            audit_receivable(record['FBillNo'])

def audit_receivable(bill_no):
    # 审核逻辑实现
    print(f"Auditing receivable bill: {bill_no}")

# 获取并清洗后的数据示例
data = [
    {"FID": "1", "FBillNo": "20230001", "FDocumentStatus": "A"},
    {"FID": "2", "FBillNo": "20230002", "FDocumentStatus": "B"}
]

process_receivable_data(data)

在这个示例中,我们首先遍历每条记录,如果其状态不是'C',则调用审核函数对其进行审核。

总结

通过轻易云数据集成平台调用金蝶云星空的executeBillQuery接口,我们能够高效地获取应收单数据,并通过初步加工和清洗,为后续的业务处理打下坚实基础。本文详细介绍了接口配置、请求示例以及实际应用案例,希望能为相关技术人员提供有价值的参考。 金蝶与外部系统打通接口

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

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

1. 数据提取与清洗

首先,我们需要从源平台提取相关数据。假设我们已经完成了这一阶段,并且清洗后的数据已经准备好进行下一步处理。在此阶段,我们关注的是如何将这些数据转换为金蝶云星空API所需的格式。

2. 数据转换与写入

为了实现这一目标,我们需要根据金蝶云星空API的要求,对数据进行相应的转换。以下是我们需要配置的元数据:

{
  "api": "Audit",
  "method": "POST",
  "idCheck": true,
  "request": [
    {"field": "FormId", "label": "业务对象表单Id", "type": "string", "describe": "必须填写金蝶的表单ID如:PUR_PurchaseOrder", "value": "AR_receivable"},
    {"field": "Numbers", "label": "编码集合", "type": "string", "value": "{FBillNo}"},
    {"field": "Ids", "label": "id集合", "type": "string"},
    {"field": "InterationFlags", "label": "交互标志集合", "type": "string", "describe":"字符串类型,分号分隔,格式:\"flag1;flag2;...\"(非必录) 例如(允许负库存标识:STK_InvCheckResult)","value":"STK_InvCheckResult"},
    {"field": "IgnoreInterationFlag", "label":"是否允许忽略交互","type":"string","describe":"布尔类型,默认true(非必录)","value":"true"},
    {"field":"NetworkCtrl","label":"是否启用网控","type":"string","describe":"布尔类型,默认false(非必录)","value":"false"},
    {"field":"IsVerifyProcInst","label":"检验单据关联运行","type":"string","describe":"是否检验单据关联运行中的工作流实例,布尔类型,默认false(非必录)","value":"false"}
  ]
}

3. 配置API请求参数

我们需要按照上述元数据配置来构建我们的API请求参数。以下是各个字段的详细说明和配置方法:

  • FormId: 必须填写金蝶的表单ID,例如对于应收单自动审核,我们使用AR_receivable
  • Numbers: 编码集合,这里使用占位符{FBillNo}来动态填充实际值。
  • Ids: ID集合,根据需求可以选择性地填写。
  • InterationFlags: 交互标志集合,例如STK_InvCheckResult表示允许负库存标识。
  • IgnoreInterationFlag: 是否允许忽略交互,默认为true
  • NetworkCtrl: 是否启用网控,默认为false
  • IsVerifyProcInst: 是否检验单据关联运行中的工作流实例,默认为false

4. 构建和发送API请求

在轻易云数据集成平台上,我们可以使用内置的HTTP请求模块来构建和发送上述配置的API请求。以下是一个示例代码片段,用于构建和发送POST请求:

import requests
import json

url = 'https://api.kingdee.com/k3cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit'
headers = {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer your_access_token'
}

data = {
    'FormId': 'AR_receivable',
    'Numbers': ['{FBillNo}'],
    'Ids': '',
    'InterationFlags': 'STK_InvCheckResult',
    'IgnoreInterationFlag': True,
    'NetworkCtrl': False,
    'IsVerifyProcInst': False
}

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

if response.status_code == 200:
    print('Data successfully written to Kingdee Cloud')
else:
    print('Failed to write data:', response.text)

在实际操作中,需要确保替换占位符{FBillNo}为实际的数据值,并且根据具体情况调整其他参数。

5. 数据监控与验证

在成功发送请求后,我们需要监控和验证数据是否正确写入目标平台。这可以通过轻易云平台提供的实时监控功能来实现,确保每个环节都透明可见。

以上就是使用轻易云数据集成平台将源数据转换并写入金蝶云星空API接口的详细技术步骤和实现方法。在实际应用中,根据具体业务需求可能会有更多细节需要调整,但总体流程基本一致。 钉钉与CRM系统接口开发配置

更多系统对接方案