Webhookとは?非エンジニアのためのやさしい解説
こんにちは、チェウォンです。
3Min APIを紹介するとき、一番よく聞かれるのが「Webhookって何ですか?」という質問です。エンジニアにとっては当たり前のことですが、技術に馴染みがない方には、まったく初めて聞く言葉かもしれません。
今日は、Webhookとは何か、なぜ大事なのか、どう動くのか — できるだけシンプルなたとえを使って説明します。
荷物配達でわかるWebhook
ネットで注文した荷物があるとします。配達状況を確認する方法は2つあります。
方法1:自分で確認する
追跡アプリを開いて更新ボタンを押す。朝、昼、夜 — 何も変わっていなくてもチェックし続ける。ITの世界では、これをポーリングと呼びます。
方法2:通知を受ける
プッシュ通知を設定する。「ステータスが変わったら教えて」。自分からは確認しない — 何か変わったらアプリが自動で教えてくれる。これが基本的にWebhookの仕組みです。
もう少し正確に言うと
Webhookとは「イベントが発生したとき、指定したURLに自動でデータを送る仕組み」です。
たとえば:
- ECサイトで新しい注文が入ったとき → 注文データがあなたのシステムに送られる
- 決済が完了したとき → 決済情報がダッシュボードに自動記録される
- 顧客がアンケートに回答したとき → 回答がスプレッドシートに追加される
パターンが見えましたか?「Xが起きたら → Yをする」。データを取りに行く必要がない — データの方からやってくるのです。
なぜWebhookが大事なのか
ビジネスでは、データの流れが速くなければなりません。取引先が注文を入れたのに、3時間後に手動でチェックするまで気づかなかったら、対応が遅れます。
Webhookなら:
- リアルタイムでデータが届く。注文が入った瞬間にわかる
- 自動。誰かが手動で確認する必要がない
- 効率的。何かが起きたときだけデータが流れる — 無駄な通信がない
3Min APIにおけるWebhook
3Min APIでのWebhookの動き方を説明します。
取引先があなたのAPIエンドポイントにデータを送ると、3Min APIはそれを保存し、同時にあなたが指定したURLに転送します。たとえば、CRM、Slackチャンネル、あるいは自社の内部システムに。
設定はシンプルです。エンドポイントを作るとき、「このURLに送って」と入力するだけ。データが届くたびに自動転送されます。
もしWebhookの配信が失敗したら?3Min APIは自動でリトライします — 最大3回。それでもダメなら、試行ログが残るので、後から確認できます。
Webhook vs ポーリング — どちらがいいの?
結論から言うと、ほとんどのビジネスシナリオではWebhookのほうがずっと優秀です。
ポーリングは「何か新しいことない?」と常に聞き続けること。何もなくても聞く。サーバーリソースを使い、遅く、コストもかかります。
Webhookは「何かあったら教えて」。必要なときだけ発動する — はるかに効率的です。
ただし、Webhookを受け取るには受け取れるURLが必要です。通常、それはサーバーが必要ということ — まさにそこを3Min APIが解決します。サーバーなしでWebhookを受信できるエンドポイントを作れます。
Webhookが届かないときのチェックリスト
Webhookを設定したのにデータが届かない場合、慌てないでください。たいていは以下のどれかです:
- URLは正しい? — タイプミスが最も多い原因です。
https://とhttp://も要確認。ほとんどのサービスはHTTPSが必須です - 認証情報は正しい? — APIキーや認証ヘッダーが間違っていると403で拒否されます
- 受信側にレート制限がある? — システムによっては1秒あたりや1分あたりのリクエスト数に上限があります。超えるとデータが拒否されます
- レスポンスが遅すぎない? — Webhook送信側は通常5〜10秒以内のレスポンスを期待します。遅いと失敗扱いになることがあります
- ファイアウォールがブロックしてない? — 自社サーバーでWebhookを受け取る場合、ファイアウォールやIPホワイトリストの設定を確認してください
3Min APIを受信側として使う場合、HTTPS、認証、サーバー可用性はすべてサービスが管理するので、上記の問題のほとんどは解消されます。ただし、3Min APIから転送されたWebhookを自社システムで受け取る場合は、上記の項目を確認してください。
まとめ
- Webhookとは「イベント発生時の自動通知」
- 荷物追跡アプリのプッシュ通知のようなもの
- ビジネスデータをリアルタイムに、自動で、効率的に受け取れる
- サーバーがなくても、3Min APIでWebhookを受信できる
- 届かないときは、URL、認証情報、レート制限、レスポンス速度、ファイアウォールをチェック
「Webhook」という言葉が難しそうに聞こえていたなら、少し身近に感じていただけたでしょうか。本質は「自動配達」 — それだけのことです。