利用轻易云平台完成数据ETL并写入金蝶云星空

  • 轻易云集成顾问-曹润

礼顿销售单对接(2-零售业务)集成案例分享

在本技术案例中,我们将探讨如何通过轻易云数据集成平台,实现吉客云·奇门的数据高效集成到金蝶云星空系统。主要涉及的任务是礼顿公司的销售单对接项目,旨在确保吉客云·奇门的订单数据能够快速、准确地传输并映射到金蝶云星空,为零售业务提供无缝的数据流动。

确保不漏单:调用jackyun.tradenotsensitiveinfos.list.get接口获取全量订单

为保证从吉客云·奇门获取的订单数据完整性和时效性,我们采用了其API接口jackyun.tradenotsensitiveinfos.list.get进行定时抓取。该方法可以设定调度策略,比如每小时抓取一次新产生或更新的订单,避免任何一笔交易遗漏。同时,通过分页处理与限流机制,可以有效控制单次请求的数据量,确保稳定运行。

处理数据格式差异:自定义映射规则以匹配金蝶云星空需求

不同系统间往往存在数据格式上的差异,因此我们需要做一些预处理工作。在此案例中,将从吉客云·奇门抓取回来的JSON格式订单数据,根据金蝶云星空batchSave API所需的字段要求进行转换。这一步通常通过脚本实现,并结合正则表达式等工具,对字段类型及值域进行校验和转换,使得原始数据能够精准匹配目标系统所需格式。

数据快速写入:batchSave API批量上传至金蝶云星空

面对大规模实时更新的零售订单,一个关键点在于能否迅速将这些信息写入到ERP系统中。我们选用的是金蝶云星空提供的批量保存API batchSave,它允许一次提交多个记录,大幅提升了上传效率。特别是在节假日等销售旺季,这种批处理方式能显著减少网络开销和服务器压力,提高整体性能。

这个流程不仅确保了海量订单被及时且正确地录入ERP系统,也使得后续财务结算、库存管理等环节都井然有序。同时,在实施过程中加入异常处理与错误重试机制,可进一步保障整个对接过程万无一失。而实时监控与日志记录功能,则为运维人员提供了全面的信息追踪手段,有助于问题诊断和优化。 钉钉与CRM系统接口开发配置

调用吉客云·奇门接口获取并加工数据

在数据集成的生命周期中,第一步是调用源系统接口获取数据。本文将详细探讨如何通过轻易云数据集成平台调用吉客云·奇门接口jackyun.tradenotsensitiveinfos.list.get,并对获取的数据进行初步加工。

接口配置与请求参数

为了成功调用jackyun.tradenotsensitiveinfos.list.get接口,我们需要配置一系列请求参数。这些参数包括时间范围、订单状态、店铺ID等。以下是主要的请求参数配置:

  • modified_beginmodified_end:用于指定修改时间的起始和结束时间,必须同时存在且时间间隔不能超过七天。
  • startConsignTimeendConsignTime:用于指定发货时间的起始和结束时间。
  • pageSizepageIndex:用于分页控制,每页记录数默认50,最大1000。
  • tradeStatus:订单状态,使用逻辑运算符egt(大于等于)过滤状态值为6000及以上的订单。
  • shopIds:店铺ID列表,以逗号分隔。

以下是一个示例请求配置:

{
  "modified_begin": "2023-01-01T00:00:00",
  "modified_end": "2023-01-07T23:59:59",
  "startConsignTime": "{{LAST_SYNC_TIME|datetime}}",
  "endConsignTime": "{{CURRENT_TIME|datetime}}",
  "pageSize": "50",
  "pageIndex": "{PAGINATION_START_PAGE}",
  "tradeStatus": "6000",
  "shopIds": "1615936578929590912,1589750679905665664,..."
}

数据清洗与格式化

在获取到原始数据后,需要对数据进行清洗和格式化处理。以下是一些关键步骤:

  1. 字段重命名:将原始字段名consignTime重命名为consignTime_new,并将其格式化为日期类型。
  2. 字段过滤:根据需求选择需要返回的字段列表,例如订单号、商品详情、支付信息等。

以下是一个示例响应格式化配置:

{
  "formatResponse": [
    {
      "old": "consignTime",
      "new": "consignTime_new",
      "format": "date"
    }
  ],
  "fields": [
    "tradeNo", 
    "goodsDetail.goodsNo", 
    ...
  ]
}

异常处理与补偿机制

