フリーランス 個人事業 ZA-ONE

【実践入門】Webhookとは?APIとの違い・使い道・WordPressでの受信方法も解説!

こんにちは、フロントエンドエンジニアの田中です。

今回は、最近よく耳にするけど「ちょっととっつきにくい」と感じる方が多いWebhook(ウェブフック)について、できるだけわかりやすく解説します。

僕自身も最初は「APIとどう違うの?」と混乱してましたが、使ってみると便利すぎて、 今では業務の自動化や外部サービス連携には欠かせない存在になっています。


✅ Webhookってなに?ざっくり言うと…

Webhook = 「通知の自動送信装置」のようなものです。

例えばフォームが送信された瞬間に、指定したURLにデータをPOSTしてくれる仕組み。 人間が操作しなくても、イベント発生時に自動で動くのが最大の魅力です。

イメージ的には:

ZapierやStripe、Chatwork → Webhook → 自分の受け口(APIやWordPress)

こんな感じで「通知が届く窓口」を作って、サーバー側で受け取って処理します。


✅ APIとの違いって何?

API:自分から「データちょうだい」と取りに行く(Pull) Webhook:向こうから「今データ送るね」と送られてくる(Push)

APIWebhook
リクエストを投げる必要あり自動で送られてくる
定期的なチェックが必要リアルタイム性が高い
単方向イベント駆動型

特に**リアルタイム通知**や**イベント駆動型の処理**をしたいときは、Webhookが圧倒的に便利です。


✅ WordPressでWebhookを受け取るには?

REST APIを有効にして、カスタムエンドポイントを作成することで対応可能です。

// functions.php の一例
add_action('rest_api_init', function() {
  register_rest_route('custom/v1', '/webhook/', array(
    'methods' => 'POST',
    'callback' => 'receive_webhook',
    'permission_callback' => '__return_true'
  ));
});

function receive_webhook($request) {
  $data = $request->get_json_params();
  // ここでデータ処理や保存など
  return rest_ensure_response(['status' => 'received']);
}

例えば、外部サービスから`https://yourdomain.com/wp-json/custom/v1/webhook/`にPOSTされれば、 自動でその処理を受けられます。


✅ 実際にどんなことに使える?

  • ECサイトで注文が入ったら自動で通知 or 会計ソフトと連携
  • チャットアプリ(SlackやChatwork)に自動投稿
  • フォーム送信内容を別のサービスにリアルタイム連携

工夫次第で、業務の自動化・効率化に大きく貢献してくれます。


💡 まとめ:Webhookは“待ちのAPI”

Webhookは少し敷居が高く見えますが、やっていることはシンプルです。

一度Webhookを使いこなせるようになると、複数サービスの自動連携や通知の最適化が一気に実現できます。

WordPressでも簡単に受信できますので、 「そろそろAPIに踏み込みたい…でも怖い…」という方にも、Webhookはとても良い入り口になりますよ!