Annullare l'iscrizione di un utente a tutte le e-mail tramite una chiamata API?

Il sito che gestisco utilizza Discourse tramite SSO. Quando un utente del mio sito si disiscrive dalle email generate dal sito, vorrei anche disiscriverlo dalle email di Discourse. Dovrebbe essere possibile determinare cosa è necessario esaminando le chiamate API effettuate quando le impostazioni delle email dell’utente vengono modificate tramite l’interfaccia utente, ma mi chiedevo se esistesse un modo più semplice?

È sempre vero che non vogliono ricevere né le email del sito né quelle della community?

Se esiste la possibilità che vogliano disattivare una categoria e non entrambe, perché non collegare semplicemente a una pagina dove possono gestire le preferenze di posta elettronica per Discourse?

Sì. La direzione mi ha detto di disiscrivere gli utenti dalle email di Discourse quando si disiscrivono dalle email del sito.

Per chiunque sia interessato a un aggiornamento:
Ho soddisfatto la mia necessità seguendo la guida al reverse engineering. È stato un processo abbastanza semplice per raccogliere il contenuto del payload PUT.

In Ruby, il payload che ho ottenuto è:
payload = {mailing_list_mode: false, mailing_list_mode_frequency: 1, email_digests: false, email_in_reply_to: false, email_messages_level: 2, email_level: 2, email_previous_replies: 2 }

mailing_list_mode_frequency’ può probabilmente essere escluso, dato che mailing_list_mode è false.
Il payload viene poi inviato tramite PUT a https://DISCOURSEHOST/u/USERNAME.json?api_key=DISCOURSE_SYSTEM_API_KEY&api_username=system

Ho implementato la stessa logica, ma i valori non vengono riflessi nelle preferenze di email dell’utente sul sito web.

Tieni presente che il metodo per passare api_key e api_username tramite parametri di query è ora deprecato; dovresti utilizzare le intestazioni Api-Key e Api-Username al giorno d’oggi.