markdown

轻松实现用友BIP与旺店通数据集成的技术方案

用友BIP数据集成到旺店通·企业奇门的技术案例分享

在本次技术案例中,我们将探讨如何通过轻易云数据集成平台,将用友BIP系统中的采购订单(红字)数据高效地集成到旺店通·企业奇门的采购退料单中。该方案不仅需要确保数据的准确性和时效性,还需处理两大系统之间的数据格式差异和接口调用问题。

首先,针对用友BIP系统,我们使用其提供的API接口/yonbip/scm/purchaseorder/list来定时可靠地抓取采购订单(红字)数据。为了保证大量数据能够快速写入到旺店通·企业奇门,我们利用了其高吞吐量的数据写入能力,通过API接口wdt.purchase.return.push实现批量数据的推送。

在整个集成过程中,轻易云平台提供了强大的可视化数据流设计工具,使得我们能够直观地设计和管理数据流动。同时,集中监控和告警系统实时跟踪每个集成任务的状态和性能,确保任何异常情况都能被及时发现并处理。此外,为了适应特定业务需求,我们还支持自定义的数据转换逻辑,以解决用友BIP与旺店通·企业奇门之间的数据格式差异问题。

通过这些技术手段,不仅提升了业务透明度和效率,也确保了整个集成过程中的数据质量和稳定性。在接下来的章节中,我们将详细介绍具体的实施步骤及关键技术点。 系统集成平台API接口配置

如何开发钉钉API接口

调用用友BIP接口/yonbip/scm/purchaseorder/list获取并加工数据

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

API接口配置与请求参数

首先,我们需要配置API接口及其请求参数。根据元数据配置,可以确定以下关键参数:

  • API路径/yonbip/scm/purchaseorder/list
  • 请求方法:POST
  • 分页参数pageIndexpageSize
  • 过滤条件:通过simpleVOs字段传递多个查询条件
  • 排序字段:通过queryOrders字段指定排序规则

具体的请求参数如下:

{
  "pageIndex": "1",
  "pageSize": "1000",
  "isSum": "false",
  "simpleVOs": [
    {
      "field": "totalQuantity",
      "op": "elt"
    },
    {
      "field": "auditTime",
      "op": "egt",
      "value1": "{{LAST_SYNC_TIME|datetime}}"
    },
    {
      "field": "org",
      "op": "neq",
      "value1": "1553156871271481351"
    }
  ],
  "queryOrders": [
    {
      "field": "id",
      "order": "asc"
    }
  ]
}

数据格式转换与映射

在获取到采购订单数据后,需要对其进行格式转换和映射,以便后续处理。根据元数据配置,我们需要将原始字段名转换为新的字段名,并确保所有字段类型一致。例如:

  • id 转换为 new_id
  • purchaseOrders_id 转换为 new_purchaseOrders_id
  • headFreeItem.define1 转换为 new_headFreeItem
  • vendor 转换为 new_vendor
  • warehouse 转换为 new_warehouse

这种映射可以通过轻易云平台提供的自定义数据转换逻辑来实现,确保每个字段都能正确匹配目标系统的要求。

数据清洗与质量监控

为了保证数据质量,在数据获取和转换过程中,需要进行必要的数据清洗和质量监控。轻易云平台支持多种数据质量监控机制,包括异常检测、重复记录检查等。例如,对于分页返回的数据,需要确保没有漏单情况发生,这可以通过以下步骤实现:

  1. 分页处理:逐页请求采购订单列表,直到所有页面的数据都被获取。
  2. 去重检查:对每一页返回的数据进行去重操作,避免重复记录。
  3. 异常检测:实时监控每次API调用的状态,如果出现错误或超时情况,及时触发告警并进行重试。

实时监控与日志记录

在整个数据集成过程中,实时监控和日志记录是不可或缺的一部分。轻易云平台提供了集中化的监控和告警系统,可以实时跟踪每个集成任务的状态和性能。例如,通过日志记录,可以详细追踪每次API调用的响应时间、返回结果以及可能出现的问题,从而快速定位并解决问题。

总结

