我收到错误消息:“无法在Campaign类型的实体和list类型的实体之间执行关联。”当我尝试使用Dynamics CRM Online Web API在Campaign和Marketing List之间建立连接时。
我正在使用api的V9.0
方法1:深入插入
POST: {{webapiurl}}广告系列
身体:
{
"name": "test 2",
"campaignlist_association": [
{
"listname":"test3",
"createdfromcode":2
}
]
}
响应: {
“错误”:{ “ code”:“ 0x80040203”,
“消息”:“不能在campaign类型的实体和list类型的实体之间进行关联。”, “内部错误”:{ “ message”:“无法在campaign类型的实体和list类型的实体之间进行关联。”, “ type”:“ Microsoft.Dynamics.Solution.Common.CrmNotSupportedException”, } } }
方法2:关联 开机自检: …/ campaigns(000000000xxxxxx)/ campaignlist_association / $ ref
身体:
{
"@odata.id":"{{webapiurl}}/lists(11111111xxxxxxxx)"
}
响应:
{ “错误”:{ “ code”:“ 0x80040203”,
“ message”:“无法在campaign类型的实体和list类型的实体之间进行关联。”,
“内部错误”:{ “ message”:“无法在campaign类型的实体和list类型的实体之间进行关联。”, “ type”:“ Microsoft.Dynamics.Solution.Common.CrmNotSupportedException”, } } }
结果 两种方法均产生相同的错误消息:“无法在Campaign类型的实体与list类型的实体之间执行关联。”但是,如果我在Dynamics CRM用户界面中将它们关联起来,并查询广告系列,则可以通过网络api扩展“ campaignlist_association”属性来准确地看到分配给该广告系列的列表。
答案 0 :(得分:1)
许多本机N-N关系需要调用一个动作,而不是关联多个记录的关联POST请求。您可以选中可用的Web API操作列表here
具体而言,您需要在POST请求中调用 Microsoft.Dynamics.CRM.AddItemCampaign 操作,如下所示:
URL:
[Organization URI]/lists(YourMarketingListGUID)/Microsoft.Dynamics.CRM.AddItemCampaign
身体:
{
"Campaign": {
"campaignid": "YourCampaignGUID"
}
}
答案 1 :(得分:0)
试试这个。我从邮递员那里导出了这个。将 {} 替换为您的值。
curl --location --request POST 'https://{YOUR_ORGANIZATION_URL_HERE}/api/data/v9.0/lists({MARKETING_LIST_UUID})/Microsoft.Dynamics.CRM.AddItemCampaign' \
--header 'Authorization: Bearer {AUTHENTICATION_TOKEN}' \
--header 'Content-Type: application/json' \
--data-raw '{
"Campaign": {
"campaignid": "{CAMPAIGN_ID}",
"@odata.type": "Microsoft.Dynamics.CRM.campaign"
}
}'
这是一个例子: