Salesforce 所有者已更改

问题描述 投票:0回答:1

我有这个具体问题:

客户可以通过我们的应用程序连接到 Salesforce CRM。连接成功后,客户可以将联系人从我们的应用程序导出到他们的 Salesforce 应用程序。有效负载大致如下所示:

      export_data = {
        FirstName: contact.first_name,
        LastName: contact.surname.presence || "-",
        Title: contact.job_title,
        Email: contact.safe_email,
        Fax: contact.fax,
        Phone: contact.phone_for_export,
        MailingCity: contact.contact_city,
        MailingCountry: contact.contact_country,
        OwnerId: owner_id,
        LeadSource: "MyApplication"
      }

owner_id 方法如下所示:

      Rails.cache.fetch([:account_owner_id, @user.id], expires_in: 1.month) do
        @api_client.user_info&.dig("user_id")
      end

现在给出这个流程:

  1. 客户端应用程序被命名为教育应用程序。
  2. 教育应用程序所有者最初与将其销售人员应用程序连接到我们的应用程序的人相同
  3. 他们更改应用程序(帐户)的所有者,勾选“转移并保留帐户”团队
  4. 现在,当他们从我们的应用程序导出另一个联系人/潜在客户时,我们显然从缓存中传递了 OwnerId,但客户坚持认为这不是问题,但事实上,在导入和刷新之后,应用程序(帐户)所有者又更改回旧的(最初连接的那个。不知道是因为我们传递的ownerId还是仅仅因为我们nmake API调用的令牌与其关联)

我的问题是,为什么会发生这种情况。只要从我们这边来说,我们只对潜在客户/联系人使用更新/创建,我们就不会通过其他可用端点操纵任何其他数据。他们是潮流/触发者吗?

我无权访问客户组织,因此我更好地调试/理解的尝试受到限制。不过,在开始更改我的代码、连接到另一个帐户/沙箱之前,因为我怀疑问题可能出在他们这边,有触发器/流程/分配规则,我希望得到一些销售人员开发人员的意见。

salesforce crm restforce
1个回答
0
投票

不是 100% 的答案,但评论太长了。

那个

@api_client.user_info&.dig("user_id")
有什么作用?它是否返回当前正在运行的用户的ID(您登录的用户是谁?),那么是的,它会继续引用最初授权应用程序使用其帐户的人(或为您提供用户名和密码,恶心......不知道您使用的是哪种登录方式)。

或者与

SELECT OwnerId FROM Account WHERE Id = '001...'
类似?在这种情况下,也许您需要做的就是减少缓存时间? (您是否忘记在示例有效负载中包含
AccountId
的映射?)

您可以从字段映射中删除

OwnerId
,但最终结果是相同的,该字段将默认为创建记录的人。

您以奇怪的方式使用关键字,例如帐户 ID 和用户 ID 之间的明显链接...我有一种感觉,您没有作为内部 Salesforce 用户进行连接。您知道它是内部用户(例如某些系统管理员)还是社区用户(客户社区、体验包、敲响警钟吗?)。

您知道您在 Salesforce 中创建什么、联系人或潜在客户吗?对于潜在客户,您可以利用“分配规则”,其中客户控制谁将成为潜在客户的所有者。但是

MailingCity
建议使用联系人,并且在没有链接帐户 ID 的情况下插入联系人是非常不寻常的。

有什么要求?即使在转移后,联系人也会与帐户拥有相同的所有者吗?您的客户可以通过“早期流程”或“插入之前”触发器轻松地强制执行此操作。或者您可能会浪费 1 个 API 调用来查询,然后再插入它们...

© www.soinside.com 2019 - 2024. All rights reserved.