---
title: Webhook連携 - HTTPトリガー完全ガイド
sidebarTitle: Webhook
description: Echobellのwebhookをアプリやサービスに組み込む方法を解説。HTTPメソッド、変数、テンプレート、ヘッダー、即時通知のための実践的な連携例を含む完全ガイド。
---

# Webhook 連携

Webhookは、Echobell通知をトリガーする最も汎用性の高い方法です。この包括的なガイドでは、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 リクエスト

クエリパラメータを通じて変数を渡すことができます：

```http
GET https://hook.echobell.one/t/<channel-token>?server_name=Production&cpu_usage=95
```

### POST リクエスト

POST リクエストの場合、JSON ボディで変数を送信します：

```http
POST https://hook.echobell.one/t/<channel-token>
Content-Type: application/json

{
  "server_name": "Production",
  "cpu_usage": 95
}
```

### POST のみ

各チャンネルには、Echobell アプリの**詳細設定**に **POST のみ** スイッチがあります。デフォルトはオフです。

オンにすると、`POST` だけがチャンネルをトリガーできます。Webhook URL への `GET` は `405 Method Not Allowed` で拒否され、通知は送信されません:

```json
{
  "success": false,
  "notificationTriggered": false,
  "message": "This trigger only accepts POST requests; GET triggering is disabled in its settings."
}
```

`HEAD` リクエストは影響を受けません。POST のみのオン・オフにかかわらず `200` を返し、通知をトリガーすることはありません。

Webhook URL が、リンクを自動的に取得する場所（チャットのメッセージ、Wiki のページ、ブラウザのアドレスバーなど）に置かれる場合はオンにしてください。URL のプレビューや表示だけで通知が飛ぶことを防げます。`GET` でチャンネルをトリガーする呼び出し元がある場合はオフのままにしてください。

## 特別な変数

Echobell は通知に機能を追加する特別な変数をサポートしています：

- `externalLink`: リクエストに含めると、通知記録ビューでクリック可能なリンクを作成します。詳細情報や関連リソースへのリンクに便利です。

外部リンクの例：

```http
POST https://hook.echobell.one/t/<channel-token>
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`、`hour`、`minute`、`second` が含まれます。その他 — `sys.dayOfWeekName`、`sys.epochMs`、`sys.epochSeconds` など — は `sys.` 名前空間の下でのみ利用できます。完全な一覧と例は[条件](/ja/docs/conditions)を参照してください。

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

webhook は以下のような用途に特に便利です：

- サーバー監視とアラート
- CI/CD パイプライン通知
- IoT デバイスのステータス更新
- アプリケーションエラーの追跡
- E コマースの注文通知
- 自動化システムアラート

## ベストプラクティス

1. **エラー処理**: 配信の成功を確認するため、webhook コールの HTTP レスポンスステータスを常にチェックしてください
2. **レート制限**: 通知システムへの負荷を避けるため、webhook 呼び出しの間に適切な遅延を実装してください
3. **データセキュリティ**: webhook URL は信頼できるシステムとサービスとのみ共有してください
4. **テスト**: 本番環境に実装する前に、最小限のデータで webhook 統合をテストしてください

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

以下の点に注意してください：

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

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

webhook が期待通りに動作しない場合：

1. webhook URL が正しいことを確認
2. チャンネルがアクティブであることを確認
3. JSON ペイロードが正しくフォーマットされていることを確認（POST リクエストの場合）
4. テンプレートで必要なすべての変数が提供されていることを確認
5. チャンネルにアクティブな購読者がいることを確認

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