Documentation Index
Fetch the complete documentation index at: https://docs.olostep.com/llms.txt
Use this file to discover all available pages before exploring further.
Stiamo espandendo attivamente il supporto per i webhook.Appena arrivato: tentativi automatici con backoff esponenziale — le consegne fallite vengono ora ritentate fino a 5 volte in 30 minuti.Prossimamente:
- URL webhook predefiniti per tutto il team
- Firme crittografiche per la verifica del payload
Panoramica
I webhook inviano notifiche HTTP POST in tempo reale al tuo server quando le operazioni di lunga durata sono completate. Invece di effettuare polling per lo stato, la tua applicazione riceve aggiornamenti istantanei.Casi d’uso
Elaborazione asincrona
Ricevi notifiche quando i batch o i crawl sono completati invece di effettuare polling
Trigger della pipeline
Attiva automaticamente l’elaborazione a valle quando i dati sono pronti
Allerta
Invia avvisi a Slack, email o altri sistemi al completamento
Sincronizzazione dati
Mantieni il tuo database sincronizzato con i risultati di Olostep
Eventi supportati
batch.completed
batch.completed
Attivato quando un batch termina l’elaborazione (tutti gli elementi completati o falliti).
crawl.completed
crawl.completed
Attivato quando un crawl termina e tutte le pagine scoperte sono state elaborate.
Configurazione dei Webhooks
Passawebhook quando crei una risorsa. Questo URL riceve la notifica di completamento.
Nome del parametro: Il parametro canonico è
webhook. Per compatibilità retroattiva, webhook_url è accettato come alias.Payload del Webhook
Tutti i payload dei webhook seguono una struttura unificata:Campi dell’involucro
| Campo | Descrizione |
|---|---|
id | ID dell’evento — stesso in tutti i tentativi di ritrasmissione |
object | Tipo di evento (es. event.batch.completed) |
timestamp | Quando è stato inviato questo tentativo di consegna (epoch ms) |
delivery_attempt | Tentativo corrente / tentativi massimi (es. 1/5, 3/5) |
data | I dati effettivi della risorsa (stesso formato della risposta API) |
Comportamento di Ritrasmissione
Le consegne dei webhook fallite vengono automaticamente ritentate con backoff esponenziale in una finestra di 30 minuti:| Tentativo | Ritardo prima del tentativo | Tempo cumulativo |
|---|---|---|
| 1 | Immediato | 0 min |
| 2 | ~2 min | ~2 min |
| 3 | ~4 min | ~6 min |
| 4 | ~7 min | ~13 min |
| 5 | ~15 min | ~28 min |
Timeout per richiesta: 30 secondi
Cosa Conta come Successo
Il tuo endpoint deve restituire un codice di stato2xx entro 30 secondi. Qualsiasi altra risposta attiva un ritentativo.
| Risposta | Risultato |
|---|---|
200 OK | ✅ Consegnato |
201 Created | ✅ Consegnato |
301 Redirect | ❌ Ritenta (non seguiamo i redirect) |
400 Bad Request | ❌ Ritenta |
500 Server Error | ❌ Ritenta |
| Timeout (>30s) | ❌ Ritenta |
| Connessione rifiutata | ❌ Ritenta |
Migliori Pratiche
Rispondi rapidamente, elabora in modo asincrono
Rispondi rapidamente, elabora in modo asincrono
Restituisci
200 OK immediatamente ed elabora il webhook in modo asincrono. Se la tua elaborazione richiede più di 30 secondi, ritenteremo — causando consegne duplicate.Implementa gestori idempotenti
Implementa gestori idempotenti
Usa il campo
id per deduplicare. Memorizza gli ID degli eventi elaborati e salta i duplicati.Registra le ricevute dei webhook
Registra le ricevute dei webhook
Registra tutte le ricevute dei webhook per il debug. Includi l’ID dell’evento, il timestamp e il risultato dell’elaborazione.
Usa endpoint HTTPS
Usa endpoint HTTPS
Usa sempre HTTPS per gli endpoint dei webhook. Gli endpoint HTTP sono vulnerabili a intercettazioni e attacchi man-in-the-middle.
Risoluzione dei Problemi
Non ricevo i webhooks
Non ricevo i webhooks
- Verifica che il parametro
webhooksia stato incluso nella tua richiesta - Verifica che il tuo endpoint sia pubblicamente accessibile (non localhost)
- Controlla i log del tuo server per le richieste in arrivo
- Assicurati di restituire un codice di stato
2xx
Ricevo webhooks duplicati
Ricevo webhooks duplicati
Questo è previsto durante i ritentativi. Implementa una gestione idempotente usando il campo
id:I webhooks vanno in timeout
I webhooks vanno in timeout
Il tuo endpoint deve rispondere entro 30 secondi. Elabora i webhooks in modo asincrono:
Prossimamente
URL predefinito per il team
Configura un URL webhook predefinito nelle impostazioni del tuo account. Tutte le richieste utilizzeranno questo URL a meno che non venga sovrascritto.
Verifica della firma
Firme crittografiche (HMAC-SHA256) per verificare che i payload dei webhook provengano da Olostep.
Vuoi accesso anticipato a queste funzionalità? Contattaci a info@olostep.com o unisciti alla nostra comunità Slack.