Echobell

ダイレクト通知 - 個人 API キーによる即時アラート

チャンネルを作成せずに、個人 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. 通知を送信

titlebody を含む JSON ボディで webhook URL を呼び出します:

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

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

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

リクエストの送信

POST リクエスト(推奨)

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

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 リクエスト

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

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

リクエストフィールド

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

フィールド必須説明
titlestringいいえ通知タイトル。省略時のデフォルトは "Direct Notification"。
bodystringいいえ通知本文。
externalLinkstringいいえ通知記録に表示されるクリック可能なリンク。
notificationTypestringいいえ通知の緊急度。activetime-sensitivecalling を指定できます。デフォルトは time-sensitive通知タイプを参照。

通知タイプ

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

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

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

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

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

一般的なユースケース

シェルスクリプト

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

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 クライアントの問題を除外

ヘルプが必要ですか?サポートセンターにアクセスするか、echobell@weelone.com までお問い合わせください。

目次