كيفية طلب من المستخدم إنشاء كلمة مرور للحساب المخصص له؟

لدينا نموذج تغذية راجعة على موقعنا الإلكتروني يُستخدم في الغالب للأسئلة المتعلقة بالدعم. أرغب في أن تتحول الأسئلة المنشورة هناك إلى مواضيع جديدة في منتدانا المدعوم بواسطة Discourse.

أحاول تنفيذ تسلسل الإجراءات التالي:

  1. إنشاء مستخدم جديد عبر واجهة برمجة التطبيقات (API) بناءً على الاسم والبريد الإلكتروني اللذين يُقدَّمان عبر النموذج.
  2. إنشاء موضوع جديد، يحرره هذا المستخدم.
  3. إرسال بريد إلكتروني إلى هذا المستخدم يحتوي على رابط للموضوع، بالإضافة إلى طلب لإنشاء كلمة مرور.

الآن، لقد وجدت أربعة قوالب للبريد الإلكتروني في Discourse يمكن استخدامها في الخطوة 3: “تم إنشاء الحساب”، “تسجيل الدخول عبر الرابط”، “نسيت كلمة المرور”، و"تعيين كلمة المرور". في وثائق واجهة برمجة التطبيقات، وجدت فقط استدعاءً يرسل رسالة “نسيت كلمة المرور”، لكن هذا لا يبدو الخيار الأفضل لحالتي.

أسئلتي:
أ) تحت أي ظروف تُرسل الرسائل الثلاث الأخرى (“تم إنشاء الحساب”، “تسجيل الدخول عبر الرابط”، و"تعيين كلمة المرور")؟
ب) كيف يمكنني إرسالها عبر واجهة برمجة التطبيقات؟

يُستخدم ‘account_created’ عند استخدام نقطة نهاية واجهة برمجة التطبيقات ‘invite admin’، وعند إنشاء مسؤول عبر مهمة admin:invite rake.

يُرسَل ‘login via link’ (المُشار إليه داخليًا باسم email_login) عندما يستخدم شخص ما رابط “تسجيل الدخول عبر البريد الإلكتروني”.

أما ‘set password’ فهو نفس ‘نسيت كلمة المرور’، عندما لا يكون لدى المستخدم كلمة مرور مسجلة في قاعدة البيانات.

أعتقد أن أفضل نهج هو إنشاء المستخدمين الجدد بحالة “مؤقتة” (staged)، ثم إرسال دعوة لهم للموضوع. ستقوم هذه الدعوة بتسجيل دخولهم مباشرة إلى حسابهم المؤقت، ثم توجيههم إلى الموضوع. لن يُطلب منهم إنشاء كلمة مرور، لكن يمكنهم فعل ذلك يدويًا، أو ببساطة استخدام خيار تسجيل الدخول عبر البريد الإلكتروني.

شكرًا لك، ديفيد!

ما هي استدعاءات واجهة برمجة التطبيقات (API) لإنشاء مستخدمين “مؤجلين”؟ ظننت أنه لا يمكن إنشاؤهم إلا عبر البريد الإلكتروني.