ご利用のブラウザではページを正しく表示できません。ブラウザを最新版に更新してください。

見ハル

Webhook 連携ガイド

Webhookを設定すると、見ハルの監視結果(システムアラート)を、あなたが指定したURLにJSON形式でPOST送信します。Zapier / Make / n8n / 自前サーバなどと連携して、通知を自由に処理できます。

本機能は開発者・パワーユーザー向けです。受信側の実装が必要です。

1. 設定方法

  1. 1アプリで「外部通知」→「Webhook」を開く
  2. 2送信先のWebhook URLを入力(https://で始まるURLが必須)
  3. 3必要に応じて「通知内容」フィルタ(特定の監視グループのみ等)を設定
  4. 4保存すると、設定完了のテスト通知が1件送信されます

2. HTTP送信仕様

メソッド
POST
ボディ
JSON(UTF-8)
主なヘッダ
Content-Type: application/json; charset=utf-8 User-Agent: Miharu-Webhook/1.0 X-Miharu-Event: <event>(イベント種別) X-Miharu-Notification-Id: <id>(通知の一意ID)
タイムアウト
10秒
成功条件
HTTPステータス 2xx を返すこと
受信側はすぐに2xxを返してください。2xx以外の応答が連続10回続くと、そのWebhookへの送信は自動停止します(アプリから再設定で再開)。重い処理は応答を返した後に非同期で行ってください。

署名(HMAC等)ヘッダは付与されません。Webhook URL自体が秘密情報です(後述のセキュリティ参照)。

3. ペイロード(共通フィールド)

source string固定値 "miharu"
version stringペイロード仕様バージョン(現在 "1")
id string通知の一意ID(UUID)。同一イベントはリトライでも同じ id(重複排除に利用)
timestamp string発生時刻(ISO 8601, UTC)
language string言語コード(en/ja/de/pt/es/fr/ko)
event stringイベント種別(下表)
monitor object / null監視対象 {id, name, url}。system イベントでは null
message object表示用 {body, label}。label は無い場合 null
detail objectイベント種別ごとの詳細(下記)

4. イベント種別と detail

page_changed更新検出(ページ内容が前回から変化){ diff: [...], truncated: bool }
keyword_hitキーワード検出{ hits: [{ keywords: [...], excerpts: [...] }] }
new_link新着リンク検出{ links: [{ text, url }] }
price_changed価格・数値の変化{ target_name, before, after }
text_changedテキストの変化{ target_name, before, after }
systemシステム通知(連携完了・監視停止など){ kind: string }(種別を示す文字列)

page_changed の diff

diff は変更箇所の配列です。各要素は次のいずれか:

truncated が true の場合、差分が大きいため一部が省略されています。

5. サンプル

更新検出(page_changed)

JSON
{
  "source": "miharu",
  "version": "1",
  "id": "5c2e1b7a-9f3d-5a6b-8c4e-1d2f3a4b5c6d",
  "timestamp": "2026-05-22T01:23:45Z",
  "language": "ja",
  "event": "page_changed",
  "monitor": { "id": "abc123", "name": "商品ページ", "url": "https://example.com/item" },
  "message": { "body": "ページが更新されました。", "label": "更新" },
  "detail": {
    "diff": [
      { "op": "replaced", "before": "在庫なし", "after": "在庫あり" },
      { "op": "added", "text": "本日入荷しました" }
    ],
    "truncated": false
  }
}

キーワード検出(keyword_hit)

JSON
{
  "source": "miharu", "version": "1", "id": "…",
  "timestamp": "2026-05-22T01:23:45Z", "language": "ja",
  "event": "keyword_hit",
  "monitor": { "id": "abc123", "name": "在庫ページ", "url": "https://example.com/stock" },
  "message": { "body": "キーワードを検出しました。", "label": "キーワード" },
  "detail": { "hits": [ { "keywords": ["入荷"], "excerpts": ["…本日入荷しました…"] } ] }
}

新着リンク検出(new_link)

JSON
{
  "…": "…",
  "event": "new_link",
  "message": { "body": "新着リンクを検出しました。", "label": "新着リンク" },
  "detail": { "links": [ { "text": "新商品のお知らせ", "url": "https://example.com/news/123" } ] }
}

価格・数値の変化(price_changed)

JSON
{
  "…": "…",
  "event": "price_changed",
  "message": { "body": "「価格」が変化しました。\n\n1980 → 1480", "label": "価格・数値" },
  "detail": { "target_name": "価格", "before": "1980", "after": "1480" }
}

6. 重複排除(冪等性)

同じイベントは、再送(リトライ)でも常に同じ id で届きます(X-Miharu-Notification-Id ヘッダにも同じ値)。受信側では id を使って重複処理を防いでください。

7. セキュリティ

8. 連携サービス

各サービスで「受信用URL」を発行し、それを見ハルのWebhook URLに設定するだけです。

9. 制限・注意

10. うまく届かないとき


お気づきの点やご要望は、アプリの「ご意見・改善のご要望」からお送りください。

通知チャネルの設定は、すべてアプリから行えます。アプリを入手