I webhook permettono al MES di notificare sistemi esterni quando succedono cose importanti, eliminando polling e latenze.
I 5 eventi critici
- order.completed: ordine chiuso con quantità reali → trigger fatturazione, spedizione, notifica cliente.
- machine.fault: macchina in fault da X minuti → trigger ticket CMMS, notifica manutentore, registro guasti.
- alarm.haccp: temperatura cella fuori range critico → trigger procedure HACCP, notifica responsabile qualità, lockdown lotti coinvolti.
- recipe.changed: ricetta modificata e attivata → trigger sincronizzazione PLM, notifica QA, controllo prossimo lotto.
- quality.exception: scarto sopra soglia di lotto → trigger ispezione, blocco spedizione, escalation produzione.
Come si configurano
Sulla console MES: URL endpoint del sistema esterno + filtro eventi + chiave HMAC per firma. Il MES invia POST JSON con i dati dell'evento, firmati HMAC SHA-256 per evitare richieste contraffatte.
Il sistema esterno deve restituire 2xx entro 5 secondi per confermare ricezione. Su 4xx/5xx il MES ritenta con exponential backoff fino a 24h.
Quando preferire polling
Quando l'evento non è critico per latenza (es. report consolidato del giorno prima): polling è più semplice da gestire e robusto. I webhook richiedono endpoint del sistema esterno raggiungibile e infrastruttura di retry — non sempre giustificati per use case batch.