使用轻易云平台进行聚水潭与金蝶云无缝数据对接

  • 轻易云集成顾问-叶威宏

聚水潭·奇门数据集成到金蝶云星空:订单到销售出库单的无缝对接

在现代企业的数据管理中,如何实现高效、安全且实时的系统对接,是确保业务连续性和提升运营效率的关键。本文将深入探讨一个具体案例——如何通过轻易云数据集成平台,将聚水潭·奇门系统中的订单数据集成至金蝶云星空的销售出库单。

此次案例重点解决了以下技术挑战:

  1. 定时可靠地抓取聚水潭·奇门接口数据
    利用jushuitan.order.list.query API,我们需要定期从聚水潭·奇门系统获取最新订单数据。这一过程需要处理API分页、限流等问题,以确保大规模订单数据能够稳定、高效地提取。

  2. 大量数据快速写入金蝶云星空
    金蝶云星空提供batchSave API,可批量接收外部系统推送的数据。我们设计了一整套高吞吐量的数据写入方案,支持海量订单信息迅速导入,并在此过程中保证数据完整性和一致性。

  3. 自定义转换与映射逻辑配置
    由于两个系统间存在较大的数据结构差异,为了适配各自的业务需求,需要进行复杂的数据转换与映射。在这一环节,通过可视化的数据流设计工具,实现了灵活便捷的配置,大幅降低开发难度。

  4. 实时监控与告警机制
    为保障整个集成过程的顺畅运行,引入集中监控和告警机制。该功能可以实时报表任务状态及性能情况,一旦出现异常,立即触发告警并启动相应重试或修复动作,有效减少因故障导致的数据丢失风险。

首先,我们来详细讲解如何利用jushuitan.order.list.query API,从聚水潭·奇门接口定时抓取所需订单信息...... 如何开发企业微信API接口

调用聚水潭·奇门接口获取并加工数据

在数据集成的生命周期中,调用源系统接口是至关重要的一步。本文将深入探讨如何通过轻易云数据集成平台调用聚水潭·奇门接口jushuitan.order.list.query来获取订单数据,并对其进行初步加工处理。

接口配置与调用

首先,我们需要配置API接口的元数据,以便正确地调用聚水潭·奇门的订单查询接口。以下是该接口的元数据配置:

{
  "api": "jushuitan.order.list.query",
  "effect": "QUERY",
  "method": "POST",
  "number": "so_id",
  "id": "o_id",
  "request": [
    {"field": "date_type", "label": "时间类型", "type": "int", "describe": "ts开始时间", "value": "3"},
    {"field": "start_time", "label": "起始时间", "type": "string", "describe": "起始时间,和结束时间必须同时存在,时间间隔不能超过七天,与线上单号列表、内部单号列表不能同时为空", "value": "{{DAYS_AGO_1|date}} 00:00:00"},
    {"field": "is_paid", "label": "付款状态", "type": "string", "describe": "付款状态", "value":"true"},
    {"field": "end_time", "label":"结束时间","type":"string","describe":"结束时间,和起始时间必须同时存在,时间间隔不能超过七天,与线上单号列表、内部单号列表不能同时为空","value":"{{DAYS_AGO_1|date}} 23:59:59"},
    {"field":"page_size","label":"最大条数","type":"int","describe":"每页多少条,最大25","value":"100"},
    {"field":"page_index","label":"开始页","type":"int","describe":"第几页,从第一页开始,默认1","value":"1"},
    {"field":"so_ids","label":"线上单号","type":"string"},
    {"field":"status","label":"状态","type":"string","value":"Sent"}
  ],
  "autoFillResponse": true,
  "condition":[
    [{"field":"shop_name","logic":"neqv2","value":"{线下}"},{"field":"wms_co_id","logic":"neqv2","value":"0"}]
  ]
}

请求参数解析

在上述配置中,请求参数包含了多个字段,每个字段都有特定的作用:

  • date_type: 时间类型,这里固定为3表示使用ts开始时间。
  • start_timeend_time: 起始和结束时间,这两个字段必须同时存在且间隔不超过七天。
  • is_paid: 表示订单是否已付款,这里固定为true
  • page_size: 每页最大条数,设置为100
  • page_index: 开始页,从第一页开始。
  • so_ids: 可选的线上单号列表。
  • status: 状态字段,这里固定为Sent表示已发送。

这些参数确保我们能够准确地获取所需的订单数据。

数据清洗与转换

在获取到原始数据后,我们需要对其进行清洗和转换,以便后续的数据处理和写入。轻易云平台提供了自动填充响应(autoFillResponse)的功能,可以简化这一过程。

例如,我们可以根据业务需求过滤掉某些不必要的数据项,只保留关键字段,如订单ID、订单状态、付款状态等。同时,还可以根据条件过滤器(condition)进一步筛选数据,例如排除店铺名称为“线下”的订单,以及仓库ID为0的订单。

"condition":[
  [{"field":"shop_name","logic":"neqv2","value":"{线下}"},{"field":"wms_co_id","logic":"neqv2","value":"0"}]
]

实践案例

