纷享销客回款单对接金蝶收款单的技术实现
在企业日常运营中,销售管理与财务系统的数据联动至关重要。本文聚焦于如何通过轻易云数据集成平台,实现纷享销客中的回款单数据高效、可靠地对接到金蝶云星空的收款单。
本案例主要涉及以下关键技术点:
-
接口调用与数据抓取:利用纷享销客提供的API接口
/cgi/crm/v2/data/query
定时抓取最新回款单信息。在此过程中,我们需要解决分页和限流问题,以确保能完整获取所有必要的数据,不漏掉任何一张回款单。 -
数据格式转换:纷享销客和金蝶云星空之间的数据格式存在差异,需要进行定制化的数据映射,对字段内容进行相应转换,使其符合目标系统(金蝶)的要求。
-
批量写入与性能优化:针对大量从纷享销客户内提取出的回款单数据,需要快速且批量地写入到金蝶云星空中。通过使用金蝶提供的批量保存API
batchSave
,提升整体处理效率,并保证写入操作的一致性和可靠性。 -
实时监控与日志记录:为了有效监控整个集成过程,我们实现了实时监控以及详细日志记录机制。一旦发生异常,通过错误重试机制及早发现并解决问题,保障最终成功将所有数据信息准确传递至目标系统。
-
安全性和稳定性的考量:在任意两个系统间进行加工转移操作时,必然需要充分考虑其安全性,例如敏感信息保护措施,以及网络通信过程中的稳定传输等。这些细节在实际实施过程中会进一步解剖阐述。
该方案不仅覆盖上述各环节核心要素,同时也极大程度上简化了复杂流程,将自动化、自适应、高可用性的原则贯穿其中。
纷享销客回款单对接金蝶收款单的集成方案
在数据集成过程中,调用源系统接口获取并加工数据是至关重要的一步。本文将详细探讨如何通过轻易云数据集成平台调用纷享销客接口/cgi/crm/v2/data/query
来获取回款单数据,并进行必要的数据清洗和转换。
调用接口获取数据
首先,我们需要配置元数据以调用纷享销客的API接口。以下是元数据配置的关键部分:
{
"api": "/cgi/crm/v2/data/query",
"method": "POST",
"number": "name",
"id": "_id",
"autoFillResponse": true,
"request": [
{
"label": "查询对象",
"field": "search_query_info",
"type": "object",
"children": [
{
"parent": "search_query_info",
"label": "offset",
"field": "offset",
"type": "string",
"value": "_function 0 * 1"
},
{
"parent": "search_query_info",
"label": "limit",
"field": "limit",
"type": "string",
"value": "_function 20 * 1"
},
{
...
}
]
},
...
],
...
}
配置查询参数
在请求体中,我们设置了查询对象search_query_info
,其中包含分页参数offset
和limit
,以及过滤条件filters
。这些过滤条件用于筛选符合特定标准的数据,例如:
last_modified_time
: 筛选最近修改的数据。life_status
: 筛选状态为正常的数据。field_recovery_type__c
: 筛选特定类型的数据。
具体配置如下:
{
...
{
"field":"filters",
...
{
...
{
{
...
{
...
{
...
{
...
{"field":"operator","label":"操作符","type":"string","value":"GTE"}
}
}
}
},
...
}
}
}
}
数据清洗与转换
在获取到原始数据后,需要进行数据清洗和转换,以确保数据符合目标系统(如金蝶收款单)的要求。这一步骤可以通过轻易云平台提供的可视化工具来实现,包括字段映射、格式转换等。
例如,将纷享销客中的字段名称映射到金蝶系统中的相应字段,并处理日期格式、数值类型等转换需求。
实际案例应用
假设我们需要获取所有最近修改且状态为正常的回款单,并将其导入到金蝶系统中。我们可以通过以下步骤实现:
- 配置API请求:根据上述元数据配置,设置好API请求参数。
- 发送请求:通过轻易云平台发送POST请求到纷享销客接口。
- 接收响应:解析响应数据,并根据预定义的规则进行清洗和转换。
- 写入目标系统:将处理后的数据写入金蝶系统。
以下是一个示例代码片段,用于发送请求并处理响应:
import requests
import json
url = 'https://api.fxiaoke.com/cgi/crm/v2/data/query'
headers = {'Content-Type': 'application/json'}
payload = {
'search_query_info': {
'offset': '0',
'limit': '20',
'filters': [
{'field_name': 'last_modified_time', 'field_values': ['{LAST_SYNC_TIME}000'], 'operator': 'GTE'},
{'field_name': 'life_status', 'field_values': ['normal'], 'operator': 'EQ'},
{'field_name': 'field_recovery_type__c', 'field_values': ['3'], 'operator': 'N'}
]
},
'dataObjectApiName': 'PaymentObj'
}
response = requests.post(url, headers=headers, data=json.dumps(payload))
data = response.json()
# 数据清洗与转换逻辑
processed_data = process_data(data)
# 写入目标系统(例如金蝶)
write_to_kingdee(processed_data)
通过上述步骤,我们可以高效地实现从纷享销客到金蝶系统的数据集成,确保每个环节都透明可控,极大提升业务效率。
使用轻易云数据集成平台将纷享销客回款单对接至金蝶云星空API接口
在数据集成的生命周期中,第二步是将已经集成的源平台数据进行ETL转换,并最终写入目标平台。在本案例中,我们将详细探讨如何使用轻易云数据集成平台,将纷享销客的回款单数据转换为金蝶云星空API接口所能接收的格式,并写入金蝶云星空。
API接口配置
根据提供的元数据配置,我们需要使用金蝶云星空的batchSave
API接口,该接口支持批量保存业务对象。以下是该接口的主要配置参数:
- api:
batchSave
- method:
POST
- idCheck:
true
- operation:
- method:
batchArraySave
- rows:
1
- rowsKey:
array
- method:
请求参数解析
请求参数包含多个字段,每个字段都有特定的属性和转换规则。以下是关键字段及其配置解析:
-
FBillTypeID(单据类型)
- 类型:
string
- 描述:单据类型
- 转换规则:根据
field_recovery_type__c
字段值进行条件转换。"value": "_function CASE '{field_recovery_type__c}' WHEN 'o9sa717Es' THEN 'SKDLX06_SYS' WHEN 'option1' THEN 'SKDLX01_SYS' END"
- 类型:
-
FBillNo(单据编号)
- 类型:
string
- 值:直接取自源数据中的
name
字段。"value": "{name}"
- 类型:
-
FDATE(业务日期)
- 类型:
string
- 描述:业务日期
- 转换规则:使用日期时间格式化函数。
"value": "{{payment_time|datetime}}"
- 类型:
-
FBUSINESSTYPE(业务类型)
- 类型:
string
- 描述:业务类型
- 转换规则:根据
field_recovery_type__c
字段值进行条件转换。"value": "_function CASE '{field_recovery_type__c}' WHEN 'o9sa717Es' THEN '3' WHEN 'option1' THEN '1' END"
- 类型:
-
FCONTACTUNIT(往来单位)
- 类型:
string
- 描述:往来单位
- 转换规则:使用ConvertObjectParser进行值转换。
"parser": {"name":"ConvertObjectParser","params":"FNumber"}, "value": "{field_customer_id__c}", "default": "{field_customer_id__c}"
- 类型:
收款单明细配置
收款单明细部分是一个数组,每个元素包含多个字段。以下是几个关键字段及其配置解析:
-
FSETTLETYPEID(结算方式)
- 类型:
string
- 描述:结算方式,暂时固定为电汇。
- 转换规则:
"parser": {"name":"ConvertObjectParser","params":"FNumber"}, "value": "JSFS04_SYS"
- 类型:
-
FPURPOSEID(收款用途)
- 类型:
string
- 描述:收款用途,根据不同情况进行条件转换。
"parser": {"name":"ConvertObjectParser","params":"FNumber"}, "value": "_function CASE '{field_recovery_type__c}' WHEN 'o9sa717Es' THEN 'SFKYT41_SYS' WHEN 'option1' THEN 'SFKYT01_SYS' END"
- 类型:
-
FRECTOTALAMOUNTFOR(表体-应收金额)
- 类型:
string
- 描述:表体-应收金额,直接取自源数据中的
amount
字段。"value": "{amount}"
- 类型:
其他请求参数
除了上述主要字段外,还需要配置一些其他请求参数,如业务对象表单Id、执行操作、是否自动提交并审核等。这些参数确保了整个数据写入过程的顺利进行。
"otherRequest":[
{"field":"FormId","label":"业务对象表单Id","type":"string","describe":"必须填写金蝶的表单ID如:PUR_PurchaseOrder","value":"AR_RECEIVEBILL"},
{"field":"Operation","label":"执行的操作","type":"string","value":"BatchSave"},
{"field":"IsAutoSubmitAndAudit","label":"提交并审核","type":"bool","value":"true"},
{"field":"IsVerifyBaseDataField","label":"验证基础资料","type":"bool","describe":"是否验证所有的基础资料有效性,布尔类,默认false(非必录)","value":"true"},
{"field":"IsAutoAdjustField","label":"是否自动调整顺序","type":"string","value":"true"}
]
通过上述详细配置,我们能够确保纷享销客回款单的数据准确无误地转化为金蝶云星空所需的格式,并顺利写入目标平台。这一过程不仅提高了数据处理效率,也确保了数据的一致性和准确性。