轻易云解决方案:金蝶云数据集成至旺店通的技术详解

  • 轻易云集成顾问-蔡威

金蝶云星空数据集成到旺店通·企业奇门:组装子项出库

在复杂的供应链和仓储管理中,实现不同系统间的数据无缝对接,是提升业务效率和准确性的关键。在本篇技术案例中,我们将探讨如何通过轻易云数据集成平台,将金蝶云星空系统中的组装子项出库数据,经过处理后集成到旺店通·企业奇门。

首先,通过调用金蝶云星空的API接口executeBillQuery获取相关的数据。这一步骤必须确保高吞吐量,以便在短时间内抓取大量订单信息。在具体实现过程中,需要处理分页与限流的问题,以防止API请求超出限制。同时,为了保证不漏单,每次查询都会记录最后成功获取的数据标识,作为下一轮抓取的起点。

其次,对从金蝶云星空获取到的数据进行自定义转换。由于两端系统使用的字段结构可能存在差异,所以需要设定相应的映射规则。这些规则可以通过可视化设计工具灵活配置,使得整个过程更加直观易于管理。此外,还需进行必要的异常检测和数据质量监控,以确保传输过来的数据符合目的系统要求,并及时处理潜在问题。

最终,处理后的数据会通过调用旺店通·企业奇门写入接口wdt.stockout.order.push进行批量推送。同样,这一步骤还包括集中监控和告警功能,可以实时跟踪每个任务执行状态,任何错误发生时都能立即响应并重新尝试。这种可靠性机制确保了所有有效订单能够顺利进入目标系统,从而完成整体流程闭环。

这一系列操作通过轻易云平台全透明可视化界面实现,不仅简化了复杂操作,也大幅提高了实施效率。下面详细解析各个步骤及其背后的技术原理。

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

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

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

接口配置与请求参数

首先,我们需要配置元数据以便正确调用金蝶云星空的API。以下是关键的元数据配置:

{
  "api": "executeBillQuery",
  "method": "POST",
  "number": "FBillNo",
  "id": "FSubEntity_FDetailID",
  "pagination": {"pageSize": 500},
  "idCheck": true,
  "request": [
    {"field":"FID","label":"实体主键","type":"string","value":"FID"},
    {"field":"FBillNo","label":"单据编号","type":"string","value":"FBillNo"},
    {"field":"FDocumentStatus","label":"单据状态","type":"string","value":"FDocumentStatus"},
    {"field":"FStockOrgId_FNumber","label":"库存组织","type":"string","value":"FStockOrgId.FNumber"},
    {"field":"FDate","label":"日期","type":"string","value":"FDate"},
    {"field":"FBillTypeID","label":"单据类型","type":"string","value":"FBillTypeID"},
    {"field":"FOwnerTypeIdHead","label":"成品货主类型","type":"string","value":"FOwnerTypeIdHead"},
    {"field":"FOwnerIdHead_FNumber","label":"成品货主","type":"string","value":"FOwnerIdHead.FNumber"},
    {"field":"FAffairType","label":"事务类型","type":"string","value":"FAffairType"},
    {"field":"FEE","label":"费用","type":"string","value":"FEE"},
    {"field": "FDeptID_FNumber", "label": "部门", "type": "string", "value": "FDeptID.FNumber"},
    // ...省略部分字段...
  ],
  "otherRequest": [
    {"field": "Limit", "label": "最大行数", "type": "string", "describe": "金蝶的查询分页参数", "value": "{PAGINATION_PAGE_SIZE}"},
    {"field": "StartRow", "label": "开始行索引", "type": "string", "describe": "金蝶的查询分页参数", "value": "{PAGINATION_START_ROW}"},
    {"field": "TopRowCount", "label": "返回总行数", "type": int, describe: 金蝶的查询分页参数},
    {
      field: FilterString,
      label: 过滤条件,
      type: string,
      describe: 示例写法 FSupplierId.FNumber = 'VEN00010' and FApproveDate>=,
      value: FApproveDate>='{{LAST_SYNC_TIME|datetime}}' and FAFFAIRTYPE = 'Assembly' and FStockIDSETY.FNumber<>'39'
    },
    {
      field: FieldKeys,
      label: 需查询的字段key集合,
      type: array,
      describe: 金蝶分录主键ID格式:FPOOrderEntry_FEntryId,其它格式 FPurchaseOrgId.FNumber,
      parser: {name: ArrayToString, params:,}
    },
    {field: FormId, label: 业务对象表单Id, type: string, describe: 必须填写金蝶的表单ID如:PUR_PurchaseOrder, value: STK_AssembledApp},
    {field: FBillNo, label: FBillNo, type: string}
  ]
}

