Quand utiliser le polling
Le polling convient aux cas où un endpoint HTTPS public est peu pratique ou inutile :- Développement local, interrogez depuis votre ordinateur portable sans ngrok ni tunnel
- Réseaux privés, le service consommateur ne doit pas être accessible depuis Internet
- Traitement par lots, vous voulez tous les événements de la journée en une seule fois, par exemple pour archiver les commandes à des fins de conformité ou pour rapprocher les paiements durant la nuit
- Systèmes qui ne peuvent pas recevoir de HTTP, une tâche cron, un pipeline de données ou un script
Créer un endpoint de polling
- Ouvrez la page des webhooks (Settings → Developers → Manage Webhooks)
- Dans le portail webhooks intégré, ajoutez un nouvel endpoint et choisissez le type d’endpoint de polling
- Sélectionnez les types d’événements que vous souhaitez recevoir
- Enregistrez l’endpoint
Interroger les événements
Envoyez une requête GET à l’URL de polling avec votre clé API :payload de chaque message correspond exactement au corps JSON qu’un endpoint webhook recevrait, l’enveloppe { event, data } du format de payload, enrichi de métadonnées de message et d’un offset :
La vérification de signature ne s’applique pas, la requête est authentifiée par votre clé API plutôt que par une livraison signée.
Valider votre position
Après avoir traité un lot, validez l’offset du dernier message que vous avez traité :
IDs de consommateur
Le{consumer_id} dans l’URL est une chaîne que vous choisissez. Chaque ID de consommateur suit sa propre position dans le flux, ainsi deux consommateurs qui lisent le même endpoint reçoivent chacun tous les événements.
- Utilisez un ID stable par worker (
kitchen-archive,finance-reconciliation) pour que la progression survive aux redémarrages - Ne partagez jamais un même ID de consommateur entre plusieurs clients qui s’exécutent en même temps. Deux processus qui interrogent avec le même ID de consommateur se désynchronisent dans le flux et l’API renvoie des erreurs
Le flux démarre au moment où l’endpoint de polling est créé. Les événements envoyés avant cela ne sont pas inclus.
Une boucle de polling typique
pollOnce() selon le rythme qui vous convient, toutes les quelques secondes pour du quasi temps réel, ou une fois par nuit pour un export quotidien.
Transférer vers un service privé
Si vous préférez conserver une livraison HTTP de type webhook mais que votre service se trouve sur un réseau privé, exécutez Svix Bridge à l’intérieur de ce réseau. Il interroge l’endpoint et transfère chaque message vers une URL interne, RabbitMQ ou Kafka, avec des nouvelles tentatives lorsque l’un ou l’autre côté est temporairement inaccessible. La page de l’endpoint de polling dans le portail intégré inclut une configuration Bridge de démarrage avec l’ID d’application et l’ID d’endpoint pré-remplis.Ressources associées
Configurer les webhooks
Livraison push vers un endpoint HTTPS public
Idempotence
Gérer sans risque plusieurs livraisons du même événement
Événements webhook
Tous les types d’événements auxquels vous pouvez vous abonner
Tester les webhooks
Inspectez les livraisons et envoyez des événements de test