从数据获取到数据写入:轻易云平台的金蝶云星空接口实践

  • 轻易云集成顾问-潘兴扬

管易云数据集成到金蝶云星空:cp_GK-采购入库单案例分享

在企业信息系统的对接过程中,确保不同平台之间的数据无缝流动和一致性是至关重要的任务。本篇文章将聚焦于如何通过轻易云数据集成平台,实现管易云平台与金蝶云星空系统的高效对接,具体分析cp_GK-采购入库单这一实际运行方案。

首先,我们需要从管易云获取准确和及时的数据。这一过程主要依赖于API接口gy.erp.purchase.arrive.get进行定时可靠的数据抓取。在实现过程中,我们利用了轻易云提供的批量处理功能,以保障高吞吐量的数据能够快速、高效地被写入到金蝶云星空。

为了应对API调用中的分页和限流问题,我们进行了以下优化:

  1. 批次处理:分段获取大规模数据,同时避免接口请求过多导致限流。
  2. 重试机制:针对接口偶尔返回错误或超时情况,引入了自动重试机制,提高数据抓取成功率。

获取到原始数据后,下一个关键步骤是进行必要的数据转换,以匹配金蝶云星空所需的格式。这一部分可以借助自定义转换逻辑模块,该模块灵活支持特定业务需求,确保每条记录都符合目标系统要求。最后,通过调用金蝶云星空提供的batchSave API,将处理后的采购入库单数据批量写入系统中。

此外,为确保整个过程透明可控,实时监控和告警功能发挥了重要作用。从初始抓取、格式转换,到最终写入,每一步都能够通过集中化控制台实时跟踪。一旦出现异常情况,如网络波动或服务器响应时间延长,对应监控会立刻发出告警,并触发预设恢复操作,以最大限度降低业务影响。

总之,通过以上技术手段,有效解决了跨平台间的大规模异构集成问题,使管易云与金蝶云星空两者之间实现稳定、高效、实时的数据联通。 用友与MES系统接口开发配置

使用轻易云数据集成平台调用管易云接口gy.erp.purchase.arrive.get获取并加工数据

在数据集成生命周期的第一步中,调用源系统接口是至关重要的一环。本文将详细探讨如何通过轻易云数据集成平台调用管易云的gy.erp.purchase.arrive.get接口,获取采购入库单数据并进行初步加工。

接口调用与请求参数配置

轻易云数据集成平台提供了全透明可视化的操作界面,使得配置和调用API接口变得直观且高效。以下是针对gy.erp.purchase.arrive.get接口的元数据配置:

{
  "api": "gy.erp.purchase.arrive.get",
  "method": "POST",
  "number": "code",
  "id": "code",
  "pagination": {
    "pageSize": 100
  },
  "idCheck": true,
  "request": [
    {"field": "start_create", "label": "创建时间开始段", "type": "string"},
    {"field": "end_create", "label": "创建时间结束段", "type": "string"},
    {"field": "start_approve", "label": "审核时间开始段", "type":"string"},
    {"field": "end_approve", "label":"审核时间结束段","type":"string"},
    {"field":"warehouse_code","label":"仓库代码","type":"string"},
    {"field":"supplier_code","label":"供应商代码","type":"string"},
    {"field":"code","label":"单据编号","type":"string"},
    {"field":"status","label":"审核状态","type":"string"},
    {"field":"start_modify","label":"修改时间开始段","type":"string"},
    {"field":"end_modify","label":"修改时间结束段","type":"string"},
    {"field":"has_cancel_data","label":"是否返回已作废的入库单数据","type":"string"},
    {"field":"has_account","label":"记账状态","type":"string"}
  ],
  "otherRequest":[
    {"field": "page_size", "label": "分页大小", "type": "string", "value": "{PAGINATION_PAGE_SIZE}"},
    {"field": "page_no", "label": "页号", "type": "string", "value": "{PAGINATION_START_PAGE}"}
  ]
}

请求参数详解

  1. 基本请求参数

    • start_createend_create: 用于指定查询的创建时间范围。
    • start_approveend_approve: 用于指定查询的审核时间范围。
    • warehouse_code: 指定仓库代码,过滤特定仓库的数据。
    • supplier_code: 指定供应商代码,过滤特定供应商的数据。
    • code: 单据编号,用于精确查询某一特定单据。
    • status: 审核状态,过滤不同审核状态的数据。
    • start_modifyend_modify: 用于指定查询的修改时间范围。
    • has_cancel_data: 是否返回已作废的入库单数据。
    • has_account: 记账状态。
  2. 分页参数

    • page_size: 每页返回的数据条数,这里设置为100条。
    • page_no: 当前页号,用于分页查询。

数据请求与清洗

在配置好请求参数后,通过轻易云平台发起POST请求,从管易云系统获取采购入库单数据。以下是一个示例请求:

{
  "start_create": "<开始日期>",
  "end_create": "<结束日期>",
  ...
  //其他必要参数
}

成功获取到数据后,需要对原始数据进行清洗和初步加工。这一步骤包括但不限于:

  • 字段映射:将管易云返回的数据字段映射到目标系统所需的字段格式。例如,将purchase_order_id映射为目标系统中的order_id
  • 数据类型转换:确保所有字段的数据类型符合目标系统要求。例如,将日期字符串转换为标准日期格式。
  • 异常处理:处理可能出现的数据异常,如空值、格式错误等。

实践案例

假设我们需要获取2023年1月1日至2023年1月31日之间所有已审核且未作废的采购入库单,并将其导入到目标系统。具体步骤如下:

  1. 配置请求参数

    {
    ...
    //其他必要参数
    {
    field: 'start_create',
    value: '2023-01-01'
    },
    {
    field: 'end_create',
    value: '2023-01-31'
    },
    {
    field: 'status',
    value: 'approved'
    },
    {
    field: 'has_cancel_data',
    value: 'false'
    }
    }
  2. 发起API请求: 使用轻易云平台发起POST请求,获取符合条件的数据。

  3. 清洗与加工: 对返回的数据进行字段映射、类型转换和异常处理,以确保数据质量和一致性。

通过上述步骤,我们可以高效地从管易云系统中提取所需的采购入库单数据,并为后续的数据转换与写入阶段做好准备。这种方法不仅提高了工作效率,还确保了数据处理过程中的透明度和准确性。 金蝶与外部系统打通接口

利用轻易云数据集成平台实现金蝶云星空API接口的数据转换与写入

在数据集成过程中,将源平台的数据转换为目标平台所能接受的格式是关键步骤。本文将详细探讨如何利用轻易云数据集成平台,将采购入库单数据转换并写入金蝶云星空API接口。

元数据配置解析

首先,我们需要理解元数据配置中的各个字段及其作用。以下是元数据配置的详细解析:

  • api: 指定调用的API接口名称,这里是batchSave
  • method: HTTP请求方法,这里是POST
  • idCheck: 是否进行ID检查,这里设置为true
  • request: 请求体参数列表,包含多个字段,每个字段有其特定的属性和解析器。

