使用轻易云数据集成平台实现星空物料到小满OKKICRM的ETL转换

  • 轻易云集成顾问-曾平安

金蝶云星空与小满OKKICRM数据集成实践分享

在企业信息化管理中,系统间的数据整合和处理效率至关重要。本文将聚焦于一个实际案例:如何通过轻易云数据集成平台,实现金蝶云星空的物料数据高效、准确地对接到小满OKKICRM。

首先,我们需要确保从金蝶云星空获取的数据完整并无漏单。在此过程中,executeBillQuery接口是关键,它使我们能够抓取金蝶云星空中的物料信息。为了处理大批量数据,我们使用了定时任务机制,使得系统能周期性地调用该接口并获取最新的物料数据。此外,为了应对分页和限流问题,我们设计了一套自动化流程,以分段抓取大规模资料,并合理控制API调用频率,避免触发限制。

接下来是如何快速将大量物料数据写入到小满OKKICRM。为实现这一点,小满提供的/v1/product/push接口扮演着重要角色。针对不同业务需求,该接口允许批量导入产品信息,高效完成系统间的数据同步。然而,在这期间,一个主要挑战是两者之间的数据格式差异。这就要求我们在轻易云平台上进行精细的数据映射转换,实现格式匹配和内容兼容。同时,通过建立可靠的错误重试机制,可以有效应对潜在的问题,如网络波动导致的数据传输失败等情况,从而保证整体过程的稳定性和可靠性。

此外,为实时监控整个集成过程及异常处理情况,日志记录功能不可或缺。通过轻易云提供的操作界面,我们不仅可以全程可视化每个环节,还能迅速定位并解决出现的问题,提高运维效率。

总之,本案例展示了如何利用灵活、高效且透明的信息集成工具,成功打通两大独立系统,实现数据信息无缝对接。这不仅提升了业务透明度,也极大提高了运营效率,为企业管理带来更多可能。

泛微OA与ERP系统接口开发配置

调用金蝶云星空接口executeBillQuery获取并加工数据

在数据集成的生命周期中,调用源系统接口是至关重要的一步。本文将详细探讨如何通过轻易云数据集成平台调用金蝶云星空的executeBillQuery接口来获取并加工数据。

接口配置与请求参数

首先,我们需要配置元数据以便正确调用金蝶云星空的executeBillQuery接口。以下是元数据配置的具体内容:

{
  "api": "executeBillQuery",
  "method": "POST",
  "number": "FNumber",
  "id": "{random}",
  "request": [
    {"field":"FMATERIALID","label":"实体主键","type":"string","value":"FMATERIALID"},
    {"field":"FNumber","label":"编码","type":"string","value":"FNumber"},
    {"field":"FName","label":"名称","type":"string","value":"FName"},
    {"field":"FSpecification","label":"规格型号","type":"string","value":"FSpecification"},
    {"field":"FDescription","label":"描述","type":"string","value":"FDescription"},
    {"field":"FMaterialGroup_FNumber","label":"物料分组","type":"string","value":"FMaterialGroup.FNumber"},
    {"field":"FErpClsID","label":"物料属性","type":"string","value":"FErpClsID"},
    {"field":"FCreateOrgId_FNumber","label":"创建组织","type":"string","value":"FCreateOrgId.FNumber"},
    {"field":"FUseOrgId_FNumber","label":"使用组织","type":"string","value":"FUseOrgId.FNumber"},
    {"field":"FIsSale","label":"允许销售","type":"string","value":"FIsSale"},
    {"field":"FStockId_FNumber","label":"仓库","type":"string","value":"FStockId.FNumber"},
    {"field": "FCategoryID", "label": "存货类别", "type": "string", "value": "FCategoryID"},
    {"label": "物料分组名称", "field": "FMaterialGroup_FName", "type": "string", "value": "FMaterialGroup.FName"},
    {"field": "FBaseProperty", "label": "物料分组编码", "type": "string", "value": "FBaseProperty"},
    {"field": "FApproveDate", "label": "审核日期", "type": "string", "value": "FApproveDate"}
  ],
  ...
}

请求参数解析

  1. API与方法:我们使用POST方法调用executeBillQuery接口。
  2. 字段映射:每个字段都对应金蝶云星空中的具体字段,例如FMATERIALID映射到实体主键,FNumber映射到编码等。
  3. 分页参数:包括最大行数(Limit)、开始行索引(StartRow)和返回总行数(TopRowCount)。
  4. 过滤条件:可以通过设置过滤条件来筛选特定的数据,例如通过设置FilterString"FSupplierId.FNumber = 'VEN00010' and FApproveDate>='{{MINUTE_AGO_5|datetime}}'"来筛选特定供应商且审核日期在五分钟之前的数据。
  5. 业务对象表单ID:必须填写金蝶的表单ID,如本例中的BD_MATERIAL