通过以上步骤,我们成功地调用了用友BIP接口 /yonbip/scm/purchaseorder/list, 并对获取的数据进行了有效的加工处理。这不仅提高了数据集成效率,还保证了数据质量,为后续的数据写入和业务应用打下坚实基础。在实际应用中,根据具体业务需求,还可以进一步优化这些流程,以实现更高效、更可靠的数据集成。 打通钉钉数据接口

用友与外部系统接口集成开发

数据转换与写入:轻易云数据集成平台对接旺店通·企业奇门API接口

在数据集成的生命周期中,第二步是将已经集成的源平台数据进行ETL转换,并转为目标平台所能接收的格式。本文将详细探讨如何通过轻易云数据集成平台,将采购订单(红字)数据转换为采购退料单,并写入目标平台旺店通·企业奇门API接口。

ETL转换过程中的关键步骤

  1. 数据清洗与标准化:首先,需要对从源系统获取的数据进行清洗和标准化处理。确保数据的完整性和一致性,这是后续ETL操作的基础。

  2. 字段映射与转换:根据元数据配置文件中的字段映射规则,将源系统的数据字段映射到目标系统所需的字段格式。例如,供应商编号vendor_code需要映射到目标字段provider_no

  3. 自定义转换逻辑:在某些情况下,需要根据业务需求进行特定的逻辑处理。例如,将退货数量取负值以符合旺店通·企业奇门API的要求。

数据转换示例

根据提供的元数据配置,我们可以看到具体字段的映射和转换规则。以下是几个关键字段的转换示例:

  • 供应商编号

    • 源系统字段:vendor_code
    • 目标系统字段:provider_no
    • 转换规则:直接映射
      "provider_no": "{vendor_code}"
  • 外部单号

    • 源系统字段:code
    • 目标系统字段:outer_no
    • 转换规则:直接映射
      "outer_no": "{code}"
  • 出库仓库编号

    • 源系统字段:new_warehouse
    • 目标系统字段:warehouse_no
    • 转换规则:通过自定义函数查找并映射
      "warehouse_no": "_findCollection find omsOutWarehouse from fa193860-6aa8-37a8-b996-a856e9a8a96f where ysOutWarehouse={new_warehouse} mappingType=3"
  • 退货数量

    • 源系统字段:purchaseOrders_subQty
    • 目标系统字段:num
    • 转换规则:取负值
      "num": "_function {{detail_list.purchaseOrders_subQty}}*-1"

数据写入旺店通·企业奇门API

完成ETL转换后,下一步是将处理后的数据通过API接口写入到旺店通·企业奇门。以下是关键步骤:

  1. 构建请求体: 根据元数据配置文件中的请求参数,构建符合旺店通·企业奇门API要求的请求体。例如:

    {
     "provider_no": "{vendor_code}",
     "outer_no": "{code}",
     "is_check": "1",
     "warehouse_no": "_findCollection find omsOutWarehouse from fa193860-6aa8-37a8-b996-a856e9a8a96f where ysOutWarehouse={new_warehouse} mappingType=3",
     "remark": "{new_memo}-{org_name}",
     "detail_list": [
       {
         "spec_no": "{{detail_list.product_cCode}}",
         "num": "_function {{detail_list.purchaseOrders_subQty}}*-1",
         "price": "{{detail_list.oriUnitPrice}}",
         "tax": "_function {{detail_list.listTaxRate}}*0.01",
         "detail_remark": "{{detail_list.new_purchaseOrders_memo}}"
       }
     ]
    }
  2. 调用API接口: 使用POST方法将请求体发送到旺店通·企业奇门API接口。

    POST /wdt.purchase.return.push HTTP/1.1
    Host: api.wangdian.cn
    Content-Type: application/json
    Body: {构建好的请求体}
  3. 处理响应: 接收并解析API响应,处理可能出现的错误或异常情况,例如网络超时、接口限流等。

异常处理与重试机制

在实际操作中,可能会遇到各种异常情况,例如网络问题、接口限流等。因此,需要设计健壮的异常处理和重试机制:

  • 异常捕获: 捕获所有可能出现的异常,并记录日志以便后续分析。

  • 重试机制: 对于临时性错误,可以设置重试机制,例如每隔几秒钟重试一次,总共重试三次。

通过以上步骤,可以确保采购订单(红字)成功转换为采购退料单,并可靠地写入到旺店通·企业奇门。 用友与外部系统接口集成开发

如何对接钉钉API接口