我正在使用 Salesforce REST API 创建联系人,然后创建关联的用户。如果我允许创建用户(通过 SCIMv2)来自动创建帐户和联系人(详情见link),则创建工作有效。不幸的是,我需要在联系人中填充自定义字段,并且必须单独创建它。
链接还指出我可以包含 AccountId 和 ContactId 以防止自动创建。为此,我将指定的帐户和联系人包含在 SCIMv2 JSON 中,如下所示。
{
"schemas" : [ "urn:ietf:params:scim:schemas:core:2.0:User", "urn:salesforce:schemas:extension:external:2.0", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User" ],
"userName" : "[email protected]",
"name" : {
"familyName" : "Bloggs",
"givenName" : "Fred"
},
"emails" : [ {
"type" : "work",
"primary" : true,
"value" : "[email protected]"
} ],
"preferredLanguage" : "en_US",
"locale" : "en_AU",
"timezone" : "Australia/Hobart",
"active" : true,
"entitlements" : [ {
"value" : "00e5j000000md3VAAQ"
} ],
"urn:salesforce:schemas:extension:external:2.0" : {
"contactId" : "0039D00000JBLfvQAH",
"accountId" : "0019D00000OkFMYQA3"
}
}
当我提出此请求时,我收到 Salesforce 的错误响应:
Response Status:400 - Insert failed. First exception on row 0; first error: DUPLICATES_DETECTED, You're creating a duplicate record. We recommend you use an existing record instead.
由于系统中肯定不存在该用户的用户对象,我假设它正在尝试再次创建联系人并失败。
任何有助于了解正在发生的事情以及我做错了什么的帮助将不胜感激。
您能解决这个问题吗? 就我而言,我没有收到任何错误,但它会创建新帐户和联系人,即使我在请求中发送 contactid 和 accountid。