はじめてのフック箱
Webhook
フック箱ってなに?
まず「Webhook」とは
いろいろな
- LINE の
公式アカウントに 誰かが メッセージを 送ったら、 あなたの プログラムに 知らせる - ネットショップで
商品が 売れたら、 在庫を 管理する システムに 知らせる - GitHub で
誰かが プルリクエストを 出したら、 チャットに 知らせる
知らせる
困るのは「何が届いたのか見えない」こと
Webhook を
- そもそも
本当に 届いているのか 分からない - 届いた
手紙の 中身が どんな 形なのか、 説明書だけでは よく 分からない - 受け取る
プログラムが まだ 無いので、 試しようが ない
フック箱は「ためしに受け取って中を見る箱」
フック箱は、
自分で
こんなときに便利
- LINE bot を
作り :メッセージや始めた とき スタンプが 送られた とき、 どんな 形の データが 届くのかを 先に 見られます。 - 決済
(Stripe など)を :支払いが組み込む とき 済んだ 通知の 中身や、 テスト環境の 通知かどうかを 確かめられます。 - ノーコードツールや
業務システムの :kintone や、連携 Webhook を 送れる ツールの 設定が 正しいか、 実際に 送って 確かめられます。 - 自分で
作った :自作のプログラムの 送信テスト スクリプトや IoT 機器が、 ちゃんと データを 送れているかを 見られます。 - 「届かない」
原因を :フック箱には切り分けたい とき 届くのに 自分の サーバーには 届かないなら、 問題は 自分の サーバー側に ある、と 分かります。
3分で試してみる
サービスに
- トップページで
「受信用 URL を 発行する」を 押します。 受信箱の 画面が 開き、 上に https://hookbako.fourgetkun.com/h/…と いう 受け取り用 URL が 表示されます。 - 受信箱の
画面の URL (アドレスバーの URL)は、 ブックマーク しておきます。後で この 画面に 戻る ための 鍵が 入っています。 - 次の
どれかで、 受け取り用 URL に データを 送ってみます ( 受け取り用URLの部分を、 自分の URL に 置き換えます)。
Mac・Linux(ターミナル)
curl -X POST '受け取り用URL/hello' \
-H 'Content-Type: application/json' \
-d '{"message":"hello"}'
受信箱の
Windows(PowerShell)
Invoke-RestMethod -Method Post -Uri '受け取り用URL/hello' -ContentType 'application/json' -Body '{"message":"hello"}'
古い
ブラウザだけで試す
フック箱の
fetch('受け取り用URL/hello', { method: 'POST', body: JSON.stringify({ message: 'hello' }) })
ほかの
送ると、
画面の見方

- 受信トレイ
(左) - 届いたリクエストが
新しい 順に 並びます。 LINE や Stripe など、 送り元が 分かる ものは 名前と 「何が 起きたか」が 表示されます。 - 見出し
(右上) - 選んだリクエストの
概要です。 届いた 時刻、 送り元の IP アドレス、 大きさなどが 並びます。 - この
リクエストに ついて - 何の
イベントか、 次に 何を すれば よいかを 日本語で 説明します。 メモも 書けます。 - 本文
- 届いた
データの 中身です。 「整形」で 読みやすく、 「TypeScript」で 型定義に 変換して 表示できます。 - 署名の
検証 - 送り元の
サービスから 本当に 届いた ものかを 確かめます (使い方は 署名検証の )。ガイド - ヘッダーと
クエリ - データに
付いてきた 付帯情報です。 送り元の サービス名や、 署名などが 入っています。 - 手元へ
送り直す - 同じリクエストを、
自分の パソコンで 動かしている プログラムに 送る ための コマンドです。
知っておくと便利な使い方
パスを変えて、送り元を分ける
受け取り用 URL の…/h/あなたのID/line、…/h/あなたのID/stripe のように
検索で絞り込む
上のprovider:linemethod:POST、path:/stripe のように
返事の内容を変えて、送り元の動きを試す
受信箱の
届いたデータから、プログラムの型を作る
本文の
自分のプログラムに同じデータを送る
「手元へhttp://localhost:3000)に
キーボードで操作する
j で
名前とメモで整理する
受信箱には
気をつけること
- 受信箱の
画面の URL は 人に 教えない。 鍵が 入っていて、 知っている 人は 誰でも 中身を 見られます。 - パスワードや
個人情報は 送らない。 フック箱は テストの ための 道具です。 本物の 顧客データなどは 送らないでください。 - 7日で
消えます。 受信箱は 作ってから 7日で、 中身ごと 自動的に 削除されます。 残しておきたい ものは、 メニューの 「全部を 書き出す」で 保存します。 - 保存は
最新の 100件まで。 それより 古い ものは 順に 消えます。 1つの 受信箱で 受け取れるのは 合計1,000件までです。
用語ミニ辞典
- Webhook
(ウェブフック) - 何かが
起きた とき、 サービスが 決められた URL へ データを 送って 知らせる 仕組み。 - エンドポイント
- データの
送り先に なる URL の こと。 フック箱の 「受け取り用 URL」が これに あたります。 - リクエスト
- 送られてきた
1回分の データ。 フック箱の 一覧の 1行が 1つの リクエストです。 - ヘッダー
- リクエストに
付いてくる 付帯情報。 どの サービスから 来たか、 どんな 形式の データかなどが 書かれています。 - 本文
(ボディ) - リクエストの
中身 そのもの。 多くは JSON と いう 形式で 書かれています。 - JSON
(ジェイソン) {"name":"山田"}のように、項目と 値の 組で 書く データの 形式。 - ステータスコード
- 受け取った
側が 返す番号。 200 は 「受け取りました」、 500 は 「エラーが 起きました」と いう 意味です。 - 署名・シークレット
- 本物の
サービスから 届いた ことを 確かめる ための 仕組みと、 その ための 合言葉。 合言葉を 知っている 送り元しか、 正しい 署名を 作れません。
次に読む
署名の