通过轻易云平台实现领星ERP与金蝶云星空的数据无缝对接

  • 轻易云集成顾问-潘裕

领星-利润报表数据集成到金蝶云星空技术案例

在本次系统对接集成项目中,我们的目标是将领星ERP生成的店铺平台收入数据无缝集成到金蝶云星空系统,并最终形成蓝字应收单数据。这个过程涉及API调用、分页处理、大量数据写入等多个环节,每一步都需要精准配置和实时监控,以确保业务稳定运行。

确保集成领星ERP数据不漏单

首先,为了保证从领星ERP获取的数据完整且无遗漏,我们使用其提供的API接口/bd/profit/report/open/report/seller/list定时抓取相关信息。通过设置可靠的定时任务机制,自动化地从该接口提取最新的报表数据,并进行初步验证和过滤,确保所需所有记录均已成功抓取。特别针对分页和限流问题,我们设计了一套容错机制,可以有效处理各种异常情况,防止因网络波动或接口返回错误而导致的数据丢失。

大量数据快速写入至金蝶云星空

关于如何将大批量的数据快速并准确地写入到金蝶云星空,这是另一技术核心点。我们借助于batchSave API,通过批量操作显著提升了数据传输效率。在实际实施过程中,还需考虑两端系统间的数据格式差异。例如,需要对领星ERP中的JSON格式进行适当转换以匹配金蝶云要求。同时,在高效提交大量数据信息后,对每个传输包设置独立日志记录和状态监控,从而在出现任何异常时能够及时追踪并重试特定失败部分。

上述方案不仅提高了整个集成流程的透明度,也极大简化了日常运维工作。在接下来的具体步骤中,将进一步详细描述如何配置及执行这些关键环节的方法与技巧,包括实时监控、异常处理以及自定义映射规则等诸多方面。

用友与SCM系统接口开发配置

调用源系统领星ERP接口/bd/profit/report/open/report/seller/list获取并加工数据

在数据集成的生命周期中,调用源系统接口是至关重要的一步。本文将详细探讨如何通过轻易云数据集成平台调用领星ERP的/bd/profit/report/open/report/seller/list接口,并对获取的数据进行加工处理。

接口概述

该接口用于查询店铺平台的利润报表,支持按月或按天查询。以下是元数据配置的详细信息:

  • API路径: /bd/profit/report/open/report/seller/list
  • 请求方法: POST
  • 功能类型: QUERY
  • 唯一标识符: {storeName}-{postedDateLocale}
  • 名称: 亚马逊订单

请求参数配置

根据元数据配置,接口请求参数如下:

  1. monthlyQuery

    • 类型: string
    • 描述: 是否按月查询
    • 默认值: true
  2. startDate

    • 类型: string
    • 描述: 开始时间(结算时间,双闭区间)
    • 默认值: _function DATE_FORMAT(DATE_SUB(LAST_DAY(NOW()), INTERVAL 1 MONTH), '%Y-%m')
  3. endDate

    • 类型: string
    • 描述: 结束时间(结算时间,双闭区间)
    • 默认值: _function DATE_FORMAT(DATE_SUB(LAST_DAY(NOW()), INTERVAL 1 MONTH), '%Y-%m')
  4. summaryEnabled

    • 类型: string
    • 默认值: true
  5. offset

    • 类型: string
  6. length

    • 类型: string
    • 默认值: 50

数据请求与清洗

首先,通过轻易云平台配置上述请求参数并调用领星ERP接口。以下是具体步骤:

  1. 设置请求参数:

    {
        "monthlyQuery": "true",
        "startDate": "_function DATE_FORMAT(DATE_SUB(LAST_DAY(NOW()), INTERVAL 1 MONTH), '%Y-%m')",
        "endDate": "_function DATE_FORMAT(DATE_SUB(LAST_DAY(NOW()), INTERVAL 1 MONTH), '%Y-%m')",
        "summaryEnabled": "true",
        "offset": "0",
        "length": "50"
    }
  2. 发送请求: 使用POST方法将上述参数发送到/bd/profit/report/open/report/seller/list接口。

  3. 接收响应并自动填充: 根据元数据配置中的autoFillResponse属性,系统会自动解析响应数据并填充到相应字段中。

