---
title: ダイレクト通知 - 個人 API キーによる即時アラート
sidebarTitle: ダイレクト
description: チャンネルを作成せずに、個人 API キーで直接通知を送信。ダイレクトキーの作成方法、webhook URL の使用方法、タイトル・本文・リンク付きの即時通知の送信方法を学びます。
---

# ダイレクト通知

ダイレクト通知を使えば、シンプルな webhook URL で個人アラートを送信できます。チャンネルの設定、テンプレート、購読者は不要です。キーを作成し、URL を呼び出すだけで、デバイスに即座に通知が届きます。

## ダイレクト通知とは？

チャンネルは、他のユーザーと共有できる構造化されたテンプレート通知に最適です。しかし、ビルド完了、スクリプト実行完了、センサー作動など、素早い個人通知が欲しいだけの場合もあります。ダイレクト通知はまさにそのために設計されています。

ダイレクト通知では、一意の webhook URL に対応する個人 API キーを取得します。タイトルと本文で URL を呼び出すと、チャンネル設定なしで直接通知が送信されます。

## はじめに

### 1. ダイレクトキーを作成

Echobell アプリで、チャンネルリストの上部にある**ダイレクト**をタップします。**作成**をタップして新しいダイレクトキーを生成し、わかりやすい名前を付けます（例：「ビルドサーバー」「ホームラボ」「トレーディングボット」）。

### 2. Webhook URL をコピー

各ダイレクトキーには一意の webhook URL があります：

```
https://hook.echobell.one/d/{your-key-token}
```

アプリのダイレクトキー詳細ビューで URL を確認・コピーできます。セキュリティのためトークンはデフォルトで非表示です — タップで表示します。

### 3. 通知を送信

`title` と `body` を含む JSON ボディで webhook URL を呼び出します：

```http
POST https://hook.echobell.one/d/YOUR_KEY_TOKEN
Content-Type: application/json

{
  "title": "ビルド完了",
  "body": "プロジェクト X のビルドが 3 分 42 秒で成功しました"
}
```

これだけです — 即座に通知を受け取れます。

## リクエストの送信

### POST リクエスト（推奨）

通知内容を含む JSON ボディを送信します：

```http
POST https://hook.echobell.one/d/YOUR_KEY_TOKEN
Content-Type: application/json

{
  "title": "デプロイ状況",
  "body": "v2.1.0 を本番環境にデプロイしました",
  "externalLink": "https://dashboard.example.com/deploys/latest"
}
```

### GET リクエスト

クエリ文字列でパラメータを渡すこともできます：

```http
GET https://hook.echobell.one/d/YOUR_KEY_TOKEN?title=アラート&body=CPU+95%25
```

### リクエストフィールド

すべてのフィールド名は**大文字小文字を区別しません** — `title`、`Title`、`TITLE` はすべて同じように扱われます。JSON ボディでもクエリ文字列でも同様です。

| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
| `title` | string | いいえ | 通知タイトル。省略時のデフォルトは "Direct Notification"。 |
| `body` | string | いいえ | 通知本文。 |
| `externalLink` | string | いいえ | 通知記録に表示されるクリック可能なリンク。 |
| `notificationType` | string | いいえ | 通知の緊急度。`active`、`time-sensitive`、`calling` を指定できます。デフォルトは `time-sensitive`。[通知タイプ](#通知タイプ)を参照。 |

### 通知タイプ

`notificationType` フィールドでダイレクト通知の緊急度を制御できます：

| タイプ | 説明 |
|---|---|
| `active` | 標準通知、通常通り配信されます。 |
| `time-sensitive` | 高優先度通知、集中モードを突破できます。これがデフォルトです。 |
| `calling` | 緊急時向けの通話のようなアラート。**有効なプレミアムサブスクリプションが必要です。**プレミアムがない場合、`time-sensitive` にフォールバックします。 |

通知タイプを指定した例：

```http
POST https://hook.echobell.one/d/YOUR_KEY_TOKEN
Content-Type: application/json

{
  "title": "サーバーダウン",
  "body": "本番サーバーが応答しません",
  "notificationType": "calling"
}
```

## 一般的なユースケース

### シェルスクリプト

```bash
curl -X POST https://hook.echobell.one/d/YOUR_KEY_TOKEN \
  -H "Content-Type: application/json" \
  -d '{"title": "マイグレーション完了", "body": "データベースマイグレーションが正常に完了しました"}'
```

### Python

```python
import requests

requests.post(
    "https://hook.echobell.one/d/YOUR_KEY_TOKEN",
    json={
        "title": "トレーニング完了",
        "body": f"モデル精度: {accuracy:.2%}",
        "externalLink": "https://wandb.ai/runs/abc123"
    }
)
```

## ダイレクトキーの管理

- **複数キー**：異なる用途（CI サーバー、ホームオートメーション、cron ジョブなど）に複数のキーを作成可能。通知記録はトリガーしたキーに自動的に関連付けられるため、各通知の送信元を簡単に識別できます
- **トークンリセット**：キーの webhook URL が漏洩した場合、キー詳細ビューでトークンをリセットでき、古い URL は即座に無効化されます
- **キーの削除**：ダイレクトキーを削除すると、その webhook URL は永久に無効化されます

## ベストプラクティス

1. **セキュリティ**：ダイレクトキー URL を機密情報として扱い、環境変数でトークンを保存してください
2. **整理**：キーにわかりやすい名前を付け、サービスごとに別のキーを使用してください
3. **エラー処理**：配信の成功を確認するため、HTTP レスポンスステータスを常にチェックしてください
4. **クリーンアップ**：使用しなくなったキーを削除してセキュリティリスクを軽減してください

## プライバシーとセキュリティ

- ダイレクトキー URL は機密情報として扱う必要があります
- 必要なデータのみを送信してください
- 通知コンテンツはデバイスにローカル保存されます
- サーバーはリクエストの処理と通知のルーティングのみを行います

## トラブルシューティング

ダイレクト通知が期待通りに動作しない場合：

1. webhook URL が正しいことを確認
2. キーがまだ存在することを確認（削除またはトークンリセットされている可能性）
3. Echobell アプリに通知権限があることを確認
4. JSON が正しくフォーマットされ、`Content-Type: application/json` ヘッダーが設定されていることを確認
5. curl でテストして HTTP クライアントの問題を除外

ヘルプが必要ですか？[サポートセンター](/ja/docs/support)にアクセスするか、echobell@weelone.com までお問い合わせください。
