Webhooks
Un webhook è la forma più semplice di collegamento: un messaggio HTTP verso un indirizzo che stabilisci tu. Slack, Discord e Microsoft Teams accolgono messaggi del genere direttamente come contributo in un canale; i sistemi propri possono farne quello che vogliono.
Impieghi tipici: l’indirizzo di supporto segnala le nuove richieste nel canale del team. La conferma d’ordine mette in moto il gestionale. L’allarme del server di un cliente compare in Discord.
Configurare un endpoint
Sezione intitolata “Configurare un endpoint”- Apri Impostazioni → Integrazioni → Webhooks e attiva Abilita webhooks.
- Scegli Aggiungi endpoint e inserisci un Nome e l’URL.
- In Modello predefinito del payload scegli Slack, Discord, Microsoft Teams o Generic JSON. Il modello compila il Template del payload (JSON) con una struttura di base adatta, che puoi modificare liberamente.
- Testa invia un messaggio di prova con dati di esempio: con Slack e simili lo vedi subito nel canale.
L’URL lo ottieni presso il servizio corrispondente:
- Slack: su
api.slack.com/appscrea un’app con Incoming Webhooks; l’URL generato è l’endpoint. - Discord: impostazioni del canale → Integrazioni → Webhooks.
- Teams: nel canale, tramite l’app Workflows con il modello per pubblicare quando arriva una richiesta webhook.
- Sistemi propri: qualsiasi indirizzo che accetti JSON via HTTP POST o PUT.
Sono possibili più endpoint, ognuno si può disattivare singolarmente: il canale di supporto e uno script tuo possono convivere.
Attivarlo tramite regola
Sezione intitolata “Attivarlo tramite regola”L’invio passa esclusivamente dall’ automazione: l’azione Invia webhook in una regola, con l’endpoint che scegli come destinazione.
Che cosa viene inviato esattamente lo stabilisce il template del
payload dell’endpoint. Lì inserisci le variabili tra doppie
parentesi graffe, che al momento dell’invio vengono riempite con i dati
del messaggio che ha fatto scattare la regola: {{subject}},
{{from}}, {{from_name}}, {{to}}, {{cc}}, {{date}},
{{preview}} (l’inizio del testo), {{tags}}, {{mailbox}},
{{account_id}} e {{rule_name}}. Il Riferimento variabili sotto
il template le spiega una per una. Una segnalazione Slack per il canale
di supporto ha per esempio questo aspetto:
{ "text": "Nuova richiesta da {{from_name}}: {{subject}}" }Per server propri
Sezione intitolata “Per server propri”- Firma: se inserisci un Segreto HMAC (opzionale), ogni
richiesta contiene l’intestazione
X-YouniqMail-Signature: sha256=…con una firma HMAC-SHA256 del contenuto. Con essa il tuo server verifica che il messaggio venga da te. - Ripetizioni: in caso di errori del server (5xx) e problemi di rete YouniqMail ritenta fino a tre volte, con pause di 1, 2 e 4 secondi. I rifiuti (4xx) non vengono ripetuti. Il timeout lo imposti per ogni endpoint, al massimo 30 secondi.
- Metodo: POST è il predefinito, PUT solo se il tuo endpoint lo richiede. I reindirizzamenti non vengono seguiti.
Buono a sapersi
Sezione intitolata “Buono a sapersi”- Il messaggio va all’endpoint che indichi tu. Controlla con cura l’URL, perché chiunque lo conosca può scrivere nel canale. Tratta gli URL dei webhook come password.
- Il contenuto lo stabilisci tu: viene trasmesso quello che sta nel template. Chi inserisce solo oggetto e mittente, passa solo quelli.
- Funzione Pro: i webhook fanno parte dell’ insieme Pro.