web-dev-qa-db-fra.com

Quelle est la différence entre un Webhook et une API?

Les programmeurs qui font une demande à un API recevront alors une réponse. Par exemple, en utilisant l’API Web pour envoyer un courrier électronique, vous transmettez le contenu du courrier électronique avec la demande. Si tout va bien, vous recevrez une réponse indiquant le succès.

Pour utiliser un webhook, vous enregistrez une URL auprès de la société fournissant le service. Cette URL est un emplacement dans votre application qui accepte les données et en fait quelque chose. Dans certains cas, vous pouvez indiquer au fournisseur les situations dans lesquelles vous souhaitez recevoir des données. Chaque fois qu’il y a quelque chose de nouveau, le Webhook l’enverra à votre URL.

Donc, ils font essentiellement la même chose.

Ma question est la suivante: Quelle est la différence entre webhook et api?

Pas dans les termes WEBHOOK IS ____ et API IS ______.

Je sais ce qu'ils sont. Je suis intéressé par les différences clés et quand utiliser un, et quand utiliser un autre.

11
Josip Ivic

La première et principale différence entre eux réside dans le fait qu’avec la plupart des API, une demande est suivie d’une réponse. Aucune demande n'est requise pour un Webhook, il envoie simplement les données lorsqu'elles sont disponibles.

Vue simple:

L'API est une interface avec vos données sur exemple.com. L'API est utilisée depuis votre serveur vers la plateforme example.com et peut être utilisée pour répertorier, créer, modifier ou supprimer des éléments.

Les Webhooks sont des appels automatisés d’exemple.com à votre serveur, déclenchés lorsqu’un événement spécifique se produit dans exemple.com. Par exemple, lorsqu'une tâche est terminée et que vous souhaitez le savoir en temps réel, nous adressons une demande POST à l'URL que vous avez enregistrée pour le compte Web EVENT.COMPLETED dans votre exemple de compte.

Donc, en résumé: l’API est le lieu où vous racontez des exemples à exemple.com et Webhooks est celui où exemple.com vous dit des choses.

Vous cherchez plus en profondeur:

