Webhookの動作と仕組みをざっくり解説 APIとの違いとは?Webhookの仕組みと、使用方法を解説

Webhookとは、API呼び出しの基本メカニズムを有効に活用し、負荷の高い要求/応答構造によるオーバーヘッドを伴うことなく、ボタンを数回クリックするだけで、イベントのトリガーを設定する仕組みだ。

» 2023年09月14日 08時00分 公開
[Matt HeusserTechTarget]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 システム障害発生時から取引通知や在庫通知まで、問い合わせのプロセスを経たり、夜間の更新を待ったりすることはできないのが近代のソフトウェアだ。Webhookはシステムを統合する方法の1つで、個別のイベントに結び付けられる一連のメッセージを使ってほぼ即時の更新を行う。

 本稿では、APIとの違いを含め、Webhookの仕組みと、実社会での使用法を確認する。

Webhookとは

 Webhookとは、コールバック手法の1つを表す用語だ。コールバック手法とは、あるソフトウェアシステムがAPIを使ってイベントを別のソフトウェアシステムに即時通知することを指す。つまり、Webhookを使用するアプリケーションは、対象となるイベントが発生するたびに、Webベースのメッセージ要求を送信できる。実際にWebhookを使用するには、イベントを登録し、そのイベントをURLにリンクする機能を備えた通知システムが必要だ。トレーディングデスクで買い注文を行うといった特定のイベントが発生すると、イベントのペイロードを添えてそのイベントにリンクされたURLがWeb経由で呼び出される。

 この呼び出しを受け、API(新しいURLの形式)によって2番目のシステムに通知が行われる。これはAPIの考え方を反転させるものだ。つまりプラットフォーム自体は何も行わず、要求メッセージを中継する。メッセージの内容と送信先は完全にカスタマイズ可能で、必要なのは受信側のWebアドレスをユーザーが指定することだけとなる。

 Webhookという用語は、APIを使ってWeb経由でイベントを他のシステムにポストすることを指すのが一般的だ。Webhookは、イベントの発生時に、HTTP POSTメッセージを使って別のアプリケーションでのアクションをトリガーする。Webhookの現在の標準データ形式は「JSON」だが、「SMS」イベントや「SMTP」イベントを使用するWebhookシステムを構築することも可能だ。開発者は、コマンドラインの作成、構成ファイルの設定、ユーザーインタフェース経由の直接パイプ処理によって、こうしたWebhookシステムの構築を実現できる。

Webhookの例

 Webhookには、送信側と受信側の2つが必要になる。送信側はイベントを認識し、それに応じて処理を行うツールを備えるアプリケーションで、受信側はAPIを備え、メッセージの送信先となるアプリケーションだ。Webhookは、送信側アプリケーションの内部で特定のイベントが発生したときにテキストベースのメッセージをユーザーに送信する簡単な方法だといえる。Googleの「Gmail」「Googleカレンダー」、Slack Technologiesの「Slack」、Discordの「Discord」、GitHubの「GitHub」といった最新プラットフォームはWebhook(または同様のアーキテクチャアプローチ)をサポートする。

 Webhookには次のような例がある。

  • Metaの「Instagram」にアップした写真をTwitterの「Twitter」アカウントに自動アップロードする
  • 来訪者がボタンを押すと、室内の特定のライトが点滅するよう接続型インターフォンを構成する
  • GitHubの更新通知をSlackチャネルやDiscordチャネルにメッセージとして送信する
  • Microsoftの「Teams」チャネルを作成し、特定株式の売買時にメッセージを中継する

 要求にはAPIが対応する。Webhookはイベントベースのメッセージング方式にすぎない。つまり、何かイベントが発生すると、WebhookがダウンストリームシステムのAPIを呼び出す。例えば、開発者がGitHubプロジェクトに関連するDiscordチャネルを実行し、パブリックリポジトリで新しいコード更新が行われたことを警告する自動メッセージをそのチャネルに送信したいと考えたとする。

 Discordのチャネル統合オプションを使ってWebhookを追加すると、あらかじめ決めておいたイベントに応じてGitHubからそのチャネルに自動メッセージが送信されるだけでなく、その変更の詳細を説明するページへのリンクを示すようにメッセージを構成することもできる。

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

4AI by @IT - AIを作り、動かし、守り、生かす
Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。