ETL转换与写入:数据处理精准落地金蝶云星空

  • 轻易云集成顾问-胡秀丛

线下销售出库同步:旺店通·企业奇门数据集成至金蝶云星空

在实际的业务操作中,如何高效地将旺店通·企业奇门的销售出库数据无缝地同步到金蝶云星空,一直是一个备受关注的问题。本技术案例将详细探讨通过API接口实现此流程的具体实施方案,重点解析各关键技术点及其应对策略。

首先,为了确保数据不漏单,我们利用wdt.stockout.order.query.trade接口从旺店通·企业奇门抓取最新的销售信息。这一步骤采用定时任务,每隔固定时间间隔调用一次该API接口,以获取新生成与更新状态的订单。为应对分页和限流问题,我们会设置合理的分页参数并使用重试机制处理临时性的请求失败。

接下来,这些抓取的数据需要被快速、高效地写入金蝶云星空系统。我们使用batchSave API进行批量写入,以提升整体的数据处理速度。在这个过程中,自定义数据转换逻辑显得尤为重要。由于两者之间的数据结构存在差异,需要灵活调整字段映射规则及值转换逻辑,确保每条记录能够在目标系统中准确落地。

为了实时监控整个集成过程,并对潜在异常进行及时响应,我们引入了一套集中式监控和告警系统。从任务启动、执行到结果反馈,各个环节都可以通过可视化界面明确展示。当出现如网络中断或API响应超时等异常情况时,会自动触发告警,并按照预设策略执行错误重试机制。

最后值得一提的是,通过轻易云提供的一站式解决方案平台,业务人员能以低代码方式完成复杂的数据流设计,大幅减少手动编码工作,提高开发效率。这种透明可视化操作不仅让配置更加直观,也降低了维护难度,可谓事半功倍。

后续内容将进一步深入探讨具体实现细节,包括如何优化API调用性能、处理不同情况下的数据清洗与格式转换,以及实施完整日志记录与追踪管理的方法。 用友与SCM系统接口开发配置

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

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

接口调用配置

首先,我们需要配置元数据以便正确调用接口。以下是我们使用的元数据配置:

{
  "api": "wdt.stockout.order.query.trade",
  "method": "POST",
  "number": "order_no",
  "id": "order_no",
  "pagination": {
    "pageSize": 100
  },
  "condition": [
    [{"field":"shop_no","logic":"eq","value":"01"}],
    [{"field":"shop_no","logic":"eq","value":"02"}],
    ...
    [{"field":"shop_no","logic":"eq","value":"14"}]
  ],
  "idCheck": true,
  "request": [
    {"field":"start_time","label":"开始时间","type":"datetime","describe":"增量获取数据,start_time作为开始时间,格式:yyyy-MM-dd HH:mm:ss","value":"{{LAST_SYNC_TIME|datetime}}"},
    {"field":"end_time","label":"结束时间","type":"datetime","describe":"增量获取数据,end_time作为结束时间,格式:yyyy-MM-dd HH:mm:ss","value":"{{CURRENT_TIME|datetime}}"},
    {"field":"status","label":"状态","type":"string"},
    {"field":"src_order_no","label":"系统订单编号","type":"string"},
    {"field":"src_tid","label":"原始单号","type":"string"},
    {"field":"stockout_no","label":"出库单号","type":"string"},
    {"field":"shop_no","label":"店铺编号","type":"string"},
    {"field":"warehouse_no","label":"仓库编号","type":"string"}
  ],
  "otherRequest": [
    {"field": "page_size", "label": "分页大小", "type": "string", "describe": "每页返回的数据条数,输入值范围1~100,不传本参数,输入值默认为40", "value": "{PAGINATION_PAGE_SIZE}"},
    {"field": "page_no", "label": "页号", "type": "string", "describe": "不传值默认从0页开始", "value": "{PAGINATION_START_PAGE}"}
  ]
}

数据请求与清洗

  1. 请求参数设置

    • start_timeend_time 用于指定增量数据的时间范围。
    • statussrc_order_nosrc_tid 等字段用于过滤和标识订单信息。
    • shop_nowarehouse_no 用于区分不同店铺和仓库的数据。
  2. 分页处理

    • 使用 page_sizepage_no 参数进行分页,每次请求最多返回100条记录,以确保高效的数据传输和处理。
  3. 条件过滤

    • 我们设置了多个条件组(如 shop_no = '01', shop_no = '02', ...),以便分别获取不同店铺的数据。这些条件组将被逐一应用,每次请求一个特定店铺的数据。

数据转换与写入

在获取到原始数据后,需要对其进行清洗和转换,以便后续处理和存储。以下是一些常见的清洗步骤:

  1. 字段映射

    • 将接口返回的字段映射到目标系统所需的字段。例如,将 order_no 映射为目标系统中的订单编号。
  2. 数据格式转换

    • 将日期时间字段转换为标准格式(如 ISO8601),确保一致性。
    • 对数值字段进行单位转换或精度调整。
  3. 异常处理

    • 检查并处理缺失或异常数据。例如,如果某些订单缺少必要的字段,可以记录日志或发送告警,以便后续人工干预。
  4. 批量写入

    • 将清洗后的数据按批次写入目标系统,以提高效率并减少网络开销。

