Webhooks vs polling : comment concevoir une synchronisation d'intégration fiable

Webhooks vs polling pour les intégrations SaaS B2B. Les compromis en matière de latence, de charge et de fiabilité, quand chacun l'emporte, et le schéma hybride qui aboutit en production.

Un schéma côte à côte avec le polling à gauche, votre application interrogeant à répétition une API partenaire, et les webhooks à droite, l'API partenaire poussant un seul événement vers votre application, sur un fond papier.

Toute intégration qui maintient deux systèmes synchronisés répond à la même question : comment votre produit apprend-il que quelque chose a changé de l'autre côté. Le choix entre webhooks et polling est la façon dont vous y répondez. Vous pouvez demander selon un calendrier, c'est le polling. Ou l'autre système peut vous prévenir au moment même où cela se produit, c'est un webhook. La plupart des bugs d'intégration qui atteignent un client remontent au choix du mauvais mécanisme, ou au bon choix accompagné du saut du travail de fiabilité qu'il exige.

Cela ressemble à un détail technique de bas niveau. Ce n'en est pas un. Cela détermine la fraîcheur des données de votre client, la charge que vous imposez à l'API d'un partenaire, le comportement de votre intégration quand le réseau hoquette, et la fréquence à laquelle quelqu'un est réveillé à 2 h du matin. Faites-le bien et l'intégration devient invisible. Faites-le mal et cela se manifeste par des enregistrements périmés, des écritures en double et des données manquantes qu'un client remarque avant vous.

Ce guide définit les deux schémas, parcourt les compromis, indique quand chacun l'emporte, puis devient concret sur la partie que la plupart des équipes sautent : comment rendre les webhooks fiables, quand le polling est le choix le plus avisé, et le schéma hybride dont la plupart des intégrations en production finissent par avoir besoin.

L'essentiel en 60 secondes

Si vous ne lisez qu'une section, lisez celle-ci :

  • Le polling signifie que vous interrogez l'API selon un calendrier. Simple à construire, auto-réparateur, mais en retard d'au plus votre intervalle de polling et gaspilleur, puisque la plupart des réponses indiquent que rien n'a changé.
  • Les webhooks signifient que l'API vous pousse les événements. Quasi temps réel et peu coûteux par événement, mais vous faites désormais tourner un endpoint qui doit rester en ligne, vérifier, et ne jamais perdre un message en silence.
  • La latence et la charge favorisent les webhooks. La simplicité et la fiabilité favorisent le polling. Tout le compromis webhooks vs polling tient dans ces deux paires.
  • Les webhooks ne sont pas du « tirer et oublier ». Ils exigent la vérification de signature, des accusés de réception rapides, l'idempotence, des relances avec temporisation croissante, une file d'attente de lettres mortes, et un moyen de rejouer.
  • Le polling est le choix pragmatique plus souvent qu'on ne l'admet : faible volume d'événements, absence de prise en charge des webhooks côté partenaire, ou exigence stricte de ne jamais rien manquer.
  • La réponse fiable est généralement les deux. Les webhooks pour la rapidité, un polling de réconciliation périodique comme filet de sécurité qui rattrape ce que la poussée a perdu.
  • Le schéma apparaît dans chaque intégration partenaire. C'est la même décision, que vous construisiez un connecteur natif, une application de marketplace ou une API prête pour les partenaires sur laquelle d'autres construisent.

Ce que sont réellement le polling et les webhooks

Les deux schémas diffèrent sur une seule chose : qui amorce la conversation.

Polling : c'est vous qui demandez. Selon un calendrier fixe, votre application appelle l'API partenaire et demande ce qui a changé. Toutes les cinq minutes, toutes les heures, vous envoyez une requête du type GET /changes?since=last_check et traitez ce qui revient. L'API partenaire est passive : elle répond quand on l'interroge et ne fait rien entre-temps. Vous maîtrisez la cadence, la charge et la fraîcheur.

