Informazioni sui webhook

I webhook ti permettono di inviare delle richieste POST ad un determinato URL ogni volta che scatta un alert. Per attivare la funzionalità basta utilizzare l'apposita opzione nel momento della creazione dell'alert: questo consentirà ai nostri server di inviare una richiesta in modalità POST non appena si realizzeranno le condizioni dell'alert, con il corpo della richiesta costituito dal Messaggio inserito in fase di creazione. Se quest'ultimo è un JSON valido, la richiesta sarà inviata con un header content-type "application/json", altrimenti il formato standard è "text/plain".

Importante avviso di sicurezza: Quando si configurano i webhook, assicurarsi di non includere informazioni sensibili come credenziali di accesso o password nel corpo del webhook. La trasmissione di dati sensibili attraverso i webhook può esporli a parti non autorizzate e portare a vulnerabilità di sicurezza. Utilizzare sempre endpoint sicuri e autenticati e crittografare i dati sensibili per proteggere le informazioni.

Questa è la lista degli indirizzi IP che utilizziamo per inviare richieste POST, nel caso ti servisse saperlo per dargli permesso:

  • 52.89.214.238
  • 34.212.75.30
  • 54.218.53.128
  • 52.32.178.7

Se vuoi inviare una richiesta ad un'URL con un numero di porta, tieni a mente che accettiamo solo URL con numeri di porta 80 o 443. Tutte le richieste di URL con porte diverse saranno respinte. Se un server remoto elabora una richiesta per più di 3 secondi, questa viene cancellata. Infine, ricorda che lo standard IPv6 al momento non funziona con i webhook, ma potremmo integrarlo in futuro.

Va sottolineato che molti servizi o applicazioni si aspettano di ricevere dati da webhook in formato JSON e non in plain text (cioè il formato standard del Messaggio all'interno di un alert). Prima di inviare una richiesta, ti consigliamo pertanto di leggere la documentazione fornita dall'applicazione o il servizio in questione. Per maggiori informazioni sul formato JSON, consultare la pagina Wikipedia.

Per fare un esempio, Slack si aspetta un messaggio in stile JSON con il "testo" sotto forma di key / chiave, come mostrato qui sotto: 

{"text": "BTCUSD Greater Than 9000"}

Poiché il messaggio è un JSON valido, invieremo una richiesta con un'intestazione content-type "application/json". Ecco come apparirà la richiesta utilizzando cURL:

curl -H 'Content-Type: application/json;
charset=utf-8' -d '{"text": "BTCUSD Greater Than 9000"}' -X POST https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX

Se il messaggio è un testo semplice (cioè se si utilizza un messaggio di alert predefinito), verrà inviata una richiesta con un content-type "plain/text".

cURL:

curl -H 'Content-Type: text/plain; charset=utf-8' -d 'BTCUSD Greater Than 9000' -X POST https://webhook.site/test

Per la protezione dei dati, l'uso dei webhook degli alert è consentito solo con l'autenticazione a due fattori abilitata.