在实际操作中,可能会遇到各种异常情况,例如网络超时、数据不一致等。为了确保数据完整性和一致性,可以设置异常处理和补偿机制。例如,通过定时任务(crontab)定期检查并补偿遗漏的数据。

以下是一个示例补偿机制配置:

{
  "omissionRemedy": {
    "crontab": "2 1 * * *",
    "takeOverRequest": [
      {
        "field": "startConsignTime",
        "value": "{{DAYS_AGO_3|datetime}}"
      },
      {
        "field": "endConsignTime",
        "value": "{{CURRENT_TIME|datetime}}"
      }
    ]
  }
}

数据校验与转换

在写入目标系统之前,需要对数据进行校验和转换。例如,通过ID校验确保每条记录的唯一性,并根据业务需求进行必要的数据转换。

以下是一个示例ID校验配置:

{
  "idCheck": true,
  "idField": ["tradeId"]
}

通过上述步骤,我们可以高效地调用吉客云·奇门接口获取销售单数据,并对其进行初步加工,为后续的数据转换与写入奠定基础。 如何开发金蝶云星空API接口

利用轻易云数据集成平台实现销售单数据ETL转换并写入金蝶云星空API接口

在数据集成生命周期的第二步,我们需要将已经集成的源平台数据进行ETL(Extract, Transform, Load)转换,最终写入目标平台金蝶云星空API接口。本文将详细探讨如何利用轻易云数据集成平台完成这一过程,并提供具体的技术实现案例。

数据请求与清洗

在进行ETL转换之前,首先需要从源系统获取原始数据,并对其进行必要的清洗和预处理。这一阶段主要包括数据的格式化、去重、校验等操作。由于本文重点关注ETL转换,因此不再详细描述该阶段。

数据转换与写入

接下来,我们将重点介绍如何将清洗后的数据通过ETL转换,转为金蝶云星空API接口所能接收的格式,并最终写入目标平台。

1. 配置元数据

根据提供的元数据配置,我们可以看到需要调用金蝶云星空的batchSave API接口,采用POST方法进行数据提交。以下是关键配置项:

{
    "api": "batchSave",
    "method": "POST",
    "idCheck": true,
    "operation": {
        "rowsKey": "array",
        "rows": 1,
        "method": "batchArraySave"
    },
    ...
}
2. 数据映射与字段解析

在配置文件中,我们需要将源系统的数据字段映射到目标系统对应的字段。例如:

  • FBillNo 映射到出库单号
  • FDate 映射到日期,值为 {consignTime_new}
  • FCustomerID 需要通过 substring_index 函数解析出客户编码

具体配置如下:

{
    "field": "FBillNo",
    "label": "出库单号",
    "type": "string",
    "describe": "出库单号"
},
{
    "field": "FDate",
    "label": "日期",
    "type": "string",
    "describe": "日期",
    "value": "{consignTime_new}"
},
{
    ...
}
3. 明细信息处理

对于明细信息,需要特别注意数组类型字段的处理。在本案例中,FEntity 字段包含多个子字段,如物料编码、实发数量、含税单价等。我们使用如下配置进行映射:

{
    "field": "FEntity",
    "label": "明细信息",
    "type": "array",
    ...
}

其中每个子字段也需分别配置,例如:

{
    "field": "FMaterialID",
    ...
},
{
    ...
}
4. 调用API接口

完成所有字段映射和配置后,即可调用金蝶云星空API接口进行数据提交。以下是一个完整的请求示例:

{
    "FormId":"SAL_OUTSTOCK",
    "Operation":"Save",
    "IsAutoSubmitAndAudit":"true",
    "IsVerifyBaseDataField":"true",
    "InterationFlags":"STK_InvCheckResult",
    "Model":{
        "FBillNo":"SO20231001", 
        "FBillTypeID":{"FNumber":"XSCKD07_SYS"},
        "FDate":"2023-10-01", 
        ...
        "FEntity":[
            {"FMaterialID":{"FNumber":"MAT001"}, ...},
            ...
        ],
        ...
    }
}

通过上述步骤,我们可以实现将源平台的数据经过ETL转换后,成功写入到金蝶云星空系统中。

总结

本文详细介绍了如何利用轻易云数据集成平台,将源平台的数据经过ETL转换后,通过金蝶云星空API接口写入目标系统。通过合理配置元数据和正确调用API接口,可以确保整个过程高效且准确地完成。 金蝶与SCM系统接口开发配置

更多系统对接方案