カテゴリ: Laravel 更新日: 2026/02/15

LaravelでWebhookエンドポイントを作成する方法を初心者向けにやさしく解説

LaravelでWebhookエンドポイントを作成する方法(外部サービス連携)
LaravelでWebhookエンドポイントを作成する方法(外部サービス連携)

先生と生徒の会話形式で理解しよう

生徒

「Laravelで外部サービスと自動で連携する仕組みがあるって聞いたんですが、Webhookって何ですか?」

先生

「Webhookは、外部サービスからLaravelに向けて情報が送られてくる入口のことです」

生徒

「自分から取りに行かなくても、向こうから来るんですか?」

先生

「その通りです。呼び鈴を押されたら玄関を開けるような仕組みです」

1. Webhookとは何かを超かんたんに説明

1. Webhookとは何かを超かんたんに説明
1. Webhookとは何かを超かんたんに説明

Webhookとは、外部サービスから自動的に通知を受け取る仕組みです。たとえば、誰かがフォームを送信した、支払いが完了した、メッセージが届いた、などの出来事が起きた瞬間に、Laravelへ情報が送られます。

これは「毎日ポストを見に行く」のではなく、「チャイムが鳴ったら受け取る」イメージです。Webhookを使うことで、リアルタイムに近い連携ができます。

2. LaravelでWebhookを受け取る全体の流れ

2. LaravelでWebhookを受け取る全体の流れ
2. LaravelでWebhookを受け取る全体の流れ

LaravelでWebhookエンドポイントを作る流れはとてもシンプルです。大きく分けると、URLを決める処理を書く外部サービスにURLを教える、という三段階です。

Webhookエンドポイントとは、「外部サービス専用の受付窓口」です。LaravelのAPI機能を使って、この窓口を用意します。

3. Webhook用のルーティングを作成する

3. Webhook用のルーティングを作成する
3. Webhook用のルーティングを作成する

まずは、Laravelに「ここがWebhookの入口です」というURLを用意します。API開発では、routes/api.phpにルーティングを書くのが基本です。

POSTという方法でデータが送られてくることが多いため、POSTルートを作ります。


Route::post('/webhook/sample', function () {
    return response()->json(['status' => 'ok']);
});

これで、Laravel側にWebhookを受け取る入り口ができました。このURLを外部サービスに登録します。

4. コントローラでWebhookの処理を書く

4. コントローラでWebhookの処理を書く
4. コントローラでWebhookの処理を書く

実際のWebhook処理は、コントローラにまとめると分かりやすくなります。コントローラは「受け取った情報をどうするか」を書く場所です。

Webhookでは、外部から送られてきたデータをRequestとして受け取ります。Requestとは「届いた荷物」のようなものです。


public function handle(Request $request)
{
    $data = $request->all();
    return response()->json(['received' => true]);
}

5. Webhookで送られてくるデータとは

5. Webhookで送られてくるデータとは
5. Webhookで送られてくるデータとは

Webhookで送られてくるデータは、多くの場合JSON形式です。JSONとは、データを整理して送るための書き方です。難しく考えず、「項目と中身がセットになった表」と思ってください。

Laravelでは、JSONデータを自動で配列として扱えるため、初心者でも安心して使えます。

6. Webhookを使うときの注意点

6. Webhookを使うときの注意点
6. Webhookを使うときの注意点

Webhookは外部から直接アクセスされるため、誰でも叩けてしまう状態になると危険です。そのため、送信元を確認する仕組みや、決まったキーをチェックすることがよく行われます。

また、Webhookは「いつ届くかわからない」ため、画面表示ではなく、裏側の処理として考えることが大切です。

7. WebhookとAPI連携の違い

7. WebhookとAPI連携の違い
7. WebhookとAPI連携の違い

API連携は「自分から取りに行く」、Webhookは「向こうから届く」という違いがあります。LaravelのAPI開発では、この二つを使い分けることで、効率の良い外部サービス連携が可能になります。

Webhookエンドポイントを理解することで、決済サービス、通知サービス、フォームサービスなど、多くの外部サービスと連携できるようになります。

関連記事:
カテゴリの一覧へ
新着記事
New1
Symfony
Symfonyのルーティング構成の基本を完全解説!初心者向けにYAML・PHP・アノテーション方式をやさしく紹介
New2
Laravel
Laravelのルートグループの使い方!初心者でもわかるprefixやミドルウェアの設定方法
New3
PHP
PHPのswitch文の使い方!多くの条件分岐をスッキリ書く方法と注意点
New4
Symfony
Symfony学習に役立つおすすめドキュメント・教材・リソース一覧【初心者向け】
人気記事
No.1
Java&Spring記事人気No1
PHP
PHPで文字列を結合する方法!ドット演算子と代入演算子の使い方を徹底解説
No.2
Java&Spring記事人気No2
PHP
PHPのif文の使い方を完全ガイド!初心者でもわかる条件分岐の基本
No.3
Java&Spring記事人気No3
Symfony
Symfonyで翻訳(i18n)機能を使う方法を解説!初心者にもわかる国際化対応の基本
No.4
Java&Spring記事人気No4
Laravel
Laravelのresponse()関数の使い方を完全ガイド!初心者でもわかるレスポンス制御とHTTPレスポンスの基本
No.5
Java&Spring記事人気No5
Laravel
LaravelのAPIルーティングを設定する方法!初心者でもわかるapi.phpの使い方
No.6
Java&Spring記事人気No6
Laravel
Laravelのインストール方法まとめ!ComposerとLaravel Installerの使い方
No.7
Java&Spring記事人気No7
PHP
PHPのswitch文の使い方!多くの条件分岐をスッキリ書く方法と注意点
No.8
Java&Spring記事人気No8
Laravel
LaravelでRemember Me(ログイン状態保持)機能を実装する方法を完全解説!初心者でも安心の認証入門