客户退款数据ETL转换及导入用友BIP系统

  • 轻易云集成顾问-姚缘

旺店通·企业奇门数据集成到用友BIP:退换管理客户退款-p

在电子商务平台上,退换货管理是一个关键的业务环节。本文将深入探讨如何通过轻易云数据集成平台,实现旺店通·企业奇门与用友BIP系统之间的数据对接,以支持退换管理业务中的“客户退款”流程。

数据获取和接口调用

首先,我们需要从旺店通·企业奇门获取相应的退款数据。这一步至关重要,因为它决定了后续处理的准确性和完整性。具体操作中,我们使用wdt.refund.query API接口来抓取拥挤流量下的多页面数据,并且要注意API调用中的限流问题和分页策略。

{
  "method": "wdt.refund.query",
  "timestamp": "2023-10-01 12:00:00",
  ...
}

此JSON请求示例展示了基本的调用参数设置,通过这种方式可以定时、可靠地从旺店通·企业奇门接口抓取所需的数据。在轻易云平台中,可以配置自动化任务以确保不漏单,并保证高效执行这些API调用。

数据转换与映射

一旦拿到原始数据,下一步就是进行必要的数据格式转换,这其中就涉及到不同系统间的数据差异。例如,旺店通·企业奇门返回的是XML或JSON格式的数据,而用友BIP则可能要求特定字段名称及类型。为此,我们需要设计自定义的映射规则,以便将源数据准确写入目标系统。

{
  "sourceFieldA": "targetField1",
  ...
}

这样的映射配置能有效解决不同系统间的数据兼容问题,同时也简化了开发工作量,提高了整体效率。此外,还可利用轻易云提供的日志记录功能,对每个处理步骤进行监控,确保实时发现并解决潜在的问题。

批量导入与性能优化

考虑到电商平台上动辄数千条甚至更多数据需处理,我们着重采用批量写入机制提高导入效率。在操作层面,通过/yonbip/fi/paybill/save API,将转换后的大批量退款信息快速、安全地写入用友BIP系统:

[
  {
    ...
    // 多条记录
  }
]

这种批量模式不仅减少网络通信次数,也降低了服务器负载,有助于实现高效稳定的数据对接。同时,为预防异常情况下丢失重要交易记录,还添加错误重试机制,为整个流程保驾护航。

结合上述技术特点,本案例综合运用了透明可视化操作、割裂异构系统间障碍、多样 用友与外部系统接口集成开发

调用旺店通·企业奇门接口wdt.refund.query获取并加工数据

在数据集成的生命周期中,调用源系统接口是至关重要的一步。本文将深入探讨如何通过轻易云数据集成平台调用旺店通·企业奇门接口wdt.refund.query,获取并加工退换管理客户退款的数据。

接口概述

接口wdt.refund.query主要用于查询退换单的相关信息。该接口采用POST请求方式,支持分页查询,并且可以根据多种条件进行过滤。以下是该接口的元数据配置:

{
  "api": "wdt.refund.query",
  "method": "POST",
  "number": "refund_no",
  "id": "refund_no",
  "pagination": {
    "pageSize": 20
  },
  "idCheck": true,
  "condition": [
    [
      {"field":"process_status","logic":"egt","value":"80","strictMode":true},
      {"field":"type","logic":"eq","value":4},
      {"field":"refund_amount","logic":"neqv2","value":"0"}
    ],
    [
      {"field":"process_status","logic":"egt","value":"80","strictMode":true},
      {"field":"type","logic":"eq","value":5},
      {"field":"refund_amount","logic":"neqv2","value":"0"}
    ]
  ],
  "request": [
    {"field":"process_status","label":"退换单处理状态","type":"string"},
    {"field":"time_type","label":"时间类型","type":"string"},
    {"field":"start_time","label":"开始时间","type":"string"},
    {"field":"end_time","label":"结束时间","type":"string"},
    {"field":"page_size","label":"分页大小","type":"string"},
    {"field":"shop_no","label":"店铺编号","type":"string"},
    {"field":"page_no","label":"页号","type":"string"},
    {"field":"refund_no","label":"Erp内退换单编号","type":"string"},
    {"field":"src_refund_no","label":"平台原始退换单号","type":"string"},
    {"field":"trade_no","label":"系统订单编号","type":"string"},
    {"field":"tid","label":"原始单号","type":"string"}
  ],
  "omissionRemedy": {
    "crontab": "2 */2 * * *",
    "takeOverRequest": [
      {"field": "start_time", "value": "{{HOURE_AGO_3|datetime}}", "type": "string", "label": "接管字段"},
      {"field": "end_time", "value": "{{CURRENT_TIME|datetime}}", "type": "string", "label": "接管字段"}
    ]
  }
}

请求参数详解

  1. process_status:退换单处理状态,值范围包括补款、已取消、待审核等。
  2. time_type:时间类型,0表示最后更新时间,1表示结算时间。
  3. start_timeend_time:用于增量获取数据的时间范围,格式为yyyy-MM-dd HH:mm:ss
  4. page_size:每页返回的数据条数,默认值为40。
  5. shop_no:店铺编号,用于区分不同店铺的数据。
  6. page_no:页号,不传值时默认从第0页开始。
  7. refund_nosrc_refund_notrade_notid:这些字段用于指定特定的退换单或订单编号,以便精确查询。

条件过滤

元数据配置中定义了两个条件组,每个组包含三个条件:

  • process_status大于等于80
  • type等于4或5
  • refund_amount不等于0

这些条件确保我们只获取到符合特定业务逻辑的退款记录。

数据请求与清洗

