跳转到主要内容
将 OneSignal 连接到您的内部系统(如数据仓库、CRM 或数据管理平台 (DMP))可解锁实时、个性化和可扩展消息传递的强大功能。无论您使用的是 Salesforce、自定义用户系统还是其他平台,集成都能让您:
  • 使用实时数据发送个性化、时间敏感的消息
  • 在系统之间同步用户属性和消息数据
  • 从您系统中的用户操作触发自动化 Journeys
  • 使用您的内部系统作为真实来源,同时利用 OneSignal 的消息传递基础设施
显示数据库与 OneSignal 之间数据流的图表

集成指南

OneSignal 与许多热门平台具有直接集成。请查看集成页面,了解您的平台是否受支持——如果支持,请按照该设置指南进行操作。

集成

浏览 OneSignal 与 CRM、数据仓库、分析工具等的所有可用集成。
如果您的平台未列出,请按照以下步骤通过 OneSignal REST API 进行集成。

第一步:使用 External ID 识别用户

OneSignal 的 external_id 是 OneSignal 与您的数据库之间的关键链接。在 OneSignal 中为每个用户设置 external_id,使其与您数据库中的用户 ID 匹配。这使您能够使用已有的标识符来定位用户、同步数据和触发消息。 如果您使用多个 OneSignal 应用(例如,iOS、Android 和 Web 的独立应用),在所有应用中设置相同的 external_id 可在各平台上识别同一用户。 如果您有匿名用户或没有用于跨系统追踪用户的稳定用户 ID,您可以使用 OneSignal 的 onesignal_idsubscription_id。但是,我们建议在用户稳定且可识别时设置 external_id onesignal_id 和/或 subscription_id 可通过 Create user API 响应以及使用 Observer 方法的移动和 Web SDK 获取。

纯 API 设置

如果您仅将 OneSignal 用于电子邮件和短信/RCS(没有移动应用或网站),您可以完全通过 REST API 管理用户:
  • Create user — 使用 external_id、电子邮件地址和/或电话号码创建用户
  • Update user — 更新用户属性和订阅
无需安装 SDK。您的后端直接将用户数据发送到 OneSignal。 SDK 设置 如果您有移动应用或网站,请使用 OneSignal 的前端 SDK 来捕获推送通知令牌并设置 external_id
  1. 为您的平台安装 OneSignal SDK
  2. 在用户于您的应用中进行身份验证后,使用用户的 external_id 调用 login
  3. SDK 自动捕获推送令牌并将其与用户关联。

第二步:同步用户数据和事件

用户身份设置完成后,您可以从您的系统向 OneSignal 同步两种类型的数据: 标签 — 持久用户属性 标签在 OneSignal 中存储用户属性,用于细分和消息个性化。将其用于描述用户身份的数据,例如计划类型、首选语言或注册日期。 自定义事件 — 用户操作 自定义事件代表用户执行的操作,例如 completed_purchaseviewed_pagesubscription_expired。使用它们触发自动化 Journeys
  • 通过我们的 API 或前端 SDK 发送自定义事件
  • 自定义事件不像标签那样持久保存,但可用于触发 Journeys 和消息个性化

第三步:导出消息和参与数据

要将投递和参与数据同步回您的系统:
  • Event Streams — (推荐)消息事件(已发送、已投递、已点击等)的实时 Webhook 投递。最适合在事件发生时保持数据库同步。
  • Export subscriptions CSV — 批量导出订阅数据,用于定期同步或迁移。
  • View messages API — 以编程方式查询消息历史记录和投递统计数据。

架构建议

  • 将您的数据库作为真实来源。 将 OneSignal 视为消息传递层——将用户数据和事件推送到 OneSignal,并提取投递/参与数据。
  • 使用 API 进行实时更新。 当用户执行某项操作(例如,完成购买)时,立即调用 OneSignal API 以更新标签或发送自定义事件。
  • 使用 CSV 导入进行批量操作。 对于初始入驻或大型迁移,使用 CSV 导入而不是进行数千次单独的 API 调用。
  • 遵守速率限制 对于高量更新,尽可能批量处理请求,并实现带指数退避的重试逻辑。
  • 使用 Event Streams 作为返回路径。 不要轮询 OneSignal API 获取投递数据,而是设置 Event Streams 接收消息事件的实时 Webhook。

从您的数据库触发消息

您可以使用两种方法触发消息——根据您的用例选择一种或两种。
使用 Create message API 进行即时的事务性消息传递。通过以下方式定位用户:
  • external_id
  • 别名(例如,crm_id
  • 电子邮件或电话号码
最适合:
  • 事务性消息(例如,收据、警报)
  • 时间敏感或个性化通知
  • 定位个人或群体(每次调用最多 20,000 个用户)
您还可以使用 send_after 参数安排消息。

常见问题

我应该使用 API 还是 Journeys 从数据库发送消息?

对于收据或警报等即时事务性消息,使用 Create message API。对于受益于可视化工作流构建的自动化生命周期和营销消息,请使用带有标签自定义事件Journeys

我应该在 OneSignal 和自己的系统中分别存储哪些数据?

根据数据的用途决定: 在 OneSignal 中存储什么
  • 存储直接用于消息传递的数据:
    • external_id 和别名
    • 电子邮件(用于电子邮件消息传递)
    • 电话号码(用于短信)
    • 轻量级用户属性作为标签
    • 您希望发送消息的关键事件作为自定义事件
OneSignal 支持消息个性化中详述的多种消息个性化方式。
在自己的系统中保留什么
  • 在自己的系统中保留与消息传递无关的数据(例如,完整的用户档案、交易日志),以获得性能、隐私和控制。从 OneSignal 归档消息历史记录以进行长期分析或合规。

我可以向没有 External ID 的用户发送消息吗?

可以,但需要额外处理。您可以使用 OneSignal 的 onesignal_idsubscription_id,但在链接到 external_id 之前这些是匿名的。我们建议为每个用户设置 external_id 以简化跨系统识别。

标签和自定义事件的区别是什么?

标签是用于细分和个性化的持久用户属性(例如,计划类型、语言偏好)。自定义事件代表用于触发 Journeys 的一次性用户操作(例如,completed_purchase)。标签描述用户是谁;自定义事件描述用户做了什么。

用户

了解 OneSignal 用户模型以及身份的结构方式。

自定义事件

从您的系统发送事件以触发 Journeys 并追踪用户行为。

消息个性化

使用标签、自定义数据和动态内容个性化消息。

Journeys

构建由用户行为和数据触发的自动化消息传递工作流。