请求构建与发送

在构建请求时,我们需要特别注意以下几点:

  1. 分页处理:由于数据量可能较大,我们设置了分页参数,每页返回500条记录。
  2. 过滤条件:使用FilterString字段来定义具体的过滤条件,例如只获取特定事务类型和库存状态的数据。
  3. 字段选择:通过FieldKeys指定需要查询的字段,确保只返回必要的数据,减少不必要的数据传输。

构建请求示例:

{
  method: POST,
  url: https://api.kingdee.com/executeBillQuery,
  headers: {
     Content-Type: application/json
   },
   data:{
     FormId:"STK_AssembledApp",
     FieldKeys:"FID,FBillNo,FDocumentStatus,FStockOrgId.FNumber,FDate,...",
     FilterString:"FApproveDate>='2023-01-01' and FAFFAIRTYPE = 'Assembly' and FStockIDSETY.FNumber<>'39'",
     Limit:"500",
     StartRow:"0"
   }
}

数据清洗与转换

在接收到原始数据后,需要进行清洗和转换,以便后续处理。以下是一些常见的数据清洗操作:

  1. 去除无效记录:根据业务规则去除无效或重复记录。
  2. 字段映射:将原始字段映射到目标系统所需的字段格式。
  3. 数据类型转换:确保所有字段的数据类型符合目标系统要求,例如日期格式转换、数值类型校验等。

示例代码:

def clean_and_transform(data):
   cleaned_data = []
   for record in data:
       if record['FDocumentStatus'] != 'A':
           continue
       transformed_record = {
           'bill_no': record['FBillNo'],
           'date': convert_date(record['FDate']),
           'stock_org': record['FStockOrgId_FNumber'],
           // ...其他字段映射...
       }
       cleaned_data.append(transformed_record)
   return cleaned_data

def convert_date(date_str):
   # 假设日期格式为YYYY-MM-DD
   return datetime.strptime(date_str, '%Y-%m-%d').strftime('%d/%m/%Y')

数据写入

清洗和转换后的数据可以通过轻易云平台写入到目标系统中。这一步通常涉及到调用目标系统的API,并确保数据按预期方式存储。

总结以上步骤,通过轻易云数据集成平台调用金蝶云星空接口,可以高效地获取并加工“组装子项出库”相关的数据,为后续的数据处理和分析奠定基础。 电商OMS与ERP系统接口开发配置

使用轻易云数据集成平台进行ETL转换并写入旺店通·企业奇门API接口

在数据集成的生命周期中,ETL(提取、转换、加载)过程是将源平台的数据转换为目标平台所需格式的关键步骤。本文将深入探讨如何利用轻易云数据集成平台,将源平台的数据通过ETL转换为旺店通·企业奇门API接口所能接收的格式,并最终写入目标平台。

1. 数据请求与清洗

在数据集成过程中,首先需要从源系统中提取原始数据并进行清洗。假设我们已经完成了这一步,获得了结构化的原始数据。接下来,我们将重点放在如何配置和使用元数据进行ETL转换。

2. 元数据配置解析

根据提供的元数据配置,我们需要将源平台的数据转换为旺店通·企业奇门API接口所需的格式。以下是元数据配置的详细解析:


{
    "api": "wdt.stockout.order.push",
    "effect": "EXECUTE",
    "method": "POST",
    "idCheck": true,
    "request": [
        {
            "field": "outer_no",
            "label": "外部单号",
            "type": "string",
            "value": "{FBillNo}"
        },
        {
            "field": "warehouse_no",
            "label": "仓库编号",
            "type": "string",
            "value": "{{details.FStockIDSETY_FNumber}}"
        },
        {
            "field": "remark",
            "label": "备注",
            "type": "string",
            "value": "组装子项出库"
        },
        {
            "field": "is_check",
            "label": "是否审核",
            "type": "string",
            "value": "1"
        },
        {
            "field": "detail_list",
            "label": "货品列表节点",
            "type": "array",
            "value": "details",

![如何对接金蝶云星空API接口](https://pic.qeasy.cloud/T23.png~tplv-syqr462i7n-qeasy.image)
更多系统对接方案