Informazioni sul servizio
TradottoLa maggior parte delle integrazioni si interrompe in silenzio. Un servizio genera un evento, il ricevitore si sta riavviando, nessuno riprova, e scopri che il cliente non ha mai ricevuto una conferma. Costruisco il livello che rende questo scambio noioso e prevedibile: un punto di ricezione per eventi, una coda dietro di esso, instradamento per le notifiche, e un registro di consegna che risponde alla domanda "è arrivato" senza congetture.
Il lavoro inizia con la mappa degli eventi, non con il codice. Esaminiamo cosa succede realmente all'interno dei tuoi sistemi e selezioniamo ciò che merita una reazione: un nuovo ordine, un pagamento fallito, un cambiamento di stato, un documento firmato. Per ciascuno di essi annoterò chi deve esserne informato, quanto rapidamente e attraverso quale canale. Metà del rumore futuro scompare in questo passaggio, perché fino ad ora nessuno aveva chiesto se un evento meritasse un messaggio.
Poi la meccanica. Un webhook in arrivo senza un controllo della firma non viene accettato — altrimenti chiunque può inviarti un evento, e un evento falsificato costa molto di più di uno perso. Gli eventi accettati vanno in una coda e vengono ripetuti con intervalli crescenti mentre il lato remoto è non disponibile. Le ripetizioni sono normali qui, quindi ogni evento porta una chiave, e una seconda copia della stessa chiave non cambia nulla. Segreti e token sono mantenuti al di fuori del codice e non raggiungono mai il registro. Le notifiche stesse portano un link e un numero e nient'altro: i dati personali e i contenuti dei documenti non vengono inseriti in una chat di lavoro che metà dell'azienda può scorrere.
Cosa include il lavoro:
— una mappa degli eventi con un motivo per ciascuno;
— ricezione di webhook con controlli di firma e rifiuto di qualsiasi cosa non firmata;
— una coda con ripetizioni e un backlog visibile di eventi non elaborati;
— protezione contro l'elaborazione dello stesso evento due volte;
— instradamento verso email e verso il messenger del team, per evento e per destinatario;
— modelli di messaggio in linguaggio semplice, senza dump di payload grezzi;
— un registro di consegna ricercabile per evento, con reinvio manuale;
— monitoraggio della coda che si attiva quando il backlog smette di essere drenato;
— una breve guida scritta per il team.
Il lavoro inizia con la mappa degli eventi, non con il codice. Esaminiamo cosa succede realmente all'interno dei tuoi sistemi e selezioniamo ciò che merita una reazione: un nuovo ordine, un pagamento fallito, un cambiamento di stato, un documento firmato. Per ciascuno di essi annoterò chi deve esserne informato, quanto rapidamente e attraverso quale canale. Metà del rumore futuro scompare in questo passaggio, perché fino ad ora nessuno aveva chiesto se un evento meritasse un messaggio.
Poi la meccanica. Un webhook in arrivo senza un controllo della firma non viene accettato — altrimenti chiunque può inviarti un evento, e un evento falsificato costa molto di più di uno perso. Gli eventi accettati vanno in una coda e vengono ripetuti con intervalli crescenti mentre il lato remoto è non disponibile. Le ripetizioni sono normali qui, quindi ogni evento porta una chiave, e una seconda copia della stessa chiave non cambia nulla. Segreti e token sono mantenuti al di fuori del codice e non raggiungono mai il registro. Le notifiche stesse portano un link e un numero e nient'altro: i dati personali e i contenuti dei documenti non vengono inseriti in una chat di lavoro che metà dell'azienda può scorrere.
Cosa include il lavoro:
— una mappa degli eventi con un motivo per ciascuno;
— ricezione di webhook con controlli di firma e rifiuto di qualsiasi cosa non firmata;
— una coda con ripetizioni e un backlog visibile di eventi non elaborati;
— protezione contro l'elaborazione dello stesso evento due volte;
— instradamento verso email e verso il messenger del team, per evento e per destinatario;
— modelli di messaggio in linguaggio semplice, senza dump di payload grezzi;
— un registro di consegna ricercabile per evento, con reinvio manuale;
— monitoraggio della coda che si attiva quando il backlog smette di essere drenato;
— una breve guida scritta per il team.