IOSOR Guide

Firma webhook e finestra di replay: idempotenza perché le 02:00 restino noiose

Verificate le firme, limitate la finestra di replay e rendete idempotenti i webhook in ingresso — non accettate mai callback non firmati, non addebitate prepaid due volte su un retry.

Un callback non firmato non è un evento. È HTTP non autenticato che per caso assomiglia al vostro payload. I team che «accettano prima, verificano dopo» pagano alle 02:00: un DLR riletto, uno STOP duplicato o un secondo addebito di wallet che finance non può srotolare. Il prepaid rende il fallimento visibile in denaro. Le abitudini noiose: verificare la firma su ogni richiesta, una finestra di replay limitata e chiavi di idempotenza che finance legge accanto alla riga di ledger.

IOSOR si aspetta integrazioni B2B verificabili: webhook firmati, segreti ruotabili, errori client-safe che non versano marchi altrui. Verso USD 1,000+ di uso mensile, gli ID di correlazione e le prove di replay diventano materiale di review commerciale — non solo igiene di ingegneria.

I callback non firmati non sono eventi

Verificate la firma prima di parsare i campi di business. Rifiutate firme mancanti, scadute o disallineate con un errore client-safe — non elaborate «comunque per il pilota». Un consumatore di staging che salta la verifica addestra la produzione a saltarla. Il catalogo live di messaggistica non significa che il vostro URL webhook sia una discarica pubblica.

Finestre di replay e perché succedono le 02:00

La consegna almeno-una-volta ritenta su timeout, 5xx e perdita di rete ambigua. Un retry tardivo alle 02:00 è normale. La finestra limita quanto a lungo un payload firmato resta accettabile: troppo larga e un attaccante rilegge uno STOP vecchio; troppo stretta e un retry legittimo sembra falsificazione. Registrate i rifiuti di finestra a parte dai fallimenti di firma.

Idempotenza che finance può leggere

Lo stesso ID evento deve produrre lo stesso stato finale. Estraete l’ID evento/messaggio della piattaforma — non inventate una chiave da timestamp più corpo. Restituite successo su un ID noto senza riaddebitare. Gli invii in uscita hanno bisogno della stessa disciplina — idempotenza, retry e denaro.

Rotazione della firma senza caos di doppia accettazione

Ruotate i segreti senza una finestra in cui firme vecchie e nuove sono accettate per sempre. Pianificate la sovrapposizione, poi tagliate. Non incollate mai un segreto di produzione in un ticket. Separate i consumatori sandbox e produzione. Dead-letter con strumenti di replay perché ops possa riedrive un consumatore fallito senza inventare un secondo addebito.

Bandiere rosse

  • L’handler accetta corpi non firmati «per ora»
  • Nessuna finestra di replay, o una misurata in settimane
  • Sovrascrittura di stato senza confrontare i timestamp
  • Effetti CRM/email prima dell’ACK
  • Segreto di produzione in chat
  • ID evento duplicati il mese scorso senza nessuno che guardi
  • Errori al cliente che versano codici grezzi di upstream

Inizia con IOSOR

Apri la console di IOSOR e controlla le impostazioni dell'endpoint webhook attivo per le ricevute di consegna in entrata e i callback degli eventi. Imposta una stretta finestra di ripetizione per la verifica delle firme di cinque minuti e collega il gestore rigorosamente all'ID evento della piattaforma.

Sintesi IOSOR

I gestori di webhook privi di verifica e senza finestre temporali trasformano i normali retry in pericolose scritture duplicate sul ledger. Configura nella console una tolleranza massima di cinque minuti rispetto al timestamp UTC dell'header e scarta ogni payload già elaborato usando la chiave di idempotenza. In questo modo le notifiche notturne ripetute falliscono in sicurezza senza alterare i saldi.

Questa guida ti è stata utile?

Guide correlate