轻松完成销售订单系统集成的技术实践分享

  • 轻易云集成顾问-姚缘

销售出库单对接销售订单(线上)-(测试金额)技术案例分享

在企业信息化建设中,数据集成是实现业务流程自动化和高效管理的关键环节。本文将重点介绍如何通过轻易云数据集成平台,将旺店通·企业奇门的数据无缝对接到用友BIP系统,实现销售出库单与销售订单的高效集成。

背景概述

在本次案例中,我们需要将旺店通·企业奇门中的销售出库单数据,通过API接口wdt.stockout.order.query.trade获取,并批量写入到用友BIP系统的销售订单模块,使用其API接口/yonbip/sd/voucherorder/singleSave进行数据保存。该过程不仅要求高吞吐量的数据写入能力,还需确保数据质量和实时监控。

技术要点

  1. 高吞吐量的数据写入:为了应对大量的销售出库单数据,我们采用了轻易云平台提供的高吞吐量数据写入能力,使得大规模数据能够快速、安全地传输至用友BIP系统。

  2. 实时监控与告警:通过轻易云平台的集中监控和告警系统,我们可以实时跟踪每个数据集成任务的状态和性能,及时发现并处理潜在问题,确保整个集成过程顺畅无误。

  3. 自定义数据转换逻辑:由于旺店通·企业奇门与用友BIP之间的数据结构存在差异,我们利用轻易云平台支持自定义转换逻辑的特性,对获取的数据进行必要的格式转换,以满足目标系统的需求。

  4. 分页与限流处理:在调用旺店通·企业奇门接口时,为了避免因大量请求导致服务不稳定,我们设计了合理的分页机制和限流策略,确保每次请求都能稳定返回所需的数据。

  5. 异常处理与重试机制:为保证数据传输过程中的可靠性,我们实现了完善的异常处理与错误重试机制。一旦发生错误,可以自动重试或记录日志以便后续人工干预。

  6. 定制化映射对接:针对用友BIP系统特有的数据格式要求,我们进行了定制化的数据映射配置,确保每条记录都能准确无误地写入目标数据库中。

通过以上技术手段,本方案成功实现了从旺店通·企业奇门到用友BIP系统间销售出库单与销售订单的数据集成,不仅提升了业务效率,也增强了整体运营透明度。在接下来的章节中,将详细介绍具体实施步骤及技术细节。 用友与WMS系统接口开发配置

用友BIP接口开发配置

调用旺店通·企业奇门接口wdt.stockout.order.query.trade获取并加工数据

在数据集成过程中,调用源系统的API接口是关键的一步。本文将详细探讨如何通过轻易云数据集成平台调用旺店通·企业奇门接口wdt.stockout.order.query.trade,并对获取的数据进行加工处理。

接口调用配置

首先,我们需要配置接口调用的元数据。以下是主要的配置项:

  • API: wdt.stockout.order.query.trade
  • 请求方法: POST
  • 分页大小: 每页返回100条记录
  • 增量获取时间范围:
    • 开始时间:{{LAST_SYNC_TIME|datetime}}
    • 结束时间:{{CURRENT_TIME|datetime}}

此外,为了确保数据完整性和准确性,我们设置了定时任务,每天凌晨1点2分执行一次,以增量方式抓取前一天的数据。

数据请求与清洗

在请求参数中,我们需要传递多个字段,包括开始时间、结束时间、状态、系统订单编号等。这些字段用于过滤和定位我们所需的数据。例如:

{
  "start_time": "{{LAST_SYNC_TIME|datetime}}",
  "end_time": "{{CURRENT_TIME|datetime}}",
  "status": "95", // 已发货状态
  "page_size": "{PAGINATION_PAGE_SIZE}",
  "page_no": "{PAGINATION_START_PAGE}"
}

为了避免重复和遗漏,我们还设置了一系列条件来排除特定店铺编号的数据,这些条件通过逻辑运算符实现,例如:

[
  {"field":"shop_no","logic":"neq","value":"063"},
  {"field":"shop_no","logic":"neq","value":"064"},
  ...
]

数据转换与格式化

获取到原始数据后,需要对其进行一定的转换和格式化处理。例如,将原始的发货时间字段consign_time重新命名为consign_time_new,并将其格式化为标准日期格式:

{
  "old": "consign_time",
  "new": "consign_time_new",
  "format": "date"
}

这种转换不仅有助于统一数据格式,还能提高后续处理和分析的效率。

异常处理与重试机制

