■webhookとは?
アプリケーションが情報を他のアプリケーションに送信できる1つの方法です。
イベントによってトリガーされる一方向のデータ連携するAPIの一種です。
APIとwebhookはどちらも目的は同じです。
異なるシステムが同期して情報を共有できるようにします。
APIとwebhookを組み合わせることで、アプリケーションケーションはデータと機能を共有し、優れたものに変えることができます。
■webhookとは違うアプローチである「ポーリング」との違い
「ポーリング」はシステム同士を連携させるという意味では同じです。
ただし、データのやりとりは非生産的です。
「ポーリング」は定期的にAPIを通して相手方のシステムに必要とするデータが存在するかどうかチェックします。該当するデータが無い場合、一定時間後に再度APIを通してチェックします。
一方、webhookを使用すると、データ元システムはイベントが発生するとすぐにデータをシステムに送信(つまり「プッシュ」)できます。これが、webhookが「リバースAPI」と呼ばれることがある理由です。
ipaasはクラウドシステム同士をつなぎ合わせるサービスです。
当然ながらAPIを利用します。
ただし、必要とするデータが存在する場合のみ駆動する必要がある場合、「ポーリング」では非生産的なためwebhookを利用するのが一般的です。
■webhookとAPIの違いについて
APIとwebhookはどちらも目的は同じです。
異なるシステムが同期して情報を共有できるようにします。
webhookは特定のイベント発生時に実行されます。
APIはリクエストし、応答を受け取る方式です。
APIの例
とある商品を購入したいと思った場合、店舗に毎回電話で在庫確認する。 これがAPIの例です。 毎回電話することでお互い(あなたと店舗)の時間が奪われます。 非生産的ですね。
webhookの例
店舗に商品が到着したら店舗側からあなたに電話をしてもらう。 これがwebhookの例です。 APIと違い生産的です。
(1)twitter→slackへの通知
特定のハッシュタグを含むツイートが公開されたときにSlack通知を受信したいとします。Slackが新しい投稿をTwitterに継続的に要求する代わりに、このイベントが発生したときにのみTwitterがSlackに通知を送信する方が生産的です。
(2)kintone→slack通知
kintoneの操作が行われたら、slack通知をしたいとします。 ポーリング方式は現実的ではありません。
過去の記事でmake.com(integromat)を紹介しました。
makeのアカウントを作成していない方は是非この機会に作成してみてください。
mailhookもwebhookと概念は同じです。 メール受信のイベントをトリガーにして稼働する方式です。
こちらはwebhookと比較すると知名度は低いです。
■mailhookを利用するケース
API呼び出しができないレガシーシステムからイベント呼び出ししたい場合
相手方システムがAPIの実装計画がない場合(ただし、メールは送信される)いかがでしたでしょうか? webhookのイメージがつきましたか?
「自動化について興味あるが社内に対応できる人材がいない」 「費用がどれくらいかかるか不安」 などDX&自動化についてなかなか先に進めない方に対して業務自動化コンサルタントとして多くの企業様を支援しています。
無料で相談を受け付けております。
お気軽にご相談ください。
仕事にもっと自由な時間を獲得するブログ!~仕事を効率化しよう~
© 2022 automatework