Webhooks : c'est eux qui poussent. Vous enregistrez un endpoint auprès du partenaire, et quand quelque chose se produit de leur côté, ils envoient une requête HTTP à votre URL décrivant l'événement. Votre application est passive entre les événements et réagit lorsqu'un événement arrive. Le partenaire maîtrise la livraison. Vous maîtrisez le fait de rester joignable et de traiter ce qui arrive.

Flux côte à côte montrant le polling comme votre application interrogeant à répétition une API partenaire et obtenant la plupart du temps des réponses vides, par opposition aux webhooks comme l'API partenaire poussant un seul événement vers votre endpoint lorsque les données changent

Le schéma rend l'asymétrie évidente. Avec le polling, vous envoyez quatre requêtes pour attraper un changement et trois reviennent vides. Avec les webhooks, le partenaire envoie exactement une requête, au moment où le changement se produit, et rien entre-temps. Cette asymétrie est tout le compromis : le polling dépense des requêtes pour rester maître, les webhooks dépensent de la complexité pour rester rapides. Aucun des deux n'est gratuit, et le coût se manifeste à des endroits différents.

Terme Polling Webhooks
Qui amorce l'appel Votre application L'API partenaire
Quand cela se produit Selon votre calendrier Lors de leur événement
Sens Vous tirez Ils poussent
Comportement au repos Continue de demander Silencieux jusqu'à un changement
Vous devez faire tourner Un planificateur Un endpoint toujours en ligne

Webhooks vs polling : les compromis, de la latence aux événements manqués

Le choix webhooks vs polling se résume à une poignée de propriétés, et chacune favorise un côté différent.

Latence. Les webhooks l'emportent, nettement. Un événement vous parvient en gros en une requête HTTP, généralement en moins d'une seconde. Le polling est borné par votre intervalle : interrogez toutes les cinq minutes et un changement peut rester invisible pendant presque cinq minutes. Vous pouvez raccourcir l'intervalle, mais vous le payez en charge.

Charge et coût. Les webhooks l'emportent encore. Ils envoient une requête par changement réel. Le polling envoie une requête à chaque intervalle, qu'il y ait eu un changement ou non, et sur une intégration calme la plupart de ces appels reviennent vides. Multipliez cela par chaque client et vous dépensez de l'argent réel, et un vrai quota de limites de débit du partenaire, pour apprendre qu'il ne s'est rien passé.

Complexité. Le polling l'emporte. Un poller, c'est une boucle, un horodatage et un appel d'API. Un récepteur de webhooks est un endpoint public qui doit authentifier les requêtes, répondre vite, mettre le travail en file d'attente, dédupliquer, relancer, et gérer le partenaire qui vous envoie deux fois le même événement. C'est un petit système, pas une fonction.

Fiabilité. Le polling l'emporte, et cela surprend. Le polling est auto-réparateur : si un polling échoue, le suivant reprend tout depuis le dernier point de contrôle réussi, parce que vous demandez toujours « qu'est-ce qui a changé depuis X ». Un webhook est une tentative de livraison unique. Si votre endpoint est hors ligne pendant trente secondes ou renvoie une 500, cet événement peut être perdu, sauf si l'émetteur relance et que vous gérez la relance correctement.

Ordre. Le polling l'emporte. Lorsque vous tirez un lot de changements, vous les lisez dans l'ordre que vous choisissez, généralement par horodatage. Les webhooks arrivent comme des requêtes HTTP indépendantes et peuvent arriver dans le désordre, surtout lors des relances, de sorte qu'un événement « supprimé » peut arriver avant l'événement « créé » dont il dépend.

Événements manqués. C'est le mode de défaillance qui définit le sujet. Le polling ne peut en pratique pas manquer un changement, car le polling suivant redemande. Les webhooks peuvent manquer des événements, et le font : votre endpoint était en cours de déploiement, la livraison a expiré, un incident réseau a avalé la requête. Concevoir pour les événements manqués est le cœur d'un travail de webhooks fiable.

Matrice de comparaison notant le polling et les webhooks sur la latence, la charge et le coût, la complexité, la fiabilité et l'ordre, chaque schéma l'emportant sur des lignes différentes

