Configurare una destinazione
Configuri i webhook degli avvisi nella Business Console, non tramite API. I membri che possono gestire le impostazioni dell’organizzazione possono aggiungere, modificare e testare le destinazioni.1
Aggiungi la destinazione
In Impostazioni dell’organizzazione > Notifiche del team, aggiungi una destinazione Webhook degli avvisi con l’URL del tuo endpoint.
L’URL deve usare
https:// e puntare a un indirizzo pubblico.2
Conserva il segreto di firma
Didit mostra il segreto di firma completo, che inizia con
whsec_, una sola volta.
Conservalo subito: in seguito la console mostra solo i suoi ultimi quattro caratteri.3
Instrada gli alert verso di essa
L’aggiunta di una destinazione non invia ancora nulla.
Aggiungi la destinazione alle regole di instradamento degli alert che vuoi che riceva.
4
Invia un test
Fai clic su Invia test per inviare un alert
alert.test e verifica che il tuo endpoint lo accetti.Tipi di alert
Payload
Ogni alert è una richiestaPOST con un corpo JSON.
Didit invia il corpo come JSON compatto con le chiavi ordinate.
Questo esempio è formattato per la lettura:
data contiene sempre:
event: la chiave dell’evento, per esempiosession_in_review.labelevalue: a cosa si riferisce l’alert, per esempioSessione#1042.
data:
alert.billing.autorefill_failedaggiungepaused, un booleano che valetruequando la ricarica automatica è sospesa finché non aggiorni la carta.alert.service.degradedealert.service.recoveredaggiungonoservice,status,incident_id,service_name,state,affected,country_name,started_at,resolved_at,duration_minutes,titleebody.statusvaledegradedodowninalert.service.degraded, erecoveredinalert.service.recovered.serviceusa le chiavi di servizio diGET /v3/status/, eincident_idcorrisponde a uniddi incidente in quella risposta.
webhook_type e le chiavi di data che non riconosci, così le nuove non interrompono il tuo endpoint.
Intestazioni della richiesta
Verifica la firma
X-Signature-V2 è l’HMAC-SHA256 codificato in esadecimale della stringa <X-Timestamp>.<raw body>, utilizzando come chiave il segreto di firma della tua destinazione.
- Usa il segreto completo esattamente come te lo ha mostrato Didit, incluso il prefisso
whsec_. - Firma i byte grezzi della richiesta così come li hai ricevuti. Analizzare il JSON e serializzarlo di nuovo può modificare i byte e far fallire il controllo.
- Confronta le firme in tempo costante.
- Rifiuta una richiesta il cui
X-Timestampsi discosta di più di 5 minuti dal tuo orologio. Didit firma ogni tentativo, inclusi i singoli nuovi tentativi, con un timestamp nuovo, quindi questa finestra non rifiuta mai un nuovo tentativo legittimo. - Rispondi a un controllo fallito con
400. Una risposta401,403,404o410contrassegna la destinazione per la riconnessione (vedi Nuovi tentativi).
Node.js (Express)
Python (Flask)
Ruota il segreto di firma
Ruoti il segreto sulla destinazione in Notifiche del team. Didit mostra il nuovo segreto una sola volta e firma con esso ogni tentativo successivo, inclusi i nuovi tentativi degli alert creati prima della rotazione. Il vecchio segreto smette di funzionare immediatamente. Non c’è alcun periodo di sovrapposizione e nessuna intestazione contiene una firma creata con il segreto precedente. Distribuisci il nuovo segreto sul tuo endpoint non appena lo ruoti.Nuovi tentativi
Didit considera consegnata qualsiasi risposta2xx.
Ogni tentativo attende fino a 5 secondi la tua risposta e non segue i reindirizzamenti.
Didit effettua un nuovo tentativo di invio dell’alert dopo un timeout, un errore di connessione, una risposta 5xx, oppure una risposta 408, 425 o 429.
Effettua fino a 5 nuovi tentativi, nell’arco di circa 24 ore:
Ogni altra risposta è definitiva, inclusa qualsiasi risposta
3xx e qualsiasi altra risposta 4xx.
Per un test inviato con Invia test viene effettuato un solo tentativo e non viene mai ritentato.
Una risposta 401, 403, 404 o 410 contrassegna anche la destinazione per la riconnessione: la console la mostra con lo stato Ricollega.
Lo stesso vale per un URL che si risolve in un indirizzo privato o altrimenti bloccato al momento dell’invio da parte di Didit.
Didit continua a inviare i nuovi alert alla destinazione e questa torna attiva alla consegna riuscita successiva o quando aggiorni il suo URL.
Notifiche recenti in Notifiche del team elencano ogni consegna con il suo esito, e da lì puoi ritentare una consegna non riuscita.
Correlati
- Webhook di verifica: risultati di sessione, entità e transazione per la tua applicazione.
- Stato del servizio: il feed pubblico alla base di
alert.service.degradedealert.service.recovered. - Revisione manuale: cosa fare con una verifica in revisione.