Benutzer über einen API-Aufruf von allen E-Mails abmelden?

Die von mir verwaltete Site nutzt Discourse über SSO. Wenn ein Benutzer meiner Site keine E-Mails von der Site mehr erhalten möchte, möchte ich den Benutzer auch von Discourse-E-Mails abmelden. Es sollte möglich sein, durch die Analyse der API-Aufrufe, die ausgeführt werden, wenn die E-Mail-Einstellungen eines Benutzers über die Benutzeroberfläche geändert werden, zu ermitteln, was erforderlich ist. Gibt es jedoch eine einfachere Möglichkeit?

Wird es immer der Fall sein, dass sie keine Site-E-Mails und keine Community-E-Mails sehen möchten?

Wenn die Möglichkeit besteht, dass sie sich nur von einem abmelden möchten und nicht von beiden, warum verlinken wir dann nicht einfach auf eine Seite, auf der sie ihre E-Mail-Einstellungen für Discourse verwalten können?

Ja. Das Management hat mir gesagt, dass ich Benutzer von Discourse-E-Mails abmelden soll, wenn sie sich von Website-E-Mails abmelden.

Für alle, die an einer Fortsetzung interessiert sind:
Mein Anliegen wurde durch die Befolgung des Reverse-Engineering-Leitfadens erfüllt. Es war ein recht unkomplizierter Prozess, den Inhalt der PUT-Payload zu sammeln.

In Ruby lautet die Payload, die ich am Ende hatte:
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 }

Der Wert ‘mailing_list_mode_frequency’ kann wahrscheinlich weggelassen werden, da mailing_list_mode auf false gesetzt ist.
Die Payload wird dann per PUT an https://DISCOURSEHOST/u/USERNAME.json?api_key=DISCOURSE_SYSTEM_API_KEY&api_username=system gesendet.

Ich habe dieselbe Logik implementiert, aber die Werte werden in den Benutzer-E-Mail-Einstellungen der Website nicht angezeigt.

Beachten Sie, dass die Methode, api_key und api_username über Abfrageparameter zu übergeben, nun veraltet ist. Sie sollten stattdessen die Header Api-Key und Api-Username verwenden heutzutage.