> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# BlueConic

> BlueConicからOneSignalにデータを同期

## 概要

[BlueConic webhooks](https://support.blueconic.com/hc/en-us/articles/115004431305-Webhook-Connection)を使用すると、サイトで特定のイベントが発生したときに、プロファイルまたはセグメントデータをOneSignalにリアルタイムで同期できます。このガイドでは、[Update user](/reference/update-user) APIを介してBlueConicがOneSignalにデータを送信するように構成する方法を示します。

## セットアップ

BlueConicとOneSignal間でユーザーデータを同期するには、両方のプラットフォームでユーザーを関連付けるための共通の識別子が存在する必要があります。BlueConicは、BlueConic IDと呼ばれる一意の識別子を生成し、データを同期するためにOneSignalのユーザーにリンクできます。

### スクリプトを更新

BlueConic IDを使用してユーザーを識別するカスタムエイリアスを作成することをお勧めします。新しいエイリアスを割り当てる前に、ユーザーが最初にOneSignalにログインしていることを確認してください。次のコードは、エイリアスと外部IDを使用してBlueConic IDをOneSignalユーザーに関連付ける例を示しています。

<CodeGroup>
  ```javascript javascript theme={null}
  // 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);

  ```
</CodeGroup>

システムがBlueConic IDを主要な識別子として使用している場合は、それを`OneSignal.login`に渡します。

<CodeGroup>
  ```javascript javascript theme={null}
  // BlueConic IDを取得
  const blueConicId = blueConicClient.profile.getProfile().getId();

  // OneSignal外部IDをBlueConic IDに設定
  OneSignal.login(blueConicId);
  ```
</CodeGroup>

### Webhookを追加

特定のニーズに基づいてBlueConicからOneSignalにデータを同期するためにWebhookを使用します。以下の例は、[Update user](/reference/update-user) APIを使用してこれを実現する方法を示しています。

**API詳細**

|               |                                                                            |
| ------------- | -------------------------------------------------------------------------- |
| URL           | `https://api.onesignal.com/apps/<APP_ID>/users/by/alias_label/alias_value` |
| Method        | PATCH                                                                      |
| Authorization | Basic \<API\_KEY>                                                          |

システムがBlueConic IDを主要な識別子として使用している場合...

代わりに次のURLを使用します：

`https://api.onesignal.com/apps/<APP_ID>/users/by/external_id/{{blueconic_profile_id}}`

### プロファイルプロパティを同期

[Tags](./add-user-data-tags)およびその他のユーザーデータを設定することで、BlueConicプロファイルデータをOneSignalに同期します。

<Frame caption="タグを更新するための構成例">
  <img src="https://mintcdn.com/onesignal/tc0EvmtSSX56SX0c/images/docs/924b855b7ab5f4626de59cd6146470e446ba41880c8f4b9a7a9c065ca8c0590f-Screenshot_2024-11-26_at_11.28.49_AM.png?fit=max&auto=format&n=tc0EvmtSSX56SX0c&q=85&s=1fec9fc3a9555005a21c6ef421a3f09f" width="3296" height="2780" data-path="images/docs/924b855b7ab5f4626de59cd6146470e446ba41880c8f4b9a7a9c065ca8c0590f-Screenshot_2024-11-26_at_11.28.49_AM.png" />
</Frame>

**ペイロード**

<CodeGroup>
  ```json json theme={null}
  {
    "properties": {
      "tags": {
        "tag_name_at_onesignal": "{{BLUECONIC_PROPERTY}}"
      }
    }
  }
  ```
</CodeGroup>

#### セグメントを同期

[Tags](./add-user-data-tags)を設定することで、BlueConicセグメントデータをOneSignalに同期します。これらのタグを使用して、OneSignal内で直接セグメントを作成します。

<Frame caption="セグメントを同期するための構成例">
  <img src="https://mintcdn.com/onesignal/_KaXe4GQkxsEfa17/images/docs/3f5e229f8bc0a85ccee76fded108ec5407cedce9cf6f651b687de7802430a6b8-Screenshot_2024-11-26_at_11.23.52_AM.png?fit=max&auto=format&n=_KaXe4GQkxsEfa17&q=85&s=06f2ef40620798fca49cdba278f6c537" width="3298" height="2884" data-path="images/docs/3f5e229f8bc0a85ccee76fded108ec5407cedce9cf6f651b687de7802430a6b8-Screenshot_2024-11-26_at_11.23.52_AM.png" />
</Frame>

**ペイロード**

<CodeGroup>
  ```json json theme={null}
  {
    "properties": {
      "tags": {
        "early_bird": "Yes",
      }
    }
  }
  ```
</CodeGroup>

**early\_bird**やその他の説明的なラベルなど、特定のニーズに基づいてタグに名前を付けることができます。ただし、BlueConicとOneSignal間のセグメントの一貫性を保つために、タグに割り当てられる値は常に**Yes**のようにハードコードする必要があります。

***
