# APIの概要

DailyPlayは、**サードパーティアプリケーション**がユーザー向けにワンタイムゲームセッションをプログラム的に作成できるAPIを提供しています。CRM、マーケティングプラットフォーム、ECシステム、その他DailyPlayゲームを制御された方法でエンドユーザーに提供したいアプリケーションに最適です。

:::note[Businessティア以上が必要]
API機能は**Businessティア**以上の組織でのみ利用可能です。
:::
:::caution[「APIセッショントークンを必須にする」を有効にしてください]
セッショントークンを有効にするには、各ゲームまたはストリームの**設定**タブで**「APIセッショントークンを必須にする（Require
API Session
Token）」**設定を有効にする必要があります。この設定が無効の場合、ゲームはトークンの制限なしにプレイ可能になります。
:::

## 仕組み

統合フローはシンプルなパターンに従います：

1. **あなたのサーバー**がAPIキーを使用してワンタイムセッショントークンを作成
2. **あなたのアプリ**がエンドユーザーをトークン付きのゲームURLにリダイレクト
3. **DailyPlay**がトークンを検証して消費 — ユーザーは1回プレイ
4. トークンは使い捨てで再利用不可

```
あなたのアプリ                    DailyPlay
────────────                    ─────────
   │
   │  1. セッション作成（x-api-key）
   ├─────────────────────────────────►  POST /api/org-api-keys/sessions
   │                                        │
   │  2. ワンタイムトークンを受信          │
   ◄────────────────────────────────────────┘
   │
   │  3. トークン付きでユーザーをリダイレクト
   ├─────────────────────────────────►  プレイヤーがゲームURLを開く
   │                                    ?session_token=<token>
   │
   │                                   4. トークン検証・消費
   │                                   5. ユーザーがゲームをプレイ
   │                                   6. トークンは再利用不可
```

## 主要コンセプト

### APIキー

APIキーはDailyPlay APIを呼び出す際にサーバーを認証します。各キーは：

- 組織に所属
- 特定のゲームやストリームにスコープ可能
- レート制限を設定可能
- 即座に取り消し可能

セットアップと管理の詳細は[APIキー](/ja/api/api-keys/)を参照。

### セッショントークン

セッショントークンは1回限りの使い捨てトークンで、1回のプレイを許可します：

- APIキーを通じて作成
- 設定可能な期間後に期限切れ（デフォルト：24時間）
- 1回のみ消費可能
- 追跡用のオプションメタデータを付与可能

完全なライフサイクルとAPIリファレンスは[セッショントークン](/ja/api/session-tokens/)を参照。

## ユースケース

- **EC**：購入後にゲームプレイで顧客にリワード
- **CRMキャンペーン**：セグメントされたオーディエンスにパーソナライズドゲームリンクを送信
- **ロイヤルティプログラム**：ロイヤルティ会員に毎日のゲームプレイを付与
- **イベントマーケティング**：イベントやQRコードでワンタイムゲームアクセスを配布

## クイック例

```bash
# 1. サーバーからセッショントークンを作成
curl -X POST https://app.dailyplay.ai/api/org-api-keys?action=create-session \
  -H "Content-Type: application/json" \
  -H "x-api-key: dpk_YOUR_API_KEY" \
  -d '{
    "game_id": 42,
    "external_ref": "user-12345",
    "expires_in_minutes": 60
  }'

# レスポンス:
# {
#   "success": true,
#   "data": {
#     "token": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
#     "game_id": 42,
#     "expires_at": "2026-02-17T12:00:00.000Z"
#   }
# }

# 2. ユーザーを以下にリダイレクト:
# Game Page in DailyPlay
# https://app.dailyplay.ai/game/42?session_token=a1b2c3d4-e5f6-7890-abcd-ef1234567890
#
# Iframe friendly game page with no DailyPlay UI
# https://app.dailyplay.ai/embed/42?session_token=a1b2c3d4-e5f6-7890-abcd-ef1234567890
#
# Stream Page
# https://app.dailyplay.ai/stream/<org-slug>/<stream_id>?session_token=a1b2c3d4-e5f6-7890-abcd-ef1234567890
```

## AIエージェント向けMCP

同じAPIキーでリモートの**MCPサーバー**を利用でき、CursorやClaudeなどのエージェントがゲーム作成、ストリーム管理、アセット生成、ギャラリーとバウチャーの管理、レポート参照、セッション発行を行えます。キーでMCPスコープを有効にし、クライアントを `https://app.dailyplay.ai/api/mcp` に向けてください。

詳細は[MCPサーバー](/ja/api/mcp/)と[MCPツールリファレンス](/ja/api/mcp-tools/)を参照してください。

ダッシュボード内で同じ機能を使う場合（APIキー不要）は[アプリ内アシスタント](/ja/assistant/overview/)を参照してください。

## 次のステップ

- DailyPlayダッシュボードから[APIキーを作成](/ja/api/api-keys/)
- [セッショントークンのライフサイクルを学ぶ](/ja/api/session-tokens/)
- [MCPでAIエージェントを接続](/ja/api/mcp/)
- [アプリ内アシスタントを使う](/ja/assistant/overview/)
- [APIリファレンスを参照](/ja/api/reference/)