それらの最初の主な違いは、ほとんどのAPIで、リクエストの後にレスポンスが続くことです。Webhookにリクエストは必要ありません。データが利用可能になったときにデータを送信するだけです。
シンプルなビュー:
APIは、example.com上のデータへのインターフェースです。APIはサーバーからexample.comプラットフォームに使用され、アイテムの一覧表示、作成、編集、または削除に使用できます。
Webhookは、example.comで特定のイベントが発生したときにトリガーされる、example.comからサーバーへの自動呼び出しです。たとえば、タスクが完了し、それをリアルタイムで知りたい場合は、サンプルアカウントのEVENT.COMPLETED Webhookに登録したURLにPOSTリクエストを送信します。
つまり、一言で言えば、APIはexample.comのことを伝え、Webhooksはexample.comが伝えます。
より深く見る:
SaaSは概念です。クラウドに存在するソフトウェアの概念であり、クライアントは一般にブラウザーです。SaaSアプリケーションは、ユーザーに提供できる機能によって定義されます(たとえば、Salesforceは、顧客情報を保存するために使用できるデータベースを提供します)使用可能な機能は、アプリケーションの目的(CRM、Email Blaster、CMSなど)によって決まりますなど)。
APIは、SaaSアプリケーションを一般的な通信方法(ReST、SOAP、JSONなど)を介して他のアプリケーションと接続するための方法です。APIは別のAPIと直接通信することはできません。APIは、2つのAPI間のブリッジとして機能し、実行のスレッドを実行するコード化されたアプリケーションまたはミドルウェアで使用できます。たとえば、NetSuiteとSalesforceの両方にSOAP APIがありますが、通信するために、両方のシステムと対話し、SalesforceのAPIを介して新しい連絡先レコードをプルし、新しいレコードをNetSuiteにプッシュするように構成できるミドルウェアソフトウェアを使用します。 1時間ごとのAPIです。
Webhooksは、アプリケーション間の通信を可能にするSaaSアプリケーションのもう1つの通信プロトコルですが、HTTP POSTSを使用して実行スレッドを制御します。Webhookを使用すると、ミドルウェアを使用せずに、アプリケーションが互いに直接対話できます。たとえば、フォームをWuFooに送信するときに、別のサービスにWebhook HTTP POSTを開始し、フォーム送信からいくつかのフィールド値を渡すように設定できます。WebhookはAPIと組み合わせて使用することもできます。たとえば、Webhookが他のアプリケーションにID Xを記録するために起こったことを通知した後、そのアプリケーションはAPIを使用してサービスと通信し、新しいフィールド値を確認したり、ステータスを変更したりできます。レコード。
SaaSアプリケーションがないと、APIやwebhookを持つことは困難です。ただし、Webhookまたは(パブリック)APIを使用しないSaaSアプリケーションを簡単に作成できます。同様に、SaaSアプリケーションの機能に応じて、webhookまたはAPIの使用を選択できます。