通过上述步骤,我们能够高效地从旺店通·企业奇门接口获取并加工线下销售出库同步所需的数据。这不仅确保了数据的一致性和完整性,还为后续的数据分析和业务决策提供了可靠的基础。 用友与CRM系统接口开发配置

线下销售出库同步至金蝶云星空的ETL转换与写入

在轻易云数据集成平台中,数据处理的第二阶段是将已集成的源平台数据进行ETL(Extract, Transform, Load)转换,并将其转化为目标平台金蝶云星空API接口所能接收的格式,最终写入目标平台。本文将详细探讨这一过程中涉及的技术细节和实现方法。

数据提取与转换

首先,我们需要从源系统中提取数据。提取的数据包括出库单号、单据类型、日期、销售组织、客户信息等。这些数据需要按照金蝶云星空API接口的要求进行转换。以下是一些关键字段及其转换规则:

  1. 出库单号(FBillNo)

    • 类型:字符串
    • 描述:出库单号
    • 示例值:{order_no}
  2. 单据类型(FBillTypeID)

    • 类型:字符串
    • 描述:单据类型
    • 固定值:XSCKD01_SYS
    • 转换规则:使用ConvertObjectParser解析器,将其转化为金蝶云星空所需的格式。
  3. 日期(FDate)

    • 类型:字符串
    • 描述:日期
    • 示例值:{consign_time}
  4. 销售组织(FSaleOrgId)

    • 类型:字符串
    • 描述:组织
    • 示例值:通过查找表9b7e7d5b-6768-3b31-9910-af21746cbc34中的FSaleOrgId_FNumber字段获取对应值。
    • 转换规则:使用ConvertObjectParser解析器,将其转化为金蝶云星空所需的格式。
  5. 客户信息(FCustomerID)

    • 类型:字符串
    • 描述:基础资料
    • 示例值:通过查找表9b7e7d5b-6768-3b31-9910-af21746cbc34中的FCustomerId_FNumber字段获取对应值。
    • 转换规则:使用ConvertObjectParser解析器,将其转化为金蝶云星空所需的格式。

数据写入

在完成数据提取和转换后,我们需要将这些数据通过API接口写入到金蝶云星空系统中。以下是API请求配置:

{
  "api": "batchSave",
  "method": "POST",
  "idCheck": true,
  "operation": {
    "rowsKey": "array",
    "rows": 1,
    "method": "batchArraySave"
  },
  "request": [
    {"field":"FBillNo","label":"出库单号","type":"string","describe":"出库单号"},
    {"field":"FBillTypeID","label":"单据类型","type":"string","describe":"单据类型","parser":{"name":"ConvertObjectParser","params":"FNumber"},"value":"XSCKD01_SYS"},
    {"field":"FDate","label":"日期","type":"string","describe":"日期","value":"{consign_time}"},
    {"field":"FSaleOrgId","label":"销售组织","type":"string","describe":"组织","value":"_findCollection find FSaleOrgId_FNumber from 9b7e7d5b-6768-3b31-9910-af21746cbc34 where FNumber={customer_no}","parser":{"name":"ConvertObjectParser","params":"FNumber"}},
    {"field":"FCustomerID","label":"客户","type":"string","describe":"基础资料","value":"_findCollection find FCustomerId_FNumber from 9b7e7d5b-6768-3b31-9910-af21746cbc34 where FNumber={customer_no}","parser":{"name":"ConvertObjectParser","params":"FNumber"}},
    {"field":"FCarriageNO","label":"运输单号","type":"string","describe":"文本","value":"{logistics_no}"},
    {"field":"FStockOrgId","label":"发货组织","type":"string","describe":"组织","parser":{"name":"ConvertObjectParser","params":"FNumber"},"value":"_findCollection find UseOrgId_Number from 59d709dd-3a4c-3a44-8473-147141e53801 where Number={warehouse_no}"},
    {"field":"FLinkPhone","label":"联系电话","type":"","describe":"","value":""},
    ...
  ],
  "otherRequest":[
    {"field": "FormId", "label": "业务对象表单Id", "type": "string", "describe": "必须填写金蝶的表单ID如:PUR_PurchaseOrder", "value": "SAL_OUTSTOCK"},
    {"field": "Operation", "label": "执行的操作", "type": "", "value": ""},
    ...
  ]
}

明细信息处理

对于包含多个明细项的数据,如物料编码、实发数量等,我们需要构建一个数组结构来传递这些信息:

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

每个明细项都需要进行相应的字段映射和转换,例如物料编码使用 ConvertObjectParserspec_no 转换为金蝶云星空所需格式。

提交与审核

最后,通过设置 IsAutoSubmitAndAudit: true, 我们可以在数据写入后自动提交并审核,以确保数据及时生效:

{
  ...
  {
     ...
     {"field": "IsAutoSubmitAndAudit", 
      ... 
      }
     ...
}

通过以上步骤,我们实现了从源系统到金蝶云星空系统的数据ETL转换与写入,确保了数据在不同系统间的无缝对接和高效流转。 如何对接用友BIP接口

更多系统对接方案