27
29

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【図解】Webhookの基礎とAPIとの違いを初心者向けに解説

Last updated at Posted at 2025-10-23

はじめに

webhookという言葉は聞くのですが、そもそもどういったものなのか、APIとの違いはなんのなのかがいまいちわかっていなかったので、今回まとめてみました。

webhookとは?

Webhookは、「イベント駆動型のHTTP通知」です。
身近な例だと、宅配便の不在通知のようなもので、宅配業者が不在時に「荷物が来ましたよ」と自動的に知らせてくれる仕組みです。

Web開発では、「GitHubにコードがpushされた」時や、「決済が完了した」といったイベントが発生したとき、自動的に指定したURLに通知を送信します。

我々のサービス(CPaaSNow)だと

  • API
    • SMSを配信した後、APIで「このメッセージの配信結果を教えて」と問い合わせる
  • Webhook
    • SMSの配信が完了したら、システムが自動で事前に登録したURLに「配信結果」を送信する

APIとの違い

WebhookとAPIはよく混同しますが、情報の流れが逆になります。

API

image.png

  • こちらから「データをください」とリクエストする
  • 必要な時に必要な情報を取得する
  • ex). 天気情報APIに「今日の天気は?」と問い合わせる

Webhook

image.png

  • 相手から「何が起きましたよ」と通知が来る(プッシュ型)
  • イベント発生時に自動的に通知される
  • 例:注文が入ったら自動的に通知が届く

Webhook動作の流れ

Webhookは以下の3ステップで動作します。

  1. イベント発生
    • サービス側で何かが起きる
  2. HTTP POSTリクエスト送信
    • サービスが、あらかじめ登録されたURLに対して、イベント情報を含んだHTTPリクエストを送信します
  3. データ受信・処理
    • 受信側のサーバーがデータを受け取り、必要な処理を実行

具体例:GitHubのプッシュ通知

  1. 開発者がGitHubにコードをプッシュ
  2. GitHubが指定されたWebhook URLにPOSTリクエストを送信
  3. 受信サーバーがSlackに「〇〇さんがコードをプッシュしました」と通知

その他の使用例

Webhookはさまざまなサービスで使われています:

  • Slack通知:GitHubやその他のサービスからの通知をSlackに送信
  • 決済通知:Stripeなどで支払いが完了したら通知
  • フォーム送信:問い合わせフォームが送信されたらメールやチャットに通知

まとめ

Webhookは、リアルタイムな連携を実現し、効率的なシステム構築を可能にする現代のWeb開発に欠かせない技術です。試してみたくなったら、まずはGitHubやSlackなど、既存のサービスが提供するWebhookで始めてみましょう!

27
29
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
27
29

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?