Skip to content

Webhook

I webhook sono la porta d'accesso del tuo back office al mondo esterno. Consentono di interagire con altre applicazioni tramite un sistema di eventi. Proprio come l'API di back office, è una parte essenziale della creazione dei flussi di lavoro.

Composizione

Un webhook endpoint è composto da un URL unico, un metodo, una chiave segreta e un set di eventi.

I metodi di richiesta possibili sono:

  • DELETE
  • GET
  • PATCH
  • POST
  • PUT

Gli eventi sono l'insieme di azioni che attiveranno una chiamata all'URL del webhook, ad esempio aggiungere un utente, editare un compito, cancellare un file ecc.

Richieste

Ogni evento sul back office attiva una richiesta webhook se il webhook è stato configurato. Una richiesta webhook contiene diverse informazioni dal back office:

  • il contenuto che rappresenta la risorsa in formato JSON
  • l'evento nel formato risorsa.azione, ad esempio user.create
  • la chiave segreta nell'intestazione della richiesta x-backoffice-signature

Ecco un esempio di contenuto inviato dal tuo webhook:

JSON
{
  "event": "user.create",
  "payload": {
    "id": "6fb779a9-d615-4d1b-be5f-78421977acb2",
    "email": "[email protected]"
  }
}

Una volta effettuata la richiesta, il risultato viene salvato in modo permanente tramite due campi:

  • il corpo della risposta che contiene la risposta alla richiesta in formato JSON
  • il codice di risposta che contiene il codice di risposta della richiesta

Se la richiesta non riesce, è possibile riprovare la richiesta.

Sicurezza

⚠️

Per garantire la sicurezza del tuo webhook, è consigliabile implementare queste poche azioni:

  • Usa il metodo POST per i tuoi webhook
  • Usa il protocollo HTTPS per l'URL dei tuoi webhook
  • Autenticare la chiave segreta tramite l'intestazione x-backoffice-signature

Caso di studio

Immagina di voler inviare un'e-mail ogni volta che un compito viene completato. Per fare ciò, combinerai i webhook con un servizio di automazione come Zapier. Semplicemente, crei un nuovo zap su Zapier in due passaggi:

  1. Catch hook
  2. Send email

Si ottiene quindi il webhook endpoint URL: https://hooks.zapier.com/hooks/catch/1.

Tutto quello che devi fare è creare un nuovo webhook con i seguenti parametri:

  • URL: https://hooks.zapier.com/hooks/catch/1
  • Metodo: POST
  • Eventi: Completare Compito

Ecco! 🎉 L'automazione è stata impostata in due semplici passaggi.