إلغاء اشتراك مستخدم من جميع رسائل البريد الإلكتروني عبر استدعاء API؟

الموقع الذي أديره يستخدم Discourse عبر SSO. عندما يلغي أحد مستخدمي موقعي اشتراكه في الرسائل الإلكترونية المولدة من الموقع، أود أيضًا إلغاء اشتراك المستخدم من رسائل Discourse الإلكترونية. يجب أن يكون من الممكن تحديد المتطلبات من خلال النظر في استدعاءات واجهة برمجة التطبيقات (API) التي تُجرى عند تغيير إعدادات البريد الإلكتروني للمستخدم عبر واجهة المستخدم، لكنني تساءلت عما إذا كانت هناك طريقة أسهل؟

هل سيكون من الدائم أنهم لا يريدون رؤية رسائل الموقع ورسائل المجتمع؟

إذا كانت هناك إمكانية لرغبتهم في إلغاء الاشتراك من أحدهما وليس كليهما، فلماذا لا نربطهم ببساطة بصفحة يمكنهم من خلالها إدارة تفضيلات البريد الإلكتروني الخاصة بهم في Discourse؟

نعم. لقد أخبرني الإدارة بإلغاء اشتراك المستخدمين من رسائل البريد الإلكتروني الخاصة بـ Discourse عندما يقوم المستخدم بإلغاء الاشتراك من رسائل البريد الإلكتروني للموقع.

لأي شخص مهتم بمتابعة الأمر:
تم تلبية حاجتي باتباع دليل الهندسة العكسية. كانت عملية جمع محتويات حمولة PUT مباشرة إلى حد ما.

في لغة Ruby، الحمولة التي انتهيت بها هي:
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’ نظرًا لأن ‘mailing_list_mode’ مُعدّ على false.
ثم تُرسل الحمولة عبر PUT إلى https://DISCOURSEHOST/u/USERNAME.json?api_key=DISCOURSE_SYSTEM_API_KEY&api_username=system

لقد طبّقت نفس المنطق، لكن القيم لا تظهر في إعدادات البريد الإلكتروني للمستخدم على الموقع.

لاحظ أن طريقة تمرير api_key و api_username عبر معلمات الاستعلام أصبحت الآن قديمة، ويجب عليك استخدام رؤوس Api-Key و Api-Username حاليًا.