多くの方は知らずに使っているかも。私も5年以上、使ってましたが初めてその内容を知りました。 知らない方は是非、知っておいて損ではありません。
ちょっと専門的になりますが、概略のみ書いてみます。
Web上でいろいろな目的で使いますが、今回は詳細は省略しておきます。
数日後にココナラの依頼者とトラブルがあり、非常に悪い評価が出た内容について反省を含めた興味深い記事も書いてみたいと思ってます。
1)Webhookは、
特定のイベントが発生した際に、事前に設定された他のアプリケーションに通知を自動的に送信する仕組みです。
例えば、Webサイトのフォームが送信された際に、関連する他のシステムがリアルタイムで反応できるように通知します。これで、手動でのデータチェックなどがなしで、プロセスの自動化が促進されます。
2)Webhookと混同される、APIですが、
どちらもアプリケーション同士で通信するために使われます。
違いは通信方式で、APIは必要に応じてデータをリクエストする方式で、
Webhookはイベントが発生すると自動的にデータを送信します。
Webhookはリアルタイムでの反応が可能で、APIに比べて通信コストを削減できる利点があります。
3)通信コスト
APIは、クライアント側がサーバー側に対して処理をリクエストし、そのレスポンスを受け取って処理をします。複数のサービスとデータを交換する場合、「ポーリング」で定期的な問い合わせが必要です。
しかし、リアルタイムな情報の交換には、データが更新の確認に頻繁なポーリングが必要です。ポーリングを続けると、リクエストを送るクライアントやリクエストを受信するサーバーに負担がかかり、通信コストがかかります。
一方、Webhookはリクエストなしにサーバーからデータ受信出来るため、最小のコストで通信が行えます。
そのため、リアルタイムで通知したりデータを連携させたりする際は、APIよりWebhookのほうが無駄なくデータを受信できます。
以上の説明ですが、ピントこない方が、ほとんどだろうと思いますがご参考まで。