人群数据连接

连接 Salesforce

导入联系人记录,用你们真实的客户来构建人群。只需管理员在你们自己的 Salesforce 组织里创建一次只读的 External Client App。

你们的客户是谁,Salesforce 里记得清清楚楚。导入他们的联系人字段,人群才真正是你们的客户,而不只是一群看上去说得通的人。

从 Spring '26 版本起,Salesforce 不再允许任何组织新建 Connected App,所以现在注册的集成,都要用 External Client App。没有现成的 iMario 公共应用可以直接授权,需要你们组织的管理员自己建一个本地应用,iMario 用它读取数据,而且只读你选中的字段。

管理员一次性配置

  1. 在 Salesforce 里打开 Setup → 搜索 External Client App Manager → New External Client App。

  2. 填一个同事一看就认得出的名字,比如“iMario”,再填一个联系邮箱。

  3. 把 Distribution State 设为 Local。这样应用只留在你们组织内部,装不到其他任何地方。

  4. 在 API (Enable OAuth Settings) 下勾选 Enable OAuth,把 Callback URL 设为下面这个地址,一个字符都不能差:

    https://api.imario.ai/api/connections/callback
  5. OAuth Scopes 只加下面这两项,别的都不要加:

    权限范围iMario 能读取的内容
    Manage user data via APIs (api)联系人记录和你选中的字段
    Perform requests at any time (refresh_token, offline_access)这样耗时较长的导入不会中途断掉

    不要授予 Full access (full)。iMario 不需要这个权限,也不会用它。

  6. 保持勾选 Require Proof Key for Code Exchange (PKCE)。iMario 会带上 PKCE challenge,所以保持默认就对了,不用为此降低安全要求。

  7. 点击 Create。然后重新打开这个应用,进入 Policies 标签页,点编辑,把刷新令牌策略设为 Refresh token is valid until revoked。

  8. 在 Settings 标签页里打开 Consumer Key and Secret,把两个值都复制下来。

在 iMario 里连接

  1. 在 Create audience 里点击 Connect a data system,选择 Salesforce。
  2. 粘贴第 8 步复制的 Consumer Key 和 Consumer Secret。
  3. 如果你们组织用的是 My Domain 域名,就把它填进去(比如 acme.my.salesforce.com)。留空的话,会通过 login.salesforce.com 登录。
  4. 点击 Connect to Salesforce,在 Salesforce 自己的页面上确认授权。
  5. 页面会列出你的联系人字段,并标出每个字段的填写完整度,这个比例是从一批真实联系人里抽样算出来的。勾选能描述你们客户的那些字段。
  6. 点击 Import。

iMario 读取的内容

只读联系人记录,而且只读你勾选的字段。每条记录会带上自己的 Salesforce ID 作为关联字段,再带上邮箱地址作为跨系统的别名。问卷回答或访谈内容,就是靠这两样落到同一个人身上的。这两项既不算回答,也不算人口统计属性。

业务机会、个案和活动历史,iMario 一概不读,也从不向 Salesforce 写入任何内容。

导入时,只有确实对应某个人口统计维度的字段才会改名,其余字段都保留原名。构建人群之前,字段映射要先经过你确认。

问题排查

提示“redirect_uri_mismatch”。Callback URL 是逐个字符比对的。检查末尾是不是多了斜杠,再确认填的就是第 4 步里的地址。

导入后一条记录都没有。连接用的那个用户,简档允许看什么,导入时就只能看到什么。确认授权的用户对联系人对象和你勾选的字段都有读取权限。

记录都导入了,字段却是空的。连接用户的简档受字段级安全性限制,看不到这些字段。遇到这种情况,Salesforce 不会报错,而是直接返回不带这些字段的记录。

下一步

连接 Salesforce | iMario