SHIFT >_CODE
← Journal

Webhook o polling: come dovrebbero comunicare i sistemi

Quando un sistema deve sapere cosa succede in un altro, esistono due approcci di base. Spieghiamo la differenza in modo semplice e come rendere affidabile ciascuno dei due.

Un negozio online deve sapere quando un pagamento è stato completato. Un CRM deve sapere quando arriva una nuova richiesta dal sito. Esistono due modi di base perché un sistema venga a conoscenza degli eventi di un altro: chiedere regolarmente o ricevere una notifica.

Polling: chiedere regolarmente

Con il polling, il tuo sistema chiede all’altro ogni pochi minuti: «C’è qualcosa di nuovo?». È semplice da realizzare e funziona con quasi ogni servizio dotato di API. Gli svantaggi sono il ritardo - scopri l’evento solo al controllo successivo - e lo spreco: la maggior parte delle richieste non restituisce nulla, ma consuma comunque limiti e risorse.

Webhook: ricevere una notifica

Con un webhook, l’altro sistema invia un messaggio al tuo indirizzo non appena succede qualcosa. Le informazioni arrivano quasi all’istante e non ci sono richieste a vuoto. Il prezzo è la responsabilità: il tuo endpoint deve essere raggiungibile, verificare che il messaggio provenga davvero dal partner e gestirlo correttamente anche se lo stesso messaggio arriva due volte.

Come rendere affidabili i webhook

Verifica la firma o il segreto che il fornitore allega a ogni messaggio, così nessuno può inviarti eventi falsi. Rispondi in fretta ed esegui l’elaborazione pesante in background, altrimenti il fornitore può considerare fallita la consegna e ripeterla. Salva un identificativo di ogni evento elaborato e ignora i duplicati. Tieni un registro dei messaggi ricevuti per poter analizzare i problemi.

La combinazione pratica

In pratica le integrazioni più solide combinano entrambi gli approcci. I webhook consegnano gli eventi in tempo reale, e un controllo periodico - ad esempio ogni ora o ogni notte - confronta lo stato su entrambi i lati e recupera ciò che è sfuggito durante un aggiornamento del server o un disservizio del fornitore.

In breve

Il polling è semplice ma più lento e dispendioso; i webhook sono veloci ma richiedono attenzione. Usa i webhook per la velocità, proteggili con firme e controllo dei duplicati e aggiungi una riconciliazione periodica perché nessun evento vada perso.