主要字段及解析器

  1. 单据类型 (FBillTypeID)

    • 类型: string
    • 解析器: ConvertObjectParser,参数为FNumber
    • 固定值: "RKD01_SYS"
  2. 业务类型 (FBusinessType)

    • 类型: string
    • 固定值: "CG"
  3. 单据编号 (FBillNo)

    • 类型: string
  4. 供应商 (FSupplierId)

    • 类型: string
    • 解析器: ConvertObjectParser,参数为FNumber
  5. 入库日期 (FDate)

    • 类型: string
  6. 收料组织 (FStockOrgId)

    • 类型: string
    • 解析器: ConvertObjectParser,参数为FNumber
  7. 收料部门 (FStockDeptId)

    • 类型: string
    • 解析器: ConvertObjectParser,参数为FNumber
  8. 采购组织 (FPurchaseOrgId)

    • 类型: string
    • 解析器: ConvertObjectParser,参数为FNumber
  9. 送货单号 (FDeliveryBill)

    • 类型: string
  10. 提货单号 (FTakeDeliveryBill)

    • 类型: string
  11. 供货方 (FSupplyId)

    • 类型: string
    • 解析器: ConvertObjectParser,参数为FNumber
  12. 财务信息 (FInStockFin): 包含两个子字段:

    • 结算组织 (FSettleOrgId)
      • 类型: string
      • 解析器: ConvertObjectParser,参数为FNumber
    • 付款组织 (FPayOrgId)
      • 类型: string
      • 解析器: ConvertObjectParser,参数为FNumber
  13. 明细信息 (FInStockEntry): 包含多个子字段:

    • 关联关系 (FInStockEntry_Link) 包含子字段:
      • 源单ID (FSBillId)
      • 类型:string
      • 下推关系 (FRuleId)
      • 固定值:"PUR_PurchaseOrder-STK_InStock"
      • 表体ID (FSId)
      • 类型:string
      • 源单表名 (FSTableName)
      • 固定值:"t_PUR_POOrderEntry"
    • 物料编码 (FMaterialId)
      • 类型:string
      • 解析器:ConvertObjectParser,参数为 FNumber
    • 零售条形码 (FCMKBarCode)
      • 类型:string
    • 实收数量 (FRealQty)
      • 类型:string
    • 单价 (FPrice)
      • 类型:string
    • 批号(FLot)
      • 类型:string
    • 仓库(FStockId)
      • 类型:string
      • 解析器:ConvertObjectParser,参数为 FNumber ...(略去部分字段)

数据转换与写入流程

  1. 数据请求与清洗: 首先,通过轻易云平台从源系统请求采购入库单数据,并进行必要的数据清洗。这一步确保了数据的准确性和完整性,为后续的ETL转换打下基础。

  2. ETL转换: 在ETL阶段,我们利用元数据配置对数据进行转换。具体步骤如下:

    a. 根据元数据配置中的request字段,将源系统的数据映射到目标系统所需的格式。例如,将源系统中的供应商ID通过ConvertObjectParser转换成金蝶云星空所需的格式。

    b. 对于复杂对象,如财务信息和明细信息,需要递归处理其子字段。例如,在处理财务信息时,需要分别处理结算组织和付款组织,并确保它们符合目标系统的要求。

  3. 数据写入: 转换完成后,通过调用金蝶云星空API接口(如batchSave),将处理后的数据写入目标系统。在这个过程中,需要注意以下几点:

    a. 确保所有必填字段都有正确的值,并且符合目标系统的格式要求。

    b. 如果某些字段需要固定值(如业务类型、下推关系等),确保在请求体中正确设置这些值。

实际案例应用

假设我们有一条采购入库单记录,其源系统的数据如下:

{
  "FBillNo": "PO20231001",
  "FSupplierId": "SUP123",
  "FDate": "2023-10-01",
  "FPurchaseOrgId": "ORG001",
  "FInStockEntry": [
    {
      "FSBillId": "SO20231001",
      "FSId": "1",
      "FMaterialId": "MAT001",
      "FCMKBarCode": "1234567890123",
      "FRealQty": "100",
      ...
    }
  ]
}

通过轻易云平台,我们将上述记录转换并写入金蝶云星空API接口。最终生成的请求体如下:

{
  "FormId": "STK_InStock",
  "IsAutoSubmitAndAudit": true,
  "Operation": "Save",
  ...
}

通过这种方式,我们实现了从源系统到目标系统的数据无缝对接,大大提高了业务效率和透明度。 数据集成平台API接口配置

更多系统对接方案