在实际操作中,我们需要按照以下步骤进行数据请求与清洗:

  1. 构建请求参数 根据元数据配置中的字段和业务需求,构建请求参数。例如:

    {
     "process_status": ["80"],
     "time_type": "0",
     "start_time": "{{LAST_SYNC_TIME|datetime}}",
     "end_time": "{{CURRENT_TIME|datetime}}",
     ...
    }
  2. 发送请求 使用POST方法发送请求到接口wdt.refund.query,并获取响应数据。

  3. 解析响应 对响应数据进行解析,提取所需字段,并进行必要的数据清洗和转换。例如,将日期格式转换为标准格式,将金额字段转换为数值类型等。

  4. 分页处理 如果返回的数据量较大,需要进行分页处理。根据元数据配置中的分页大小(默认为20),逐页获取数据直到所有数据被完全提取。

  5. 异常处理 在数据请求过程中可能会遇到网络异常或接口错误,需要进行异常处理和重试机制。元数据配置中的omissionRemedy部分定义了定时任务和接管字段,用于在异常情况下自动重试。

通过上述步骤,我们可以高效地调用旺店通·企业奇门接口wdt.refund.query,并对获取的数据进行清洗和加工,为后续的数据转换与写入做好准备。 金蝶与外部系统打通接口

退换管理客户退款数据集成到用友BIP的ETL转换

在轻易云数据集成平台上,将源平台的数据转换为目标平台用友BIPAPI接口所能接收的格式是一个关键步骤。以下将详细探讨如何通过ETL(Extract, Transform, Load)过程实现这一目标。

数据请求与清洗

首先,我们需要从源系统中提取数据,并进行必要的清洗和预处理。假设我们已经完成了这一步,接下来重点介绍如何将这些数据转换并写入用友BIP。

数据转换与写入

为了将数据写入用友BIP,我们需要配置相应的API接口。在本案例中,我们使用的是/yonbip/fi/paybill/save接口,方法为POST。以下是具体的元数据配置及其应用。

配置字段映射
  1. 单据编号 (code):

    • 类型:string
    • 描述:新增时无需填写,修改时必填
    • 来源:{refund_no}
  2. 汇率类型档案编码 (exchangeRateType_code):

    • 类型:string
    • 固定值:01
  3. 单据日期 (vouchdate):

    • 类型:string
    • 格式:yyyy-MM-dd HH:mm:ss
    • 来源:{modified}
  4. 会计主体 (accentity):

    • 类型:string
    • 来源:通过SQL查询映射 shop_no
  5. 付款金额 (oriSum) 和 本币金额 (natSum):

    • 类型:string
    • 来源:使用函数 _function round({refund_amount},2)
  6. 结算方式 (settlemode_code):

    • 类型:string
    • 固定值:system_0001
  7. 业务员 (operator_name):

    • 类型:string
    • 来源:{creator_name}
  8. 客户ID (customer):

    • 类型:string
    • 来源:通过SQL查询映射 shop_no
  9. 币种相关字段:

    • 本币币种ID(natCurrency):固定值 1480261131563434007
    • 币种名称(currency_name):固定值 人民币
    • 本币币种单价精度(natCurrency_priceDigit):固定值 2
    • 币种金额精度(currency_moneyDigit):固定值 2
    • 本币币种金额精度(natCurrency_moneyDigit):固定值 2
    • 汇率类型名称(exchangeRateType_name}):固定值 基准汇率
    • 汇率(exchRate}):固定值 1
  10. 备注 (description):

    • 类型:string
    • 来源: {remark}
  11. 交易类型相关字段:

    • 交易类型ID(tradetype}):固定值 2742928410236975
    • 交易类型名称(tradetype_name}):固定值 销售退款
    • 交易类型编码( tradetype_code}):固定值 arap_payment_sale
  12. 销售组织编码 (org_code):

    • 类型: string
    • 来源: 通过SQL查询映射 shop_no
  13. 事项类型相关字段:

    • 事项类型名称(basebilltype_name): 固定值 basebilltype_name
    • 事项类型编码(basebilltypecode): 固定值 arap_payment
  14. 收付款对象类型 (caobject):

    • 类型: string
    • 描述: 1:客户
    • 固定值: 1
  15. 单据类型 (billtype):

    • 类型: string
    • 描述: 固定为9
    • 固定值: 9
  16. 会计期间编码和ID: 会计期间编码(period_code) : 固定值 2022-07 会计期间ID(period) : 固定值 2742928426767367

  17. 订单编号和时间戳 订单编号(orderno) : {sales_tid} 时间戳(pubts) : 当前时间 {CURRENT_TIME|datetime}

  18. 操作标识 操作标识(_status) : 固定为Insert

客户退款明细配置

明细部分采用数组结构,每个子项配置如下:

  1. 款项类型编码(quickType_code)
  2. 费用项目编码(expenseitem_code)
  3. 金额(oriSum)
  4. 本币金额(natSum)
  5. 客户ID(customer)
  6. 客户名称(customer_name)
  7. 销售组织编码(org_code)
  8. 备注(description)
  9. 操作标识(_status)

以上字段均需根据具体业务需求进行相应的映射和处理。

API调用与数据写入

完成上述配置后,通过轻易云平台发起API调用,将处理后的数据发送到用友BIP。确保每个字段都符合目标系统的要求,以保证数据成功写入。

在实际操作中,需注意以下几点:

  • 确保所有必填字段都有正确的映射和赋值。
  • 使用正确的数据格式和精度,特别是日期和金额等敏感字段。
  • 定期监控API调用结果,及时处理错误或异常情况。

通过以上步骤,可以实现从源系统到用友BIP的数据无缝对接,确保业务流程的顺畅运行。 如何开发钉钉API接口

更多系统对接方案