Python - Dynamics CRM Web API - SuppressDuplicateDetection 不工作
Python - Dynamics CRM Web API - SuppressDuplicateDetection Not working
我 运行 遇到了在 Dynamics CRM API 中 Suppress Duplicate Detection 的问题。我正在对线索进行排位赛,并且在某些线索上触发了重复检测。我有一些逻辑来决定我们是否要抑制某些线索上的 so 我想绕过该检测。
发生的事情是它在请求时不起作用 headers 我设置了 MSCRM.SuppressDuplicateDetection: true
但它仍然不符合领先条件。
这是我的完整代码:
api_surpress_dup_detection_headers = {
"Authorization": BEARER,
"If-None-Match": None,
"OData-Version": "4.0",
"OData-MaxVersion": "4.0",
"Content-Type": "application/json",
"Accept": "application/json",
"MSCRM.SuppressDuplicateDetection": "true",
"If-Match": "*"
}
lead_qualify_url = f"{data_url}leads({lead_guid})/Microsoft.Dynamics.CRM.QualifyLead"
data = {
'CreateAccount': False,
'CreateContact': True,
'CreateOpportunity':False,
'Status':3
}
qualify_lead_response = requests.post(lead_qualify_url, headers=api_surpress_dup_detection_headers, data=json.dumps(data))
我得到的结果是:
<Response [412]> '{"error":{"code":"0x80040333","message":"A record
was not created or updated because a duplicate of the current record
already exists."}}'
如果有人在此之前解决了这个问题,我将不胜感激!
从 documentation,我看到在请求 header 中添加 MSCRM.SuppressDuplicateDetection
适用于 CREATE 和 UPDATE 请求。
对于 QualifyLead
操作 - 这可能略有不同。而不是添加请求 header - 您可能需要包含在有效载荷中,如 this blog.
中所述
this.SuppressDuplicateDetection = true // or false
"SuppressDuplicateDetection": {
"typeName": "Edm.Boolean", "structuralProperty": 1
}
谢谢@Arun Vinoth
这是我在其他人遇到此问题时使用的最终代码
api_surpress_dup_detection_headers = {
'Authorization': BEARER,
'OData-Version': '4.0',
'OData-MaxVersion': '4.0',
'Content-Type': 'application/json',
'Accept': 'application/json',
'MSCRM.SuppressDuplicateDetection': 'true'
}
lead_qualify_url = f"{data_url}leads({lead_guid})/Microsoft.Dynamics.CRM.QualifyLead"
data = {
'CreateAccount': False,
'CreateContact': True,
'CreateOpportunity':False,
'Status':3,
'SuppressDuplicateDetection': True
}
qualify_lead_response = requests.post(lead_qualify_url, headers=api_surpress_dup_detection_headers, data=json.dumps(data))
您应该会收到 200 条回复,一切顺利!
我 运行 遇到了在 Dynamics CRM API 中 Suppress Duplicate Detection 的问题。我正在对线索进行排位赛,并且在某些线索上触发了重复检测。我有一些逻辑来决定我们是否要抑制某些线索上的 so 我想绕过该检测。
发生的事情是它在请求时不起作用 headers 我设置了 MSCRM.SuppressDuplicateDetection: true
但它仍然不符合领先条件。
这是我的完整代码:
api_surpress_dup_detection_headers = {
"Authorization": BEARER,
"If-None-Match": None,
"OData-Version": "4.0",
"OData-MaxVersion": "4.0",
"Content-Type": "application/json",
"Accept": "application/json",
"MSCRM.SuppressDuplicateDetection": "true",
"If-Match": "*"
}
lead_qualify_url = f"{data_url}leads({lead_guid})/Microsoft.Dynamics.CRM.QualifyLead"
data = {
'CreateAccount': False,
'CreateContact': True,
'CreateOpportunity':False,
'Status':3
}
qualify_lead_response = requests.post(lead_qualify_url, headers=api_surpress_dup_detection_headers, data=json.dumps(data))
我得到的结果是:
<Response [412]> '{"error":{"code":"0x80040333","message":"A record was not created or updated because a duplicate of the current record already exists."}}'
如果有人在此之前解决了这个问题,我将不胜感激!
从 documentation,我看到在请求 header 中添加 MSCRM.SuppressDuplicateDetection
适用于 CREATE 和 UPDATE 请求。
对于 QualifyLead
操作 - 这可能略有不同。而不是添加请求 header - 您可能需要包含在有效载荷中,如 this blog.
this.SuppressDuplicateDetection = true // or false
"SuppressDuplicateDetection": {
"typeName": "Edm.Boolean", "structuralProperty": 1
}
谢谢@Arun Vinoth 这是我在其他人遇到此问题时使用的最终代码
api_surpress_dup_detection_headers = {
'Authorization': BEARER,
'OData-Version': '4.0',
'OData-MaxVersion': '4.0',
'Content-Type': 'application/json',
'Accept': 'application/json',
'MSCRM.SuppressDuplicateDetection': 'true'
}
lead_qualify_url = f"{data_url}leads({lead_guid})/Microsoft.Dynamics.CRM.QualifyLead"
data = {
'CreateAccount': False,
'CreateContact': True,
'CreateOpportunity':False,
'Status':3,
'SuppressDuplicateDetection': True
}
qualify_lead_response = requests.post(lead_qualify_url, headers=api_surpress_dup_detection_headers, data=json.dumps(data))
您应该会收到 200 条回复,一切顺利!