Propriété Polling Webhooks
Latence Bornée par l'intervalle Quasi temps réel
Charge sur l'API partenaire Élevée, surtout vide Faible, une par événement
Complexité de construction Faible Plus élevée
Modèle de fiabilité Auto-réparateur Livraison unique, nécessite des relances
Ordre Vous le contrôlez Peut arriver dans le désordre
Événements manqués En pratique aucun Risque réel, à anticiper

Le schéma saute aux yeux. Les webhooks l'emportent sur ce que les clients ressentent au quotidien, la latence et la fraîcheur. Le polling l'emporte sur ce que les ingénieurs ressentent à 2 h du matin, la simplicité et la récupération. Cette tension est la raison d'être du schéma hybride.

Quand les webhooks l'emportent

Optez pour les webhooks quand la fraîcheur compte et que le volume est suffisamment élevé pour que le polling soit gaspilleur ou lent.

Les données doivent être fraîches. Si un client s'attend à voir un changement reflété en quelques secondes, un commercial qui met à jour une affaire, un paiement qui passe, un statut de ticket qui bascule, le polling à tout intervalle raisonnable paraît cassé. Les webhooks sont le seul schéma qui livre du quasi temps réel sans marteler l'API.

Le volume d'événements est élevé ou en rafales. Quand beaucoup change, les webhooks passent à l'échelle avec le travail : plus de changements, plus de poussées, chacune peu coûteuse. Le polling fait l'inverse. Pour garder une faible latence sous fort volume, vous interrogez fréquemment, et un polling fréquent sur un jeu de données chargé représente beaucoup de grosses réponses à récupérer et à comparer.

Vous voulez réagir, pas seulement synchroniser. Les webhooks sont des événements, ce qui en fait des déclencheurs naturels. Une nouvelle inscription déclenche un webhook qui lance l'onboarding. Une annulation démarre un flux de reconquête. Le polling pilote les mêmes flux, mais avec un délai et avec vous qui faites le travail de détection du changement.

Le partenaire a bien construit ses webhooks. Si le partenaire propose des webhooks signés avec des relances documentées et un moyen de lister les événements récents, il a fait le plus dur. Profitez-en. Un produit de webhooks mature est généralement le signe que le reste de l'API est solide aussi.

Le piège est le même dans tous les cas : les webhooks ne l'emportent que si vous faites le travail de fiabilité. Une intégration par webhooks sans relances ni réconciliation est plus rapide que le polling, jusqu'au jour où elle perd un événement en silence, et alors elle est pire, car le polling l'aurait rattrapé au cycle suivant.

Rendre les webhooks fiables

Cette section sépare une intégration par webhooks qui marche en démonstration de celle qui marche en production. Un récepteur naïf, accepter le POST, écrire en base, renvoyer 200, perd des données à la première anomalie. Voici la forme d'un récepteur qui n'en perd pas.

Flux de livraison de webhooks fiable : vérifier la signature, dédupliquer par identifiant d'événement, accuser réception rapidement, traiter de façon idempotente, et en cas d'échec relancer avec temporisation croissante vers une file de lettres mortes avec rejeu et réconciliation

Vérifiez la signature. Votre endpoint est public, donc n'importe qui peut y faire un POST. Le partenaire signe chaque charge utile, généralement un HMAC sur le corps brut avec un secret partagé, dans un en-tête. Vérifiez cette signature avant de faire confiance au moindre octet de la charge utile, et rejetez les échecs avec une 401. C'est la différence entre un webhook et une porte ouverte. La documentation des webhooks de Stripe, liée à la fin, est une référence claire pour la signature et la vérification.

Accusez réception vite, traitez plus tard. Renvoyez 200 dès que vous avez vérifié et stocké durablement l'événement brut, idéalement dans une file d'attente. Ne faites pas le vrai travail, les écritures en base, les appels en aval, avant de répondre. Les émetteurs imposent un délai d'expiration de quelques secondes, et si vous passez ce temps à traiter, l'émetteur pense que la livraison a échoué et relance, de sorte que vous traitez le même événement deux fois tout en paraissant peu fiable.

