Wanneer polling gebruiken
Polling is handig in situaties waarin een publiek HTTPS-endpoint onhandig of onnodig is:- Lokale ontwikkeling, poll vanaf je laptop zonder ngrok of tunnel
- Privénetwerken, de consumerende service mag niet vanaf het internet bereikbaar zijn
- Batchverwerking, je wilt alle events van de dag in één keer, bijvoorbeeld om orders te archiveren voor compliance of om uitbetalingen ‘s nachts af te stemmen
- Systemen die geen HTTP kunnen ontvangen, een cronjob, een datapijplijn of een script
Een polling-endpoint aanmaken
- Open de webhookpagina (Settings → Developers → Manage Webhooks)
- Voeg in de ingebouwde webhooks-portal een nieuw endpoint toe en kies het type polling-endpoint
- Selecteer de eventtypes die je wilt ontvangen
- Sla het endpoint op
Events ophalen
Stuur een GET-verzoek naar de polling-URL met je API-sleutel:payload van elk bericht is exact de JSON-body die een webhook-endpoint zou ontvangen (de { event, data }-envelop uit het payload-formaat), aangevuld met berichtmetadata en een offset:
Handtekeningverificatie is niet van toepassing. Het verzoek wordt geauthenticeerd via je API-sleutel in plaats van via een ondertekende bezorging.
Je positie committen
Commit na het verwerken van een batch deoffset van het laatste bericht dat je hebt afgehandeld:
Consumer-ID’s
De{consumer_id} in de URL is een string die je zelf kiest. Elke consumer-ID houdt zijn eigen positie in de stroom bij, zodat twee consumers die hetzelfde endpoint lezen beide elk event ontvangen.
- Gebruik een stabiele ID per worker (
kitchen-archive,finance-reconciliation), zodat de voortgang herstarts overleeft - Deel nooit één consumer-ID tussen gelijktijdig draaiende clients. Twee processen die als dezelfde consumer pollen, drijven uit elkaar in de stroom en de API geeft fouten terug
De stroom begint op het moment dat het polling-endpoint wordt aangemaakt. Events die daarvoor zijn verstuurd, worden niet meegenomen.
Een typische polling-loop
pollOnce() op het schema dat bij je past: elke paar seconden voor bijna realtime, of eenmaal per nacht voor een dagelijkse export.
Doorsturen naar een privéservice
Wil je liever webhook-achtige HTTP-bezorging behouden, maar staat je service in een privénetwerk, draai dan Svix Bridge binnen dat netwerk. Bridge pollt het endpoint en stuurt elk bericht door naar een interne URL, RabbitMQ of Kafka, met retries wanneer een van beide kanten tijdelijk onbereikbaar is. De pagina van het polling-endpoint in de ingebouwde portal bevat een startconfiguratie voor Bridge waarin de app-ID en endpoint-ID al zijn ingevuld.Gerelateerd
Webhooks instellen
Push-bezorging naar een publiek HTTPS-endpoint
Idempotentie
Verwerk hetzelfde event meerdere keren op een veilige manier
Webhook-events
Elk eventtype waarop je je kunt abonneren
Webhooks testen
Bekijk bezorgingen en verstuur testevents