Webhook連携
Echobellのwebhookをアプリケーションやサービスに統合する方法を学びます
Webhook 連携
webhook とは
webhook は、あるアプリケーションが他のアプリケーションにリアルタイムで情報を提供する方法です。誰かに電話番号を渡すようなものです - その番号に電話をかけると、あなたの電話が鳴ります。デジタルの世界では、あるシステムで何かが起きた時に、あなたが提供した URL(webhook)に HTTP リクエストを送信し、あなたのシステムでアクションをトリガーします。
例えば、サーバーの CPU 使用率が高すぎくなった時、監視システムが Echobell の webhook URL を呼び出し、それによってあなたに警告する通知がトリガーされます。これは自動的にリアルタイムで発生し、あなたが手動で CPU 使用率を確認する必要はありません。
概要
各 Echobell チャンネルは、固有の webhook URL で設定できます。この URL が呼び出されると、設定された通知テンプレートと提供された変数に基づいて、チャンネルがすべての購読者に通知を送信します。
Webhook URL の形式
https://hook.echobell.one/t/{チャンネルトークン}チャンネルの webhook URL は、Echobell アプリのチャンネル詳細ビューで確認できます。
Webhook リクエストの実行
Echobell の webhook は GET と POST の両方のメソッドをサポートしています:
GET リクエスト
クエリパラメータを通じて変数を渡すことができます:
GET https://hook.echobell.one/t/xxx?server_name=Production&cpu_usage=95POST リクエスト
POST リクエストの場合、JSON ボディで変数を送信します:
POST https://hook.echobell.one/t/xxx
Content-Type: application/json
{
"server_name": "Production",
"cpu_usage": 95
}特別な変数
Echobell は通知に機能を追加する特別な変数をサポートしています:
externalLink: リクエストに含めると、通知記録ビューでクリック可能なリンクを作成します。詳細情報や関連リソースへのリンクに便利です。
外部リンクの例:
POST https://hook.echobell.com/t/xxx
Content-Type: application/json
{
"server_name": "Production",
"cpu_usage": 95,
"externalLink": "https://dashboard.example.com/alerts/123"
}テンプレート変数
webhook を通じて渡された変数は、{{変数名}}構文を使用して通知テンプレートで使用できます:
タイトル:サーバー{{server_name}}アラート
本文:CPU使用率が{{cpu_usage}}%に到達しましたトリガー時、これらのテンプレートは webhook リクエストで提供された値で置き換えられます。
システム時刻変数(UTC)
送信データに加えて、テンプレートと条件で常に利用できる読み取り専用のシステム時刻変数(UTC)があります。主なフィールド:date、time、year、month、dayOfWeek/dayOfWeekName、hour、minute、second、epochMs、epochSeconds。完全な一覧と例は条件を参照してください。
一般的なユースケース
webhook は以下のような用途に特に便利です:
- サーバー監視とアラート
- CI/CD パイプライン通知
- IoT デバイスのステータス更新
- アプリケーションエラーの追跡
- E コマースの注文通知
- 自動化システムアラート
ベストプラクティス
- エラー処理: 配信の成功を確認するため、webhook コールの HTTP レスポンスステータスを常にチェックしてください
- レート制限: 通知システムへの負荷を避けるため、webhook 呼び出しの間に適切な遅延を実装してください
- データセキュリティ: webhook URL は信頼できるシステムとサービスとのみ共有してください
- テスト: 本番環境に実装する前に、最小限のデータで webhook 統合をテストしてください
プライバシーとセキュリティ
以下の点に注意してください:
- webhook URL は機密情報として扱う必要があります
- webhook リクエストには必要なデータのみを送信してください
- すべての通知コンテンツは購読者のデバイスにローカルに保存されます
- サーバーは webhook リクエストの処理と通知のルーティングのみを行います
トラブルシューティング
webhook が期待通りに動作しない場合:
- webhook URL が正しいことを確認
- チャンネルがアクティブであることを確認
- JSON ペイロードが正しくフォーマットされていることを確認(POST リクエストの場合)
- テンプレートで必要なすべての変数が提供されていることを確認
- チャンネルにアクティブな購読者がいることを確認
ヘルプが必要ですか?サポートセンターにアクセスするか、echobell@weelone.comまでお問い合わせください。