跳转到主要内容

概述

BlueConic webhooks 允许您在站点发生特定事件时实时将配置文件或细分数据同步到 OneSignal。本指南演示如何配置 BlueConic 通过 更新用户 API 向 OneSignal 发送数据。

要求

  • 一个启用了 OneSignal 的 Web 应用程序。请参阅 Web 推送设置 开始使用。

设置

要在 BlueConic 和 OneSignal 之间同步用户数据,必须存在一个公共标识符来在两个平台上关联用户。BlueConic 生成一个名为 BlueConic ID 的唯一标识符,可以将其链接到 OneSignal 中的用户以同步数据。

更新脚本

我们建议创建一个自定义别名来使用他们的 BlueConic ID 识别您的用户。在分配新别名之前,请确保用户首先登录到 OneSignal。以下代码提供了使用别名和外部 ID 将 BlueConic ID 与 OneSignal 用户关联的示例。
// 获取 BlueConic ID
const blueConicId = blueConicClient.profile.getProfile().getId();

// 确保用户已登录
// 已登录的用户将拥有外部 ID
if (!OneSignal.User.externalId) {
await OneSignal.login("EXTERNAL_ID_FROM_YOUR_BACKENED");
}

// 在调用此方法之前必须存在外部 ID
OneSignal.User.addAlias('blueconic_profile_id', blueConicId);

如果您的系统使用 BlueConic ID 作为主要标识符,则将其传递给 OneSignal.login
// 获取 BlueConic ID
const blueConicId = blueConicClient.profile.getProfile().getId();

// 将 OneSignal 外部 ID 设置为 BlueConic ID
OneSignal.login(blueConicId);

添加 webhooks

使用 webhooks 根据您的具体需要将数据从 BlueConic 同步到 OneSignal。下面的示例演示如何使用 更新用户 API 来实现这一点。 API 详情
URLhttps://api.onesignal.com/apps/<APP_ID>/users/by/alias_label/alias_value
MethodPATCH
AuthorizationBasic <API_KEY>
如果您的系统使用 BlueConic ID 作为主要标识符… 请使用以下 URL 代替: https://api.onesignal.com/apps/<APP_ID>/users/by/external_id/{{blueconic_profile_id}}

同步配置文件属性

通过设置 标签 和其他用户数据将 BlueConic 配置文件数据同步到 OneSignal。

更新标签的示例配置

载荷
{
  "properties": {
    "tags": {
      "tag_name_at_onesignal": "{{BLUECONIC_PROPERTY}}"
    }
  }
}

同步细分

通过设置 标签 将 BlueConic 细分数据同步到 OneSignal。使用这些标签直接在 OneSignal 中创建细分。

保持细分同步的示例配置

载荷
{
  "properties": {
    "tags": {
      "early_bird": "Yes",
    }
  }
}
您可以根据具体需要命名标签,例如 early_bird 或任何其他描述性标签。但是,分配给标签的值应该始终被硬编码,例如 Yes,以保持 BlueConic 和 OneSignal 中细分的一致性。
I