Quando usare il polling
Il polling è adatto ai casi in cui un endpoint HTTPS pubblico è scomodo o non necessario:- Sviluppo locale: esegui il polling dal tuo laptop senza ngrok o un tunnel
- Reti private: il servizio consumatore non deve essere raggiungibile da internet
- Elaborazione in batch: vuoi tutti gli eventi della giornata in una volta sola, ad esempio per archiviare gli ordini per motivi di conformità o per riconciliare i pagamenti durante la notte
- Sistemi che non possono ricevere HTTP: un cron job, una pipeline di dati o uno script
Creare un endpoint di polling
- Apri la pagina dei webhook (Settings → Developers → Manage Webhooks)
- Nel portale webhook integrato, aggiungi un nuovo endpoint e scegli il tipo endpoint di polling
- Seleziona i tipi di evento che vuoi ricevere
- Salva l’endpoint
Polling degli eventi
Invia una richiesta GET all’URL di polling con la tua API key:payload di ogni messaggio è esattamente il corpo JSON che riceverebbe un endpoint webhook (l’envelope { event, data } del formato del payload), incapsulato con metadati del messaggio e un offset:
La verifica della firma non si applica: la richiesta è autenticata dalla tua API key anziché da una consegna firmata.
Confermare la tua posizione
Dopo aver elaborato un batch, conferma l’offset dell’ultimo messaggio gestito:
ID dei consumer
Il{consumer_id} nell’URL è una stringa che scegli tu. Ogni ID consumer tiene traccia della propria posizione nello stream, quindi due consumer che leggono lo stesso endpoint ricevono entrambi ogni evento.
- Usa un ID stabile per worker (
kitchen-archive,finance-reconciliation) in modo che il progresso sopravviva ai riavvii - Non condividere mai un singolo ID consumer tra client eseguiti in parallelo. Due processi che effettuano polling con lo stesso consumer si disallineano nello stream e l’API restituisce errori
Lo stream inizia quando viene creato l’endpoint di polling. Gli eventi inviati prima di quel momento non sono inclusi.
Un tipico loop di polling
pollOnce() con la pianificazione più adatta: ogni pochi secondi per un funzionamento quasi in tempo reale, oppure una volta a notte per un’esportazione giornaliera.
Inoltro a un servizio privato
Se preferisci mantenere la consegna HTTP in stile webhook ma il tuo servizio si trova su una rete privata, esegui Svix Bridge all’interno di quella rete. Effettua il polling dell’endpoint e inoltra ciascun messaggio a un URL interno, RabbitMQ o Kafka, con nuovi tentativi quando una delle due parti è temporaneamente non raggiungibile. La pagina dell’endpoint di polling nel portale integrato include una configurazione iniziale di Bridge con l’app ID e l’endpoint ID già compilati.Correlati
Configurazione dei webhook
Consegna push a un endpoint HTTPS pubblico
Idempotenza
Gestisci lo stesso evento più volte in modo sicuro
Eventi webhook
Tutti i tipi di evento a cui puoi sottoscriverti
Test dei webhook
Ispeziona le consegne e invia eventi di test