# Eventi utente webhook mancanti: per design o per svista?

**URL:** <https://meta.discourse.org/t/missing-webhook-user-events-by-design-or-oversight/273579>\
**Category:** Feature\
**Tags:** webhooks\
**Created:** [2 Agosto 2023, 12:58am UTC](https://meta.discourse.org/t/missing-webhook-user-events-by-design-or-oversight/273579 "2023-08-02T00:58:25Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![mdoggydog](https://avatars.discourse-cdn.com/v4/letter/m/82dd89/32.png) [@mdoggydog](https://meta.discourse.org/u/mdoggydog)\
**Post date:** [2 Agosto 2023, 12:58am UTC](https://meta.discourse.org/t/missing-webhook-user-events-by-design-or-oversight/273579/1 "2023-08-02T00:58:25Z")

</div>

Ci sono una serie di azioni che mi aspetterei (e vorrei) generassero eventi webhook _user_, ma non lo fanno. Prima di segnalare bug (o inviare PR), vorrei farmi un’idea migliore del perché sia così.

| azione | evento _user_ atteso |
| --- | --- |
| account disattivato dall’amministratore | user\_logged\_out |
| account anonimizzato dall’amministratore | user\_logged\_out |
| l’utente effettua il logout tramite il pulsante “Esci da tutti” | user\_logged\_out |
| — | — |
| aggiunto a un gruppo | user\_updated |
| rimosso da un gruppo | user\_updated |
| livello di fiducia aumentato/diminuito | user\_updated |
| concesso/revocato lo stato di moderatore | user\_updated |
| concesso/revocato lo stato di amministratore | user\_updated |
| non sospeso | user\_updated |
| silenziato/non silenziato | user\_updated |

- Il primo gruppo di tre sono tutte azioni che comportano un logout globale e invalidazione di tutte le sessioni dell’utente, ma a differenza di altre azioni simili (ad es. utente disconnesso dall’amministratore), queste tre non generano un evento _user/user\_logged\_out_ (o qualsiasi altro evento).
- Essere aggiunto/rimosso da un gruppo genera un evento _group\_user_, ma non un evento _user_. Gli eventi _group\_user_ non sono molto utili da soli, poiché contengono solo gli ID numerici interni di gruppi e utenti. D’altra parte, il record `"user"` inviato in occasione di un evento _user_ contiene informazioni molto utili per tutti i gruppi a cui appartiene un utente, inclusi i nomi dei gruppi e i dettagli sulle relazioni dell’utente con i gruppi.
- Quando il livello di fiducia di un utente viene aumentato, viene emesso un evento _user\_promoted_, che contiene dati molto simili, ma non identici, a un evento _user_. Quando il livello di fiducia di un utente viene diminuito, non viene emesso alcun evento simile.
- Nessun evento _user_ viene emesso quando cambiano gli stati di moderatore o amministratore. (Ci sono prove indirette specifiche dell’utente per le azioni di concessione tramite eventi _group\_user_; non ci sono prove specifiche dell’utente per le azioni di revoca.)
- La sospensione di un utente emette un evento _user/user\_logged\_out_ (con campi `"suspended_reason"` e `"suspended_till"` che indicano la sospensione), ma non c’è alcun evento quando un utente viene riammesso. Non vengono emessi eventi in assoluto quando un utente viene silenziato o non silenziato.

Qualcuna di queste omissioni è intenzionale?

Il mio pensiero generale è “Se i dati in un record `"user"` di un evento _user_ sarebbero cambiati, allora dovrebbe essere emesso un evento _user_”. Questo probabilmente comprende più situazioni che attualmente non evocano eventi. Tuttavia, quelle poche che ho elencato nella tabella sopra sono quelle che mi interessano di più al momento perché tutte comportano modifiche allo stato di autorizzazione di un utente.

---

_[View the full topic](https://meta.discourse.org/t/missing-webhook-user-events-by-design-or-oversight/273579)._