Soyez idempotent. Parce que les relances et les doublons sont normaux, traiter le même événement deux fois doit produire le même résultat que le traiter une seule fois. Appuyez-vous sur l'identifiant d'événement fourni par le partenaire : avant d'agir, vérifiez si vous avez déjà traité cet identifiant, et si oui, renvoyez 200 et ne faites rien. L'idempotence est la propriété qui rend les relances sûres.

Relancez avec temporisation croissante, puis mettez en lettres mortes. Quand un traitement échoue pour une raison transitoire, relancez selon un calendrier croissant : une seconde, puis cinq, trente, des minutes, des heures. Après un nombre fixé de tentatives, déplacez l'événement vers une file de lettres mortes plutôt que de relancer indéfiniment ou de le perdre. Un événement mis de côté que vous pouvez rejouer est récupérable. Un événement perdu est un ticket de support qui ne demande qu'à éclore.

Alertez sur la file de lettres mortes. Une file de lettres mortes que personne ne surveille n'est qu'une façon plus lente de perdre des données. Quand des événements y atterrissent, alertez quelqu'un. La première personne à remarquer une synchronisation cassée devrait être vous, pas un client.

Disposez d'un chemin de rejeu et de réconciliation. Même avec tout ce qui précède, supposez que certains événements ne passeront pas. Le filet de secours est un polling périodique qui compare votre copie des données à la source de vérité du partenaire et comble les écarts. C'est le schéma hybride, et c'est la suite.

Pratique de fiabilité Problème qu'elle résout
Vérification de signature Charges utiles falsifiées ou manipulées vers un endpoint public
Accusé rapide, puis file d'attente Délais d'expiration de l'émetteur et traitement en double accidentel
Idempotence par identifiant d'événement Livraisons en double et relances qui corrompent l'état
Relance avec temporisation croissante Échecs transitoires qui font perdre des événements
File de lettres mortes + alerte Échecs permanents qui disparaissent en silence
Polling de réconciliation Événements qui ne sont jamais arrivés du tout

Rien de tout cela n'est exotique. C'est l'outillage standard pour consommer des webhooks, et exactement le genre de convention écrite qu'un portefeuille d'intégrations devrait standardiser une fois et appliquer à chaque connecteur, plutôt que de la réinventer par partenaire.

Quand le polling est le choix pragmatique

Les webhooks attirent l'attention, mais le polling est la bonne réponse plus souvent que le discours ne le suggère. Choisissez-le délibérément dans ces cas.

Le partenaire n'a pas de webhooks. De nombreuses API, surtout les plus anciennes ou les plus petites, n'en proposent tout simplement pas. Le polling n'est alors pas un compromis, c'est la seule option, et un poller bien construit est parfaitement fiable.

Le volume d'événements est faible. Si un jeu de données change quelques fois par jour, l'argument de la charge en faveur des webhooks s'évapore. Un polling toutes les quinze minutes est peu coûteux et simple, et la faible latence n'a pas d'importance. Mettre en place un récepteur de webhooks robuste pour une poignée d'événements quotidiens n'est pas rentable.

Vous ne pouvez tolérer aucun événement manqué. Pour des enregistrements financiers ou un état pertinent en matière de conformité, « on pense avoir tout reçu » ne suffit pas. La propriété auto-réparatrice du polling, où le cycle suivant redemande depuis le dernier point de contrôle, donne une garantie que les webhooks purs ne peuvent offrir. Même les équipes qui utilisent les webhooks pour la rapidité gardent un polling précisément pour cette assurance.

Vous ne pouvez pas héberger un endpoint public fiable. Les webhooks exigent un récepteur toujours en ligne et joignable avec toute la pile de fiabilité. Si vous ne pouvez pas encore exploiter cela, faire du polling depuis votre propre infrastructure est le choix honnête. Cela n'exige de votre disponibilité rien que vous ne respectiez déjà.

Vous êtes batch par nature. Si le travail en aval s'exécute de toute façon selon un calendrier, un export nocturne, un récapitulatif horaire, la livraison en temps réel ne vous apporte rien. Faites du polling à la cadence à laquelle le batch tourne déjà.