数据请求与清洗

通过上述配置,我们可以发起对金蝶云星空的请求,获取原始数据。接下来,需要对这些数据进行清洗和转换,以便后续处理和写入目标系统。

{
  ...
  // 示例请求体
  {
    "_id" : "{random}",
    "_number" : "{number}",
    "_data" : {
      ...
      // 请求参数
      ...
      // 清洗逻辑
      ...
      // 转换逻辑
      ...
      // 写入目标系统
      ...
    }
  }
}

数据转换与写入

在清洗过程中,我们可能需要对某些字段进行格式转换或值映射。例如,将日期格式从ISO标准转换为目标系统所需的格式,或者将编码值映射为更具可读性的文本。

{
  ...
  // 转换示例
  {
    "_data" : {
      ...
      // 日期格式转换
      "_approveDate" : "{{dateFormat(FApproveDate, 'YYYY-MM-DD')}}",
      // 编码值映射
      "_materialGroupName" : "{{mapValue(FMaterialGroup_FNumber, materialGroupMap)}}"
      ...
    }
  }
}

最终,将处理后的数据写入目标系统,实现完整的数据集成流程。

实时监控与调试

轻易云平台提供了实时监控功能,可以随时查看数据流动和处理状态,确保每个环节都准确无误。如果出现问题,可以通过日志和调试工具快速定位并解决问题。

通过上述步骤,我们成功实现了从金蝶云星空获取、清洗、转换并写入目标系统的数据集成过程。这不仅提高了业务透明度和效率,也确保了数据的一致性和准确性。 数据集成平台API接口配置

使用轻易云数据集成平台实现星空物料到小满OKKICRM的ETL转换

在数据集成过程中,将源平台数据转换为目标平台所需格式是关键步骤之一。本文将详细探讨如何使用轻易云数据集成平台,将星空物料的数据通过ETL(提取、转换、加载)过程,转化为小满OKKICRMAPI接口所能接收的格式,并最终写入目标平台。

API接口配置与调用

根据提供的元数据配置,小满OKKICRM的API接口为/v1/product/push,采用POST方法进行数据传输。以下是具体字段的映射和转换逻辑:

  • 产品id (product_id): 通过MongoDB查询获取,查询条件为content.product_no等于源数据中的产品编码(FNumber)。
  • 产品名称 (name): 直接映射源数据中的产品名称(FName)。
  • 产品编码 (product_no): 直接映射源数据中的产品编码(FNumber)。
  • 产品型号 (model): 直接映射源数据中的产品型号(FSpecification)。
  • 其他字段: 包括产品备注、离岸价最小价格、离岸价货币、包装毛重等字段,这些字段需要根据业务需求进行相应的填充或映射。

数据请求与清洗

首先,从星空物料系统中提取原始数据。这一步骤可以通过轻易云的数据请求功能实现,确保从源系统中获取到最新且完整的数据。

{
    "source": "星空物料",
    "query": {
        "collection": "products",
        "filter": {}
    }
}

数据转换

在获取到原始数据后,需要按照目标平台小满OKKICRMAPI接口要求进行转换。以下是具体的转换逻辑:

  1. 提取和转换产品id:

    {
       "field": "product_id",
       "value": "_mongoQuery b5fa5cba-9c13-38d3-8b01-eaea239566ef findField=content.product_id where={\"content.product_no\" : {\"$eq\":\"{FNumber}\"}}"
    }

    这里使用了MongoDB查询,根据产品编码(FNumber)匹配对应的产品id。

  2. 映射基础字段:

    {
       "field": "name",
       "value": "{FName}"
    },
    {
       "field": "product_no",
       "value": "{FNumber}"
    },
    {
       "field": "model",
       "value": "{FSpecification}"
    }

    这些字段直接从源数据中获取并映射到目标API接口所需格式。

  3. 处理自定义字段: 自定义字段如包装毛重、包装单位等,需要根据业务需求进行特殊处理。例如:

    {
       "field": "package_gross_weight",
       "value": "{CustomWeightField}"
    }
  4. 设置固定值: 某些字段可能需要设置固定值,例如:

    {
       "field": "product_type",
       "value": "1"
    }

数据写入

最后,将转换后的数据通过API接口写入小满OKKICRM系统。以下是一个示例请求:

{
    "api": "/v1/product/push",
    "method": "POST",
    "body": {
        "product_id": "<transformed_product_id>",
        "name": "<transformed_name>",
        ...
    }
}

通过轻易云的数据集成平台,可以实现全异步、多系统间的数据无缝对接,确保每个环节的数据处理透明且高效。以上案例展示了如何将星空物料的数据经过ETL过程,成功转化并写入到小满OKKICRM系统,为企业提供了可靠的数据集成解决方案。 钉钉与ERP系统接口开发配置

更多系统对接方案