SaaS est un concept - l'idée de logiciel existe dans le cloud et le client est généralement un navigateur. Une application SaaS est définie par les fonctions qu'elle peut fournir à un utilisateur (par exemple, Salesforce fournit une base de données pouvant être utilisée pour stocker des informations client). Les fonctions disponibles sont déterminées par l'objectif de l'application (c'est-à-dire: CRM, Email Blaster, CMS, etc.).

Une API est un moyen pour les applications SaaS d'être connectées à d'autres applications via une méthode de communication commune (ReST, SOAP, JSON, etc.). Une API ne peut pas parler directement à une autre API. Une API peut être utilisée par une application ou un middleware codé qui agit comme un pont entre deux API et exécute le thread d'exécution. Par exemple - NetSuite et Salesforce disposent tous deux d'une API SOAP, mais vous souhaitez utiliser un logiciel middleware pouvant interagir avec les deux systèmes et être configuré pour extraire de nouveaux enregistrements de contact via l'API de Salesforce. Envoyez chaque heure de nouveaux enregistrements à NetSuite via son API.

Webhooks est un autre protocole de communication pour SaaS applications qui permet la communication entre applications, mais en utilisant simplement HTTP POSTS pour contrôler le thread d'exécution. Les Webhook permettent à une application de se parler directement, sans utiliser de middleware. Par exemple, lorsque vous envoyez un formulaire à WuFoo, vous pouvez le configurer pour initialiser un Webhooks HTTP POST vers un autre service et transmettre certaines valeurs de champ de la soumission du formulaire. Les Webhooks peuvent également être utilisés avec une API - par exemple, après que Webhook ait notifié à l’autre application qu’un enregistrement de l’identifiant X est survenu, cette application pourrait utiliser une API pour communiquer avec le service afin de vérifier les nouvelles valeurs de champ ou modifier un statut. un enregistrement.

Il est difficile d'avoir une API ou des Webhooks sans avoir une application SaaS. Cependant, vous pouvez facilement avoir une application SaaS qui n'utilise pas de Webhooks ou une API (publique). De même, en fonction des fonctions de votre application SaaS, vous pouvez choisir d'utiliser Webhooks OR une API.

13
knif3r

API fait des choses quand vous le lui demandez, tandis que Webhook fait des choses sur lui-même lorsque certains critères correspondent.

Donc, en résumé: l’API est le lieu où vous nous dites des choses et Webhooks est l’endroit où nous vous disons des choses.

via http://apidocs.teamwork.com/article/466-whats-the-difference-between-the-api- et-webhooks

Chaque fois qu’il y a quelque chose de nouveau, le Webhook l’enverra à votre URL.

via https://sendgrid.com/blog/webhook-vs-api-whats-difference/

9
Pit

Je vais illustrer cela par un exemple concret: paiements par carte de crédit.

Lorsque votre site souhaite facturer une carte de crédit, vous appelez un API auprès de votre processeur de carte de crédit. Le processeur de carte de crédit charge ensuite la carte de crédit et renvoie un statut de réussite ou d'échec à cet appel d'API.

Le processeur de carte de crédit peut avoir besoin d'un moyen de mettre à jour votre site à propos de cette transaction ultérieurement. Par exemple, la transaction pourrait être annulée la semaine prochaine. Votre processeur de carte de crédit pourrait simplement vous envoyer un courrier électronique à ce sujet. Une autre façon de gérer cela est webhooks. Vous indiquez à votre processeur de carte de crédit une URL sur votre site qu'il peut frapper et vous envoyer des données. Lorsque la transaction est annulée, un processeur de carte de crédit prenant en charge les Web hooks contactera votre site à l'adresse URL que vous avez fournie et vous enverra des données au format lisible par machine que vous pourrez analyser et faire traiter automatiquement par votre application Web.

Un Webhook est un mécanisme de rappel pour une API. En gros , vous implémentez une API pour les rappels asynchrones en conjonction avec une API que vous appelez.

5
Stephen Ostermiller

Voici un exemple de la différence entre webhook et API en terme simple:

Supposons que vous ayez commandé quelque chose en ligne et que la livraison se fasse aujourd'hui, mais que vous êtes au travail, vous avez donc dit à votre femme de ménage de récupérer le colis dès son arrivée. Le but est que vous soyez averti si le colis est déjà arrivé. C'est ce qui se passe dans:

Webhook

  • Une fois le colis arrivé, votre femme de ménage vous appellera immédiatement pour vous informer que le colis est déjà arrivé.

API

  • L'emballage est déjà arrivé mais vous ne le savez toujours pas. Vous avez ensuite appelé votre femme de ménage pour lui demander si elle était déjà arrivée, puis elle a répondu oui.

La différence est dans API vous avez besoin d'un déclencheur pour extraire des données similaires à l'appel que vous avez effectué, tandis que webhook vous avertit automatiquement dès qu'une nouvelle donnée arrive sans nécessiter de déclencheur. .

2
Community

un Api est simplement une petite application utilisée pour accéder à certaines fonctionnalités ou données de toute plate-forme de développement à partir d'une plate-forme existante, par exemple: vous souhaitez utiliser le service de géolocalisation de Google (déjà existant). plate-forme) sur votre site Web (plate-forme en développement), au lieu de reconstruire l’ensemble du système et d’obtenir la configuration de votre propre satellite, vous utilisez un petit Api pour accéder à cette fonctionnalité à partir de Google.

Alors que Web hook est simplement un URL de retour ou de secours sur votre site Web ou votre plate-forme où la réponse et les données que vous avez demandées à l'aide de Api ont été envoyées et où vous collectez les données. informations que vous recherchez.

0
Abel Akponine