# コネクション

コネクションは組織を外部プラットフォームに接続します。多くのプロバイダーはゲームからリアルタイムのWebhookイベントを受け取ります。LINEコネクションは異なり、LIFFまたはMINI
App経由でストリームをLINE内に公開します。

## コネクションの種類

| 種類 | できること | プロバイダー |
| :--- | :--------- | :----------- |
| **イベントWebhook** | プレイや賞品のイベントをスタックへ送信 | Webhook、Custom、Zapier、Braze、HubSpot、Mailchimp、Salesforce、Segment |
| **公開** | メッセージングアプリ内でストリームを開く | [LINE (LIFF / MINI App)](/ja/connections/line) |

---

## 対応プロバイダー

| プロバイダー   | 説明                                         |
| :------------- | :------------------------------------------- |
| **Webhook**    | オプション認証付きの任意のHTTPエンドポイント |
| **Custom**     | オプションAPIキー付きのカスタムAPI URL       |
| **Zapier**     | Zapier Webhook（HTTPS必須）                  |
| **Braze**      | Brazeメッセージプラットフォーム — [Brazeコネクション](/ja/connections/braze)を参照 |
| **HubSpot**    | HubSpot CRM                                  |
| **Mailchimp**  | Mailchimpメールマーケティング                |
| **Salesforce** | Salesforce CRM                               |
| **Segment**    | Segmentアナリティクス                        |
| **LINE**       | LIFF / MINI AppでストリームをLINE内に公開 — [LINEコネクション](/ja/connections/line)を参照 |

---

## イベントWebhookの仕組み

1. 組織レベルでプロバイダーの認証情報を使って**コネクションを作成**する
2. 1つ以上のストリーム（キャンペーン）に**コネクションをリンク**する
3. Webhookがいつ発火するかを決定する**トリガーイベントを選択**する
4. トリガーイベントが発生すると、DailyPlayがイベントデータとともにエンドポイントにPOSTリクエストを送信する

:::tip
LINEのセットアップとパーマネントリンクについては[LINEコネクション](/ja/connections/line)を参照してください。LINEはストリームのトリガーイベントにはリンクしません。
:::

---

## トリガーイベント

各ストリームコネクションは、以下のイベントの1つ以上で発火するように設定できます：

| イベント           | 発火タイミング                               |
| :----------------- | :------------------------------------------- |
| `stream_access`    | プレイヤーがストリームページを開いたとき     |
| `play_start`       | プレイヤーがゲームを開始したとき             |
| `play_complete`    | プレイヤーがゲームを完了したとき             |
| `prize_redemption` | プレイヤーが賞品やバウチャーを受け取ったとき |

---

## Webhookコネクションの設定

### 1. コネクションの作成

1. メインナビゲーションから**コネクション**へ移動
2. **コネクションを追加**をクリック
3. プロバイダーを選択（例：**Webhook**）
4. 必要な認証情報を入力：
   - **Webhook / Custom** — エンドポイントURLとオプションの認証ヘッダーまたはAPIキー
   - **Zapier** — Webhook URL（HTTPS必須）
   - **その他のプロバイダー** — APIキーとプロバイダー固有のフィールド
5. コネクションを保存

### 2. ストリームへのリンク

1. 接続したいストリームを開く
2. **コネクション**タブへ移動
3. 組織から利用可能なコネクションを選択
4. Webhookを発火させる**トリガーイベント**を選択
5. 保存

---

## ペイロード形式

トリガーイベントが発生すると、DailyPlayは設定されたエンドポイントにHTTP
POSTリクエストを送信します。ペイロードはJSON形式で、イベント、ゲーム、プレイヤーに関するコンテキストが含まれます。

### 例：`play_complete` イベント

```json
{
  "event_type": "play_complete",
  "game_id": "163",
  "stream_id": 453,
  "stream_slug": "my-campaign-slug",
  "stream_name": "My Campaign Stream",
  "player_uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "session_id": "s9k8j7h6-g5f4-d3c2-b1a0-123456789abc",
  "score": 85,
  "play_duration_seconds": 32,
  "url_params": {
    "user_id": "usr_123",
    "email": "player@example.com",
    "source": "email_campaign"
  },
  "timestamp": "2026-04-09T14:30:00.000Z"
}
```

### ペイロードフィールド

| フィールド              | 型     | 説明                                                        |
| :---------------------- | :----- | :---------------------------------------------------------- |
| `event_type`            | string | トリガーイベント名（例：`play_complete`）                   |
| `game_id`               | string | プレイされたゲームのID                                      |
| `stream_id`             | number | ゲームが属するストリーム（キャンペーン）のID                |
| `stream_name`           | string | ストリームの表示名                                          |
| `player_uuid`           | string | プレイヤーの一意識別子                                      |
| `session_id`            | string | プレイセッションの一意識別子                                |
| `score`                 | number | プレイヤーのスコア（`play_complete`の場合）                 |
| `play_duration_seconds` | number | プレイヤーがゲームを完了するのにかかった時間（秒）          |
| `url_params`            | object | プレイヤーがストリームにアクセスした際のURLクエリパラメータ |
| `timestamp`             | string | イベントが発生したISO 8601タイムスタンプ                    |

:::tip
`url_params`フィールドは、ストリームURLからのクエリパラメータをキャプチャします。既存のシステムからトラッキングID、ユーザー識別子、キャンペーンタグを渡すのに便利です。例：`https://app.dailyplay.ai/stream/my-org/my-stream?user_id=usr_123&source=email_campaign`
:::

---

## コネクションの管理

- **編集** — コネクションページから認証情報の更新やコネクション名の変更
- **有効化 / 無効化** — コネクションを削除せずにオン・オフを切り替え
- **ストリームから削除**
  — 他のストリームで利用可能な状態を維持しながら、特定のストリームからコネクションを解除
- **削除** — 組織からコネクションを完全に削除

:::note
コネクションの作成、編集、削除ができるのは、組織の**オーナー**と**管理者**のみです。
:::