dm.linov
(Dmitry)
1
当社のウェブサイトには、主にサポートの問い合わせに利用されているフィードバックフォームがあります。そこから投稿された質問を、Discourse を活用したフォーラムの新しいトピックとして自動生成したいと考えています。
以下の一連の処理を実装しようとしています:
- フォームから送信された氏名とメールアドレスに基づき、API を通じて新規ユーザーを作成する。
- そのユーザーを著者として、新しいトピックを作成する。
- そのユーザーに対し、作成されたトピックへのリンクと、パスワード作成の依頼を含むメールを送信する。
ここで、Discourse にはステップ 3 で使用できる可能性のある 4 つのメールテンプレートが存在することに気づきました。「アカウント作成」「リンクによるログイン」「パスワード忘れ」「パスワード設定」です。しかし、API ドキュメントを確認したところ、「パスワード忘れ」メッセージを送信する呼び出ししか見つけられませんでした。これは私のケースには最適ではないように思われます。
ご質問は以下の通りです:
a) 残りの 3 つのメッセージ(「アカウント作成」「リンクによるログイン」「パスワード設定」)は、どのような状況で送信されるのでしょうか?
b) これらを API を通じて送信する方法はありますか?
david
(David Taylor)
3
‘account_created’ は、「管理者招待」API エンドポイントを使用した場合や、admin:invite rake タスクを通じて管理者を作成した場合に使用されます。
‘login via link’(内部では email_login と呼ばれます)は、誰かが「メールによるログイン」リンクを使用した際に送信されます。
‘set password’ は「パスワードを忘れた場合」と同じで、ユーザーがデータベースにまだパスワードを持っていない場合に該当します。
最適なアプローチは、新規ユーザーを「ステージング状態」で作成し、その後、そのトピックへの「招待」を送信することだと思います。その招待により、ユーザーはステージングアカウントに直接ログインし、その後トピックへ移動します。パスワード作成を求められることはありませんが、手動で設定することも、メールによるサインインオプションを利用することも可能です。
dm.linov
(Dmitry)
4
ありがとう、David!
「ステージング」ユーザーを作成するための API コールは何ですか?メールを通じてのみ作成できると考えていました。