mule - 使用 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 来引用它并创建链接?
谢谢你。
解决方案
“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
推荐阅读
- javascript - 连接 ECONNREFUSED AdonisJs 邮件
- hibernate - 启用二级缓存休眠
- angular - Angular 5 中的网络 EPUB 阅读器
- java - 登录后出现空指针异常......登录后需要点击一个按钮
- javascript - 三星 Tizen SmartTV 上的字幕不同步
- c++ - 从 .txt 文件中读取多行作为字符串删除空格并为输出创建新文件
- php - 使用 SQL 在 PHP 和 HTML 中运行总计
- c# - 在 C# 中运行 Powershellscript
- java - 当我单击 GEF DOT 插件的按钮“Sync Graphviz Export”时,Eclipse Oxygen 报告错误
- javascript - 如何在 NodeJS 中使用函数和对象而不需要它们