Ce qu'il faut éviter, c'est de faire du polling trop agressif pour simuler le temps réel. Un polling à la minute sur des milliers de clients représente une charge énorme et se heurte aux limites de débit, le territoire du HTTP 429 que les clients bien élevés doivent respecter. Si vous faites du polling aussi souvent pour chasser la latence, c'est le signal que vous voulez en réalité des webhooks, le polling étant gardé comme filet de sécurité plus lent.

Le schéma hybride dont la plupart des intégrations ont besoin

Voici où atterrissent les équipes expérimentées : ne choisissez pas. Utilisez les webhooks pour la rapidité et un polling périodique pour la réconciliation. Vous obtenez la fraîcheur de la poussée et la fiabilité du tirage, et les deux compensent leurs faiblesses mutuelles.

Schéma hybride montrant un chemin de webhook rapide livrant chaque changement de l'API partenaire vers votre stockage en quelques secondes, et un polling de réconciliation plus lent en pointillés s'exécutant toutes les quelques heures pour comparer les deux côtés et combler les événements manqués

Le chemin rapide est le webhook. La plupart des événements arrivent en quelques secondes, vos données restent fraîches, et votre client voit les changements presque immédiatement. C'est ce que l'intégration donne à ressentir au quotidien.

Le filet de sécurité est un polling de réconciliation à faible fréquence. Selon un calendrier détendu, toutes les quelques heures ou chaque nuit, votre application demande au partenaire tout ce qui a changé depuis la dernière réconciliation et le compare à votre copie. Tout ce que les webhooks ont manqué, un événement perdu pendant un déploiement ou une livraison qui a épuisé ses relances, est rattrapé et comblé ici.

Cette combinaison est la raison pour laquelle l'hybride est le choix par défaut des intégrations sérieuses :

  • La latence vient du webhook, quasi temps réel pour le cas courant.
  • La fiabilité vient du polling, qui converge vers la vérité du partenaire même si certaines poussées sont perdues.
  • La charge reste modeste, car le polling est peu fréquent. C'est un contrôle d'exactitude, pas la synchronisation principale.
  • La confiance vient des deux : vous pouvez dire à un client que ses données sont fraîches et complètes, et le penser vraiment.

Le polling de réconciliation n'a pas besoin d'être malin. Même une tâche quotidienne de « tout tirer et comparer » transforme « on espère qu'aucun webhook n'a été perdu » en « on vérifie que rien ne reste perdu plus d'une journée ». Une bien meilleure promesse, pour le coût d'une seule tâche planifiée.

Couche Schéma Rôle Fréquence
Chemin rapide Webhook Livrer chaque changement rapidement Par événement
Filet de sécurité Polling de réconciliation Rattraper et combler les manques Toutes les quelques heures ou chaque nuit
Récupération Rejeu depuis les lettres mortes Retraiter les événements mis de côté Sur alerte

Webhooks vs polling dans de vraies intégrations partenaires

Ce n'est pas un exercice abstrait. La décision webhooks vs polling est l'un des premiers vrais choix dans presque chaque intégration partenaire, et elle façonne le comportement du connecteur pour toute la durée du partenariat.

À l'échelle d'un portefeuille de connecteurs, natifs, marketplace, iPaaS et surfaces orientées agents, le comportement de synchronisation est l'une des conventions qui doivent être cohérentes. Un client qui utilise deux de vos connecteurs ne devrait pas recevoir des mises à jour en temps réel de l'un et des mises à jour en retard d'une heure de l'autre sans explication. Décider de votre modèle de synchronisation et standardiser les pratiques de fiabilité autour fait partie d'une conception cohérente des surfaces plutôt que de laisser chaque connecteur dériver. Nous couvrons cette conception plus large dans le guide connecteurs, agents et flux de travail tiers.

Cela façonne aussi le projet d'intégration lui-même. Le modèle de synchronisation est une décision de cadrage avec des passations intégrées : le partenaire doit fournir et documenter les webhooks, vous devez mettre en place et vérifier le récepteur, et quelqu'un doit posséder la tâche de réconciliation. Ce sont précisément les dépendances inter-entreprises où les calendriers d'intégration dérapent, donc elles ont leur place dans le cadrage et la liste des points bloquants dès le lancement, et non découvertes en semaine six quand un événement disparaît lors d'une démonstration. Notre guide pourquoi les projets d'intégration dérapent traite de la fermeture de ces écarts avant qu'ils ne vous coûtent des semaines.

