轻易云平台下的金蝶云星空APIETL转换教程

  • 轻易云集成顾问-吴伟

案例分享:钉钉数据集成到金蝶云星空——审核销售退货单

在实际企业应用中,如何高效、准确地将不同系统的数据进行对接和集成,是一个关键且复杂的技术挑战。本文将分享一个具体的案例,通过利用先进的数据集成工具,实现钉钉中的销售退货单数据自动写入金蝶云星空,从而实现业务流程自动化与优化。

首先,在数据获取环节,我们基于钉钉提供的API接口——topapi/processinstance/get,定时可靠地抓取相关销售退货单信息。这一步骤要求处理好分页和限流问题,以确保能够完整无误地获取所有需要的数据。此外,为适应企业多样化需求,我们自定义了数据转换逻辑,将原始信息转化为符合目标系统要求的格式。

其次,在数据写入过程中,我们采用了金蝶云星空提供的标准API接口——Audit,大量数据快速被写入目标系统。为了保障这一过程不漏单、不出现错误,各个操作环节通过可视化监控界面实时跟踪,确保每一笔交易都能得到及时处理。一旦检测到异常情况,这套系统还可以自动触发告警并执行错误重试机制,实现全面、高效的问题管理与解决。

此外,本方案还特别针对两大平台之间的数据格式差异进行了详细规划。通过轻松配置元数据映射,并结合金蝶云星空定制化的扩展能力,不仅消除了不兼容风险,还进一步提升了整体运行性能。最终,通过这些技术手段,有效保证了从源头(钉钉)到终端(经由轻易云至金蝶)的全链路精准、一体化运行。

电商OMS与ERP系统接口开发配置

调用钉钉接口topapi/processinstance/get获取并加工数据

在数据集成的生命周期中,调用源系统接口是至关重要的一步。本文将深入探讨如何通过轻易云数据集成平台调用钉钉接口topapi/processinstance/get来获取并加工数据,具体以审核销售退货单为例。

接口配置与调用

首先,我们需要配置元数据,以便平台能够正确地调用钉钉的API接口。以下是我们使用的元数据配置:

{
  "api": "topapi/processinstance/get",
  "effect": "QUERY",
  "method": "POST",
  "idCheck": true,
  "autoFillResponse": true,
  "condition_bk": [
    [
      {
        "field": "单据编号",
        "logic": "neqv2",
        "value": "null"
      }
    ]
  ],
  "condition": [
    [
      {
        "field": "单据编号",
        "logic": "neqv2",
        "value": "null"
      }
    ]
  ]
}

元数据解析

  1. API路径api字段指定了我们要调用的钉钉API路径,即topapi/processinstance/get
  2. 请求方式method字段设置为POST,表示我们将使用POST方法进行请求。
  3. 条件检查condition_bkcondition字段定义了请求前的条件检查逻辑。在这里,我们检查“单据编号”字段是否不为空。
  4. 自动填充响应autoFillResponse设置为true,表示平台会自动处理并填充响应数据。

数据请求与清洗

在实际操作中,首先需要构建请求体,请求体应包含必要的参数,如流程实例ID等。以下是一个示例请求体:

{
  "process_instance_id": "<实例ID>"
}

发送请求后,我们会收到来自钉钉的响应数据。此时,需要对返回的数据进行清洗和初步加工,以确保其符合后续处理步骤的要求。例如,我们可能需要提取特定字段、转换数据格式或进行简单的数据校验。

{
  "dingtalk_smartwork_bpms_processinstance_get_response": {
    ...
    "process_instance": {
      ...
      "title": "<单据标题>",
      ...
      "form_component_values": [
        {
          ...
          "name": "<组件名称>",
          ...
          "value": "<组件值>"
        }
      ]
    }
  }
}

数据转换与写入

在完成初步清洗后,我们需要对数据进行转换,以便写入目标系统。这一步通常涉及到字段映射、格式转换等操作。例如,将“单据编号”从字符串转换为整数类型,或者将日期格式从YYYY-MM-DD转换为目标系统所需的格式。

{
  ...
  "sales_return_order_number": "<单据编号>",
  ...
}

实践案例:审核销售退货单

在审核销售退货单的场景中,我们首先通过上述配置和步骤,从钉钉获取相关流程实例的数据。然后,对这些数据进行清洗和转换,使其符合目标系统(如ERP系统)的要求。最后,将处理后的数据写入目标系统,实现销售退货单的自动化审核流程。

