
こんにちは、クリエイターのSです!
デザインの仕事が中心の私ですが、ある案件でサイトの構築にも関わることになり、初めて「Webhook」という言葉に出会いました。
それは、今の会社に入社する前、StripeというWeb決済ツールを使った有料会員サイトの制作に携わったときのこと。普段はコーディングやシステム構築をする機会がほとんどないのですが、このときはデザインからサイト構築まで一貫して対応することになり、右も左も分からない状態で必死に調べながら進めました…。
「APIってよく聞くけど、Webhookって何?」と突然会話の中で出てきて戸惑わないように、この記事で分かりやすく解説していきます!ぜひ最後まで読んでみてくださいね。
APIってなに?
API(エーピーアイ)とは、「アプリ同士をつなぐ窓口」のようなものです。
たとえば、スマホの天気アプリを開いたとき、アプリが気象情報を取得するために「気象データのAPI」を使ってデータを取りに行きます。
APIの特徴は、「こちらからデータを取りに行く(プル型)」こと。
「今の天気を教えて!」とアプリ側(クライアント)がリクエストを送り、サーバーがそのリクエストに応えて天気情報を返す、という流れになっています。
Webhookってなに?
Webhook(ウェブフック)は、APIと違って「待っているだけで、必要な情報が勝手に送られてくる仕組み」です。
たとえば、ネットショップで新しい注文が入ったら、その情報を自動で通知する仕組みを作りたいとします。
Webhookを設定しておけば、注文が入った瞬間に「新しい注文が入りました!」と自動で通知を送ることができます。
Webhookの特徴は、「向こうから勝手にデータが届く(プッシュ型)」こと。
「新しい情報があったら教えてね!」と事前にお願いしておけば、必要なときにだけ通知が送られてくるので、無駄がありません。
まとめ
それぞれの特徴をまとめると下記のようになります。
項目 | API(プル型) | Webhook(プッシュ型) |
---|---|---|
データのやりとり | こちらから取りに行く | 向こうから勝手に送ってくる |
リアルタイム性 | クライアントが定期的にリクエストを送るため、リアルタイム性は低い | イベント発生時に即座に通知が送信されるため、リアルタイム性が高い |
通信コスト | 更新がない場合でも定期的にリクエストを送信するため、通信コストが高くなる可能性がある | 必要なときにのみデータを送信するため、通信コストを抑えられる |
使用例 | 天気予報の取得、ユーザー情報の取得など、必要なときにデータを取得する場合 | オンライン決済の完了通知、チャットメッセージの受信通知など、イベント発生時に即座に通知が必要な場合 |
ここまで、それぞれの違いを分かりやすく解説してきました!
最初は専門用語を使わずに概要を理解できると、すっと頭の中にイメージが入ってきやすいのではないかと思います。
それでは、最後までお読みいただきありがとうございました。