数据转换与写入

在接收到原始数据后,需要对其进行转换,以便写入目标系统(金蝶云星空)。以下是关键步骤:

  1. 解析响应数据: 假设响应数据格式如下:

    {
        "data": [
            {
                "storeName": "Store A",
                "postedDateLocale": "2023-09",
                "profitAmount": 10000,
                ...
            },
            ...
        ]
    }
  2. 数据清洗与转换: 对接收到的数据进行必要的清洗和转换。例如,将日期格式统一,将金额字段转换为目标系统所需的格式等。

  3. 生成目标系统所需的数据结构: 将清洗后的数据组织成金蝶云星空蓝字应收单所需的格式。例如:

    {
        "receivableList": [
            {
                "storeName": "Store A",
                "date": "2023-09",
                "amount": 10000,
                ...
            },
            ...
        ]
    }
  4. 写入目标系统: 最后,通过轻易云平台将转换后的数据写入金蝶云星空,实现全流程的数据集成。

通过上述步骤,我们成功实现了从领星ERP获取利润报表数据,并将其加工处理后写入金蝶云星空。这不仅提高了业务透明度和效率,还确保了不同系统间的数据无缝对接。 轻易云数据集成平台金蝶集成接口配置

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

在数据集成的生命周期中,第二步是将已经集成的源平台数据进行ETL转换,转为目标平台所能接收的格式。在本案例中,我们将领星-利润报表-店铺平台收入的数据转换为金蝶云星空蓝字应收单的格式,并通过API接口写入目标平台。以下是详细的技术实现过程。

1. API接口配置

我们使用金蝶云星空提供的batchSave API接口来批量保存数据。该接口采用POST请求方式,具体配置如下:

{
  "api": "batchSave",
  "effect": "EXECUTE",
  "method": "POST",
  "idCheck": true,
  "operation": {
    "rowsKey": "array",
    "rows": 1,
    "method": "batchArraySave"
  },
  "request": [
    {
      "field": "FBillTypeID",
      "label": "单据类型",
      "type": "string",
      "describe": "单据类型:1.标准应付单:YFD01_SYS\n2.标准应付单:YFD02_SYS\n3.资产调拨应付:YFD03_SYS\n4.转销应付单:YFD04_SYS",
      "parser": {
        "name": "ConvertObjectParser",
        "params": "FNumber"
      },
      "value": "YSD01_SYS"
    },
    {
      ...
    }
  ],
  ...
}

2. 数据字段映射与转换

在配置中,我们需要将源平台的数据字段映射到目标平台对应的字段,并进行必要的数据转换。以下是主要字段的映射与转换规则:

  • FBillTypeID(单据类型)

    • 值为YSD01_SYS,表示标准应收单。
  • FBillNo(单据编号)

    • 使用模板字符串生成,例如 {storeName}{postedDateLocale}
  • FDATE(业务日期)

    • 使用函数拼接日期字符串 _function CONCAT('{postedDateLocale}', '-01 00:00:00')
  • FSALEORGID(销售组织)

    • 固定值 105,并通过 ConvertObjectParser 转换为目标系统识别的编码。
  • FCUSTOMERID(客户)

    • 动态值 {storeName},并通过 ConvertObjectParser 转换。
  • FCURRENCYID(币别)

    • 动态查找货币编码 _findCollection find FNumber from ... where FCODE={currencyCode}

3. 明细数据处理

对于明细数据,我们需要处理数组类型的数据结构,并进行相应的字段映射和转换。例如:

{
  ...
  {
    "field": "FEntityDetail",
    "label": "明细",
    "type": "array",
    ...
    "children": [
      {
        ...
        {
          "field": "FMATERIALID",
          ...
          "value": "_function ABS({{details.value}})"
        },
        ...
      }
    ]
  }
}

在这里,我们处理了物料编码、含税单价、计价数量等字段,并使用函数对数值进行绝对值计算。

4. 表头财务信息处理

表头财务信息包含多个子字段,需要逐一映射和转换。例如:


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