假设我们需要获取昨天所有已付款且已发送的订单,并将这些订单导入到金蝶系统中作为销售出库单。我们可以通过以下步骤实现:

  1. 配置API请求:按照上述元数据配置,设置请求参数,包括起始和结束时间、付款状态等。
  2. 调用接口:使用轻易云平台发起POST请求,调用jushuitan.order.list.query接口获取订单数据。
  3. 数据清洗:对返回的数据进行清洗,过滤掉不符合条件的数据项。
  4. 转换与写入:将清洗后的数据转换为金蝶系统所需的格式,并通过相应的API接口写入金蝶系统。

通过以上步骤,我们能够高效地完成从聚水潭到金蝶系统的数据集成,实现不同系统间的数据无缝对接。这不仅提升了业务效率,也确保了数据的一致性和准确性。 如何对接金蝶云星空API接口

利用轻易云数据集成平台进行ETL转换并写入金蝶云星空API

在数据集成生命周期的第二步,我们需要将已经集成的源平台数据进行ETL(提取、转换、加载)转换,转为目标平台金蝶云星空API接口所能够接收的格式,并最终写入目标平台。本文将详细探讨如何利用轻易云数据集成平台实现这一过程。

配置元数据

首先,我们需要配置元数据,以确保数据能够正确地从源平台转换并写入到金蝶云星空。以下是一个典型的元数据配置示例:

{
  "api": "batchSave",
  "effect": "EXECUTE",
  "method": "POST",
  "idCheck": true,
  "request": [
    {
      "field": "FBillTypeID",
      "label": "单据类型",
      "type": "string",
      "describe": "单据类型",
      "parser": {
        "name": "ConvertObjectParser",
        "params": "FNumber"
      },
      "value": "XSCKD09"
    },
    {
      "field": "FBillNo",
      "label": "单据编号",
      "type": "string",
      "describe": "单据编号",
      "value": "{o_id}"
    },
    {
      ...
    }
  ],
  ...
}

数据字段解析与转换

在这个过程中,关键在于如何解析和转换字段。例如,FBillTypeID字段使用了ConvertObjectParser解析器,将其值设置为XSCKD09。类似地,其他字段如FBillNo, FDate, FStockOrgId等也需要根据具体需求进行解析和转换。

示例:日期字段转换
{
  "field": "FDate",
  "label": "日期",
  "type": "string",
  "describe": "日期",
  "value": "{send_date}"
}

这里,我们将源平台的发送日期字段send_date直接映射到金蝶云星空的日期字段FDate

示例:销售组织字段查询与转换
{
  ...
  {
    “field”: “FSaleOrgId”,
    “label”: “销售组织”,
    “type”: “string”,
    “describe”: “组织”,
    “parser”: {“name”: “ConvertObjectParser”, “params”: “FNumber”},
    “value”: "_mongoQuery 8ecc6af9-77fd-3221-abe0-525149b2b057 findField=content.FUseOrgId where={\"content.FName\":{\"$eq\":\"{shop_name}\"}}"
  },
  ...
}

在这个示例中,我们通过MongoDB查询来获取销售组织ID,并使用ConvertObjectParser进行解析和转换。

明细信息处理

对于明细信息(如订单中的商品明细),我们需要特别处理每个子项:

{
  ...
  {
    “field”: “FEntity”,
    “label”: “明细信息”,
    “type”: “array”,
    “describe”: “明细信息”,
    “value”: “items”,
    “children”: [
      {
        ...
        {
          “field”: “FMaterialID”,
          “label”: ”物料编码”,
          ”type”: ”string”,
          ”describe”: ”基础资料”,
          ”parser”: {“name”: ”ConvertObjectParser”, ”params”: ”FNumber”},
          ”value”: ”{{items.sku_id}}”
        },
        {
          ...
        }
      }
    ]
  },
  ...
}

这里,我们将每个商品的SKU ID映射到金蝶云星空的物料编码字段,并使用解析器进行必要的转换。

财务信息处理

财务信息同样需要精确配置,例如结算币别:

{
  ...
  {
    “field”: ”SubHeadEntity”,
    ”label”: ”财务信息”,
    ”type”: ”object”,
    ”children”: [
      {
        ...
        {
          ”field”: ”FSettleCurrID”,
          ”label”: ”结算币别”,
          ”type”: ”string”,
          ”value”: "_function CASE '{currency}' WHEN '' THEN 'CNY' ELSE '{currency}' END",
          ”mapping”: {“target”: ”66e041492c264d45df0788c8”,”direction”:”positive”},
          ”parser”: {“name”:”ConvertObjectParser”,”params”:”FNumber”}
        }
        ...
      }
    ]
  },
  ...
}

在这个示例中,我们通过一个函数来确定结算币别,如果没有指定币别,则默认为人民币(CNY)。

最终提交与审核

最后,我们需要配置提交和审核选项,以确保数据能够正确地写入并生效:

{
  ...
  {
    “field”:“IsAutoSubmitAndAudit”,
    ”label“:“提交并审核”,
    ”type“:“bool”,
    ”describe“:“提交并审核”,
    ”value“:“true”
   },
   ...
}

通过设置此选项,可以自动提交并审核已写入的数据,确保其立即生效。

总结

通过上述步骤,我们可以利用轻易云数据集成平台将源平台的数据经过ETL转换后,成功写入到金蝶云星空API中。关键在于正确配置元数据和解析器,以确保每个字段都能准确映射和转换。这一过程不仅提高了业务透明度和效率,也保证了数据的一致性和准确性。 轻易云数据集成平台金蝶集成接口配置

更多系统对接方案