通过轻易云数据集成平台,我们能够高效地完成这一过程,并确保每个环节都透明可视、可监控,从而极大提升业务效率和准确性。 如何对接金蝶云星空API接口

使用轻易云数据集成平台实现金蝶云星空API接口的ETL转换

在轻易云数据集成平台中,生命周期的第二步是将已经集成的源平台数据进行ETL(提取、转换、加载)转换,并将其转为目标平台——金蝶云星空API接口所能够接收的格式。本文将详细介绍如何通过元数据配置,实现对销售退货单的审核操作。

金蝶云星空API接口配置

在本次案例中,我们需要调用金蝶云星空的Audit API接口来审核销售退货单。以下是具体的元数据配置:

{
  "api": "Audit",
  "effect": "EXECUTE",
  "method": "POST",
  "idCheck": true,
  "request": [
    {
      "field": "FormId",
      "label": "FormId",
      "type": "string",
      "describe": "必须填写金蝶的表单ID如:PUR_PurchaseOrder",
      "value": "SAL_RETURNSTOCK"
    },
    {
      "field": "Numbers",
      "label": "Numbers",
      "type": "string",
      "describe": "111",
      "value": "{{单据编号}}"
    },
    {
      "field": "InterationFlags",
      "label": "InterationFlags",
      "type": "string",
      "describe": "字符串类型,分号分隔,格式:\"flag1;flag2;...\"(非必录) 例如(允许负库存标识:STK_InvCheckResult)",
      "value": "STK_InvCheckResult"
    },
    {
      "field": "IgnoreInterationFlag",
      "label": "IgnoreInterationFlag",
      "type": "string",
      "describe": "布尔类型,默认true(非必录)",
      "value": true
    },
    {
      "field": "NetworkCtrl",
      "label": "NetworkCtrl",
      ,"type":"string"
,"describe":"布尔类型,默认false(非必录)","value":"false"},{"field":"IsVerifyProcInst","label":"IsVerifyProcInst","type":"string","describe":"是否检验单据关联运行中的工作流实例,布尔类型,默认false(非必录)","value":"false"}]}

ETL转换步骤

  1. 提取数据

    • 从源平台提取销售退货单的数据,包括单据编号等必要信息。
  2. 数据清洗

    • 确保提取的数据符合目标平台要求。例如,验证单据编号是否存在并且格式正确。
  3. 数据转换

    • 将提取的数据映射到金蝶云星空API接口所需的字段。例如,将源平台的单据编号映射到Numbers字段。
    • 根据元数据配置,将固定值如FormId设置为SAL_RETURNSTOCK
    • 设置可选参数,如InterationFlags, IgnoreInterationFlag, NetworkCtrl, IsVerifyProcInst等。
  4. 加载数据

    • 使用POST方法将转换后的数据发送到金蝶云星空API接口进行审核操作。

实际应用示例

假设我们从源平台提取到以下销售退货单信息:

{
  “orderNumber”: “RT123456”
}

根据元数据配置,我们需要将此信息转换并发送至金蝶云星空API接口。最终生成的请求体如下:

{
  “FormId”: “SAL_RETURNSTOCK”,
  “Numbers”: “RT123456”,
  “InterationFlags”: “STK_InvCheckResult”,
  “IgnoreInterationFlag”: true,
  “NetworkCtrl”: false,
  “IsVerifyProcInst”: false
}

然后,通过HTTP POST请求,将上述请求体发送至金蝶云星空的审核接口:

POST /k3cloud/api/v1/Audit HTTP/1.1
Host: k3cloud.kingdee.com
Content-Type: application/json
Authorization: Bearer <token>

{
  “FormId”: “SAL_RETURNSTOCK”,
  “Numbers”: “RT123456”,
  “InterationFlags”: “STK_InvCheckResult”,
  “IgnoreInterationFlag”: true,
  “NetworkCtrl”: false,
  “IsVerifyProcInst”: false
}

注意事项

  • 确保所有必填字段都已正确填写,并且符合金蝶云星空API接口规范。
  • 对于可选参数,根据实际需求进行设置,不需要则可以省略。
  • 在实际应用中,需要处理可能出现的异常情况,例如网络问题或API返回错误等。

通过上述步骤,我们可以高效地完成从源平台到金蝶云星空目标平台的数据ETL转换和写入操作,实现销售退货单的自动化审核。 数据集成平台可视化配置API接口

更多系统对接方案