Cela vaut aussi dans l'autre sens. Si vous êtes le partenaire qui expose l'API sur laquelle d'autres construisent, le fait d'offrir ou non des webhooks, et la manière de le faire, détermine directement votre facilité d'intégration. Une API qui pousse des webhooks signés, relancés et documentés est un plaisir à intégrer. Une API qui force chaque partenaire à faire du polling agressif et à rétro-concevoir la détection des changements est une taxe sur tous ceux qui se connectent à vous. L'ensemble complet des décisions qui rendent votre API facile à intégrer se trouve dans notre guide pour construire une API prête pour les partenaires.

Que vous consommiez les événements d'un partenaire ou que vous produisiez les vôtres, les mêmes compromis s'appliquent, et le même hybride l'emporte généralement.

Erreurs fréquentes, et comment les corriger

Traiter les webhooks comme du « tirer et oublier ». La correction : construisez le récepteur complet. Vérifiez les signatures, accusez réception vite, dédupliquez, relancez avec temporisation croissante, mettez en lettres mortes et réconciliez. Un webhook sans relances ni polling de réconciliation n'est pas une synchronisation fiable, c'est l'espoir que rien n'échoue jamais.

Faire du polling à la minute pour simuler le temps réel. La correction : si vous avez besoin de cette fraîcheur, utilisez des webhooks. Le polling agressif brûle le quota de débit du partenaire, se heurte aux 429, et accuse quand même un retard sur le temps réel. Gardez le polling pour le faible volume ou comme filet de sécurité lent, pas comme substitut au temps réel.

Sauter l'idempotence. La correction : appuyez chaque opération sur l'identifiant d'événement du partenaire et faites du retraitement une opération sans effet. Les doublons et les relances sont normaux, pas des cas limites, et une intégration qui applique deux fois un événement corrompra les données dès la première semaine en production.

Pas de réconciliation derrière les webhooks. La correction : ajoutez un polling périodique qui compare vos données à la source de vérité du partenaire et comble les écarts. C'est l'ajout à plus forte valeur pour une intégration par webhooks, car il convertit une perte permanente silencieuse en un retard temporaire et auto-corrigeant.

Laisser les connecteurs diverger sur le comportement de synchronisation. La correction : standardisez le modèle de synchronisation et les pratiques de fiabilité sur tout votre portefeuille d'intégrations. Une convention de relance, une approche d'idempotence, une cadence de réconciliation, pour que le troisième connecteur se comporte comme le premier et que le support puisse raisonner sur tous.

FAQ

Quelle est la différence entre webhooks et polling en une phrase ? Le polling, c'est votre application qui interroge une API partenaire selon un calendrier pour savoir si quelque chose a changé, et les webhooks, c'est l'API partenaire qui pousse un événement vers votre endpoint au moment où quelque chose change.

Les webhooks sont-ils toujours meilleurs que le polling ? Non. Les webhooks sont plus rapides et plus légers, mais ils exigent un endpoint toujours en ligne avec vérification, relances, idempotence et lettres mortes, et ils peuvent manquer des événements. Le polling est plus simple et auto-réparateur. La meilleure réponse pour la plupart des intégrations en production est un hybride : webhooks pour la rapidité, un polling périodique pour réconcilier.

Comment éviter de traiter deux fois le même webhook ? Rendez le traitement idempotent. Utilisez l'identifiant d'événement envoyé par le partenaire, enregistrez les identifiants déjà traités, et si l'un arrive de nouveau, renvoyez 200 et ne faites rien. Les doublons surviennent à cause des relances et des renvois, donc un retraitement sûr est une exigence, pas une optimisation.

Que se passe-t-il si mon endpoint de webhook est hors ligne ? La plupart des partenaires relancent les livraisons échouées selon un calendrier à temporisation croissante pendant une certaine fenêtre, donc une courte panne est généralement récupérable si votre récepteur gère les événements relancés de façon idempotente. Au-delà de cette fenêtre, le polling de réconciliation est votre filet de secours : il compare les états et comble ce que les relances n'ont pas récupéré.

