Sin impuesto Con impuesto

Webhook o polling: come progettare integrazioni affidabili

Farsi avvisare o chiedere spesso: ogni approccio ha il suo posto. L'affidabilità dipende più da come lo implementi che da quale scegli.

Jesús Meilán
Updated: 26/09/2026 130
Webhook o polling: come progettare integrazioni affidabili
Share:

Quando due sistemi devono venire a sapere cosa succede nell'altro (un pagamento confermato, un ordine spedito, una variazione di stock) ci sono due modi per farlo.

Webhook: farsi avvisare

Il sistema di origine fa una richiesta HTTP a un tuo URL quando succede qualcosa. È immediato ed efficiente. Lo usano i gateway di pagamento (Stripe, Redsys con la sua notifica) e molte piattaforme.

Polling: chiedere spesso

Il tuo sistema chiede periodicamente «c'è qualcosa di nuovo dall'ultima volta?». Più semplice e più robusto in caso di interruzioni, ma con ritardo e più carico.

Come rendere affidabile un webhook

  • Verifica la firma di ogni notifica con il segreto condiviso. Non accettare mai un «pagamento confermato» senza verificarlo.
  • Rispondi subito (200) ed elabora dopo. Se ci metti troppo, l'origine ritenta e riceverai duplicati.
  • Idempotenza: salva l'identificativo di ogni evento e non elaborarlo due volte.
  • Non dipendere solo dal webhook: un processo di riconciliazione periodico recupera ciò che è andato perso.
// Schema di un ricevitore idempotente
$evento = verificarFirma(file_get_contents('php://input'), $cabecera, $secreto);
if (yaProcesado($evento['id'])) {
    http_response_code(200);
    exit;
}
encolar($evento);
marcarProcesado($evento['id']);
http_response_code(200);
Dietro un firewall o una cache: i webhook arrivano dagli IP del fornitore, senza cookie e a volte a orari strani. Verifica che il tuo WAF non li blocchi e che nessuna cache di pagina li intercetti.

Il meglio dei due

Nelle integrazioni critiche usiamo entrambi: webhook per l'immediatezza e un polling ogni ora che confronta e corregge. Così, se un avviso va perso, la differenza dura al massimo un'ora.

Caricamento...
Consenso sui cookie
Torna all'inizio