使用 SOAP 将联系人链接到客户 API

Linking a Contact to a Customer using the SOAP API

我在 link 使用 Mulesoft 中间件在 SOAP/SuiteTalk API 中创建新客户时将客户对象反对预先存在的联系人时遇到问题。

我之前成功创建了联系人对象,然后尝试使用该内部 ID 将该联系人对象 link 连接到新创建的客户对象。我在客户对象中发布的相关部分(只是硬编码内部 ID 以获得它 运行):

contactRolesList:
    {
        contactRoles: 
            [
                {
                    contact: {
                        "type": "CONTACT",
                        internalId: '74335',
                    },
                    role: {
                        "type": "CONTACT_ROLE",
                        internalId: ‘-10’,
                    }   
                }
            ]
    }

当我尝试以这种方式更新客户对象时,我在集成角色执行日志中没有收到任何错误,但联系人从未 linked。如果我尝试第二次更新插入,我会收到格式错误:无法找到键为 [contact] 和值:[74335] 的子列表联系人的匹配行。即使具有该内部 ID 的联系人对象显然存在。

我是不是用完全错误的方式来解决这个问题,还是我只是略微遗漏了这里的语法?

*作为旁注,是否可以仅使用外部 ID 在 RecordRef 上设置关系?例如,仅使用相关联系人对象的外部 ID 来引用它并创建 link?

谢谢。

“contactRolesList”字段仅用于更新已连接到客户的联系人。为了 link 与客户联系,您需要执行附加操作。

我对您提到的 Mulesoft 中间件没有经验,但在 soap 请求中它看起来像这样:

<attach xmlns="urn:messages_2017_1.platform.webservices.netsuite.com">
 <attachReferece xsi:type="ns1:AttachContactReference"
     xmlns:ns1="urn:core_2017_1.platform.webservices.netsuite.com">
     <ns1:attachTo internalId="176" type="customer" xsi:type="ns1:RecordRef">
         </ns1:attachTo>
      <ns1:contact internalId="1467" xsi:type="ns1:RecordRef"/>
        <ns1:contactRole internalId="-10" xsi:type="ns1:RecordRef">
         </ns1:contactRole>
  </attachReferece>
</attach>

您可以在 netsuite CRM 的帮助中心获取更多信息:SuiteCloud Platform/ SuiteTalk Web Services /SuiteTalk SOAP Web Services Platform Guide /SOAP Web Services Operations attach - detach