Une boutique en ligne doit savoir quand un paiement est validé. Un CRM doit savoir quand une nouvelle demande arrive depuis le site. Il existe deux façons de base pour qu’un système apprenne ce qui se passe dans un autre : demander régulièrement, ou être prévenu.
Le polling : demander régulièrement
Avec le polling, votre système demande à l’autre toutes les quelques minutes : « Y a-t-il du nouveau ? ». C’est simple à mettre en place et compatible avec presque tout service disposant d’une API. Les inconvénients sont le délai - on n’apprend l’événement qu’à la vérification suivante - et le gaspillage : la plupart des requêtes ne renvoient rien, mais consomment quand même quotas et ressources.
Les webhooks : être prévenu
Avec un webhook, l’autre système envoie un message à votre adresse dès qu’il se passe quelque chose. L’information arrive presque instantanément et il n’y a pas de requêtes inutiles. La contrepartie est la responsabilité : votre point d’accès doit être disponible, vérifier que le message vient bien du partenaire et le traiter correctement même s’il arrive deux fois.
Fiabiliser les webhooks
Vérifiez la signature ou le secret que le fournisseur joint à chaque message, pour que personne ne puisse vous envoyer de faux événements. Répondez vite et faites le traitement lourd en arrière-plan, sinon le fournisseur peut considérer la livraison comme échouée et la répéter. Conservez l’identifiant de chaque événement traité et ignorez les doublons. Tenez un journal des messages reçus pour pouvoir analyser les problèmes.
La combinaison pratique
En pratique, les intégrations les plus robustes combinent les deux approches. Les webhooks livrent les événements en temps réel, et une vérification périodique - par exemple toutes les heures ou chaque nuit - compare l’état des deux côtés et rattrape ce qui a été manqué pendant une mise à jour du serveur ou une panne du fournisseur.
En résumé
Le polling est simple mais plus lent et coûteux ; les webhooks sont rapides mais demandent de la rigueur. Utilisez les webhooks pour la rapidité, protégez-les par des signatures et un contrôle des doublons, et ajoutez une réconciliation périodique pour ne perdre aucun événement.