Passa al contenuto principale

Webhook

Disponibilità

Richiede il feature flag Webhook, attivabile in base al piano del tenant (vedi Feature flag).

I webhook permettono di ricevere notifiche in tempo reale su eventi della piattaforma verso un endpoint esterno gestito dal tenant.

Prerequisiti

  • Feature flag Webhook attivo sul tenant.
  • Un endpoint HTTPS raggiungibile dall'esterno, pronto a ricevere richieste POST.
  • Ruolo di amministratore o Super Admin.

Creare un webhook

  1. Aprire Amministrazione → Webhook e selezionare Nuovo webhook.
  2. Indicare nome, URL dell'endpoint e la categoria/evento a cui il webhook si sottoscrive (agente, analisi, sincronizzazione database, documenti, knowledge base o scraping).
  3. Salvare: il sistema genera automaticamente un secret HMAC-SHA256 dedicato al webhook.

Elenco webhook e dialogo eventi

Verificare la firma dei payload

Ogni richiesta inviata dalla piattaforma include l'header X-Askme-Signature, contenente la firma HMAC-SHA256 del corpo della richiesta calcolata con il secret del webhook. Il destinatario deve ricalcolare la firma sullo stesso corpo e confrontarla con quella ricevuta prima di considerare attendibile il payload.

import hashlib
import hmac

def verifica_firma(corpo_richiesta: bytes, secret: str, firma_ricevuta: str) -> bool:
firma_calcolata = hmac.new(
secret.encode("utf-8"), corpo_richiesta, hashlib.sha256
).hexdigest()
return hmac.compare_digest(firma_calcolata, firma_ricevuta)
Non ignorare la verifica

Un endpoint che non verifica la firma accetta payload da chiunque conosca l'URL. Verificare sempre la firma prima di elaborare il contenuto della richiesta.

Gli eventi disponibili

CategoriaEventi
DocumentiCaricamento, cancellazione
ScrapingAvvio, completamento, fallimento
Sincronizzazione databaseCompletamento, fallimento
Knowledge baseCreazione, cancellazione
AgenteCreazione, aggiornamento, cancellazione
AnalisiCompletamento, fallimento

Testare l'invio

Il pulsante Invia test sulla riga del webhook invia un payload di prova all'endpoint configurato, utile per verificarne la raggiungibilità e la corretta gestione della firma prima di sottoscrivere eventi reali.

Problemi comuni

ProblemaCausa probabileSoluzione
L'endpoint non riceve mai le notificheURL non raggiungibile dall'esterno o certificato HTTPS non validoVerificare la raggiungibilità con Invia test e controllare il certificato
La verifica della firma fallisce sempreIl secret usato lato destinatario non corrisponde a quello generato, oppure il corpo viene modificato prima del calcolo dell'HMACRicontrollare il secret copiato e calcolare la firma sul corpo grezzo della richiesta, non su una sua rielaborazione
Alcuni eventi non arrivanoIl webhook non è sottoscritto alla categoria dell'evento attesoVerificare la categoria/evento configurati sul webhook

Pagine correlate