それは難しいと思います。そのトピックに関する設定、あるいは全体の通知設定で登録と更新を行う必要があるからです。
このエンドポイントに関するドキュメントはありますか?API ドキュメントを検索しましたが、記載されていません。
discourse-assign プラグインを使用して、トピックを作成し、特定のユーザーに割り当てる方法を探しています。
また、API キーはユーザーシステム用である必要がありますか?それとも、最小限の権限を持つ別のユーザーを使用できますか(必要な最小権限は何ですか)?
この投稿だけです:Creating a staged user with an API call - #8 by blake
完全に可能です。Reverse engineer the Discourse API をご覧ください。discourse-assign プラグインが呼び出すエンドポイントがわかります。
いいえ、システムユーザーである必要はありません。トピックの作成と割り当てを行うのに十分な信頼レベルを持つユーザーであれば問題ありません。
ご返信ありがとうございます。特定の投稿を割り当てる方法については理解できましたが、/admin/email/handle_mail エンドポイントによって直ちに作成された投稿を確実に特定する方法はどのようにすればよいでしょうか?また、受信呼び出しはキューイングされているようなので、最初の呼び出しの直後には常にすぐに見つからないようです。
その通り、そのエンドポイントは topic_id を返しません。
必ずステージングユーザーである必要がありますか?API でユーザーを作成し、その後トピックを作成することはできないでしょうか?それとも、まだアカウントを持っていない人々がそのエンドポイントにメールを送るのでしょうか?
これは、それぞれ異なる販売元を持つさまざまな製品向けの一般向け問い合わせフォームです。特定の販売元にトピックを割り当て、その販売元に属さないトピックへのアクセスを拒否したいと考えています。
開発者ではない視点から質問があります。
当社のチケットシステムとしてDiscourseを使用しており、登録されていないユーザーがサポートフォーラムで新しいトピックを作成できるように設定しました。
時々、顧客が直接作成するのではなく、代わりに私が顧客のためにチケットを作成する必要が生じます。
フォーラムにアカウントを持っていない人の代わりにトピックを作成する簡単なステップバイステップの方法はありますか?彼らが自分でサインアップしない限り、完全なアカウントを持たせたくありません。
受信メールでトピックを作成してみてください。
これにより、トピック作成時にステージングされたユーザーが作成されます。
API経由でステージングされたユーザーを作成できます。
curl -i -sS -X POST "http://localhost:4200/users" \
-H "Content-Type: multipart/form-data" \
-H "Api-Key: 3e8aa0b7970cf010da24d06215fdc7b3951352c61a59ada70f5f36b4ce890bb2" \
-H "Api-Username: system" \
-F "name=2e6ac3603" \
-F "active=false" \
-F "staged=true" \
-F "username=2e6ac3603" \
-F "email=2e6ac3603@example.com" \
-F "password=f9b4c3c7ebd1c2877a0ad659be6ca83e"
その後、ユーザーのトピックを作成しますが、ユーザー作成時にDiscourseはアクティベーションメールを送信します。
{“success”: true,“active”: false,“message”: “ほぼ完了です!2e6ac3603@example.comにアクティベーションメールを送信しました。メールの指示に従ってアカウントをアクティベートしてください。届かない場合は、迷惑メールフォルダを確認してください。”}
したがって、これらの各行は末尾でCRによって区切られますか?そして、バックスラッシュの前にダブルスペースまたはタブがありますか?
すみません、前述のとおり、私は開発者ではないので、このコードを表示するだけでは、もう少し情報がないと完了できません。
では、この方法を使用するとユーザーが作成されるだけで、staged=trueであっても招待メールが送信されるのですか?
最も簡単な答えが常に最善です。
そのため、時折必要に応じてそれを使用します。
ご協力ありがとうございました。