在实际操作中,可能会遇到网络波动或接口限流等问题。为了保证数据抓取过程的稳定性,我们设计了异常处理与重试机制。一旦出现错误,可以根据日志记录的信息进行重试,从而确保每一条数据都能被成功获取。

实时监控与告警

轻易云平台提供了强大的监控和告警功能,可以实时跟踪每个数据集成任务的状态。一旦发现异常情况,如接口响应超时或返回错误码,会立即触发告警通知相关人员进行处理。这种机制极大地提升了系统运行的可靠性。

自定义转换逻辑

针对不同业务需求,我们可以自定义数据转换逻辑。例如,在某些情况下,需要将多层嵌套结构的数据展平(beatFlat),以便于后续处理:

"beatFlat":["details_list"]

这种灵活性使得我们能够更好地适应复杂多变的业务场景。

总结

通过上述步骤,我们实现了从旺店通·企业奇门接口获取销售出库单数据,并进行了必要的数据清洗和转换。在这个过程中,充分利用轻易云平台提供的各种特性,如高吞吐量写入能力、实时监控、异常检测等,有效提升了整个集成过程的效率和可靠性。 如何开发钉钉API接口

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

数据转换与写入用友BIP

在数据集成生命周期的第二步,我们重点关注将已经集成的源平台数据进行ETL转换,转为目标平台用友BIP API接口所能够接收的格式,并最终写入目标平台。以下是具体操作步骤和技术细节。

数据请求与清洗

首先,我们从旺店通·企业奇门系统中获取销售出库单数据。通过调用wdt.stockout.order.query.trade接口,可以定时可靠地抓取需要的数据,并确保数据不漏单。该接口支持分页和限流处理,保证了大批量数据的稳定传输。

数据转换

将获取到的源数据进行清洗和转换,以适应用友BIP API接口的数据结构要求。我们需要根据元数据配置进行字段映射和数据转换。

字段映射与计算

在元数据配置中,定义了多个字段的映射规则和计算逻辑。例如:

  • salesOrgId:销售组织,通过shop_no映射到相应的销售组织ID。
  • transactionTypeId:交易类型,直接赋值为固定值SO021
  • vouchdate:单据日期,从源数据中的consign_time_new字段映射。
  • orderDetails:销售订单子表,对应多个子字段,需要逐一进行映射和计算。
示例字段转换
{
  "field": "salesOrgId",
  "label": "销售组织",
  "type": "string",
  "describe": "销售组织,传id或者code",
  "value": "_findCollection find mapping_sale_org from 4769a428-14c4-33b8-91fd-e8da3b39d5cb where shop_no={shop_no}"
}

上述配置表示通过shop_no查找对应的销售组织ID并赋值给salesOrgId字段。

对于复杂计算逻辑,例如本币含税金额、本币无税金额等,可以使用函数进行计算:

{
  "field": "orderDetailPrices!natSum",
  "label": "本币含税金额",
  "type": "string",
  "describe": "本币含税金额",
  "value": "_function round({{details.details_list_total_amount}},2)"
}

这里使用了round函数对details_list_total_amount进行四舍五入,保留两位小数。

数据写入用友BIP

在完成所有字段映射和数据转换后,将整理好的数据通过POST请求写入用友BIP。API接口为/yonbip/sd/voucherorder/singleSave,需要确保请求的幂等性,即每次请求都具有唯一标识符resubmitCheckKey。

请求示例
{
  "api": "/yonbip/sd/voucherorder/singleSave",
  "method": "POST",
  "request": [
    {
      "field": "resubmitCheckKey",
      "value": "{random}"
    },
    {
      "field": "salesOrgId",
      "value": "_findCollection find mapping_sale_org from ... where shop_no={shop_no}"
    },
    ...
    {
      "field": "_status",
      "value": "Insert"
    }
  ]
}

以上请求示例展示了如何构建POST请求体,其中包含了必要的字段和值。注意每个字段都需要根据元数据配置进行正确赋值和计算。

异常处理与监控

为了确保数据集成过程的稳定性,我们需要实现异常处理与错误重试机制。当出现网络故障或服务器错误时,可以通过重试机制来保证请求成功。同时,通过实时监控与日志记录,可以及时发现并处理异常情况,保障整体集成流程顺畅运行。

总结

通过上述步骤,我们成功实现了将源平台的数据经过ETL转换后写入到目标平台用友BIP。在这个过程中,需要特别注意字段映射、数据转换、异常处理以及实时监控等关键环节,以确保数据集成过程高效、准确、可靠。 金蝶与WMS系统接口开发配置

钉钉与ERP系统接口开发配置