首页 > 解决方案 > 使用 SOAP API 将联系人链接到客户

问题描述

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

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

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

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

我是完全错误地处理这个问题,还是我只是勉强错过了这里的语法?

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

谢谢你。

标签: mulenetsuitesuitetalk

解决方案


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

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

<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


推荐阅读