À quelle fréquence devrais-je faire du polling ? Aussi rarement que le cas d'usage le permet. Pour un polling qui est votre synchronisation principale, mettez en balance la fraîcheur dont le client a besoin avec la charge et les limites de débit que vous pouvez vous permettre, souvent cinq à quinze minutes. Pour un polling de réconciliation derrière des webhooks, toutes les quelques heures ou chaque nuit suffit amplement, puisque son rôle est l'exactitude, pas la rapidité.

Et si le partenaire n'offre pas de webhooks ? Faites du polling, et construisez le poller correctement : point de contrôle de la dernière synchronisation réussie, requête uniquement des changements depuis ce point de contrôle, gestion de la pagination, et respect des réponses 429. Un poller bien construit est réellement fiable, et vous pourrez ajouter des webhooks plus tard si le partenaire en livre.

Les webhooks garantissent-ils la livraison et l'ordre ? Non aux deux. Traitez la livraison comme « au moins une fois », pas « exactement une fois », ce qui explique pourquoi l'idempotence compte, et ne supposez pas que les événements arrivent dans l'ordre où ils se sont produits, ce qui explique pourquoi vous vous appuyez sur les identifiants et les horodatages plutôt que sur l'ordre d'arrivée. Le polling de réconciliation vous donne la garantie de complétude à terme.

Notre propre API devrait-elle offrir des webhooks ou seulement du polling ? Si les partenaires ont besoin de données fraîches et que vos événements ont un vrai volume, offrez des webhooks, signés, relancés et documentés, car cela vous rend bien plus facile à intégrer. Offrez aussi un endpoint de polling ou de liste de changements, pour que les partenaires qui ne peuvent pas héberger de récepteur disposent quand même d'un chemin propre. La plupart des bonnes API offrent les deux, ce qui fait partie d'être prêt pour les partenaires.

Pour aller plus loin

  • Documentation des webhooks Stripe pour une référence claire et de niveau production sur la signature, la vérification et la relance des livraisons de webhooks.
  • The OpenAPI Initiative pour décrire votre API, y compris les charges utiles de webhooks, dans une seule spécification à partir de laquelle les partenaires peuvent construire des connecteurs.
  • RFC 6585, codes de statut HTTP additionnels qui définit le 429 Too Many Requests, la réponse que les pollers bien élevés doivent respecter.

La version courte

Webhooks vs polling est la décision derrière chaque intégration qui maintient deux systèmes synchronisés. Le polling signifie que vous interrogez selon un calendrier : simple, auto-réparateur et fiable, mais en retard et gaspilleur. Les webhooks signifient que le partenaire vous pousse les événements : rapide et peu coûteux par événement, mais ils exigent un vrai récepteur avec vérification, accusés rapides, idempotence, relances, lettres mortes et rejeu, et ils peuvent manquer des événements si vous sautez ce travail.

La latence et la charge favorisent les webhooks. La simplicité et la fiabilité favorisent le polling. La plupart des intégrations sérieuses cessent de trancher et utilisent les deux, car l'hybride couvre chaque faiblesse : les webhooks livrent la rapidité que ressentent les clients, et un polling de réconciliation périodique livre la complétude dont les ingénieurs ont besoin. Choisissez le polling pur quand le volume est faible, que les webhooks n'existent pas, ou que vous ne pouvez pas manquer un seul événement.

Si vous voulez de l'aide pour décider du bon modèle de synchronisation pour une intégration précise, concevoir la pile de webhooks fiable, ou rendre votre propre API facile à intégrer pour les partenaires, c'est précisément à cela que sert un Partner Audit. Nous passons en revue votre produit, votre API et votre potentiel de partenariat, puis nous définissons quoi construire, qui approcher et comment livrer.

Prêt à transformer vos partenariats en produit livré ?

Commencez par un audit partenaire. Nous étudions votre produit, votre API, les parcours de vos clients et votre potentiel de partenariats.

Réserver un audit