I don’t think they can. They would have to register and update their preferences on that topic or their overall notification preferences.
Are there some docs about this endpoint? I have searched API docs but it is not there.
I am looking for a way how to create topic and assign it to a specific user (by discourse-assign plugin).
And also thinking if API key have to by for user system or I can use some other user with minimal permissions (what are that minimal required?).
Just this post: Creating a staged user with an API call - #8 by blake
This is totally doable. Have a look at Reverse engineer the Discourse API and you will see which endpoint the discourse-assign plugin calls.
Nope does not need to be with the system user. You just need a user with enough trust level to create and assign topics.
Thank you for reply. I understand how to assign specific post, but how to reliably find post just created by the /admin/email/handle_mail endpoint? It also seems to queue received calls, so I will not always find it immediately after the first call.
Correct, that endpoint does not return a topic_id.
Do they HAVE to be staged users? Couldn’t you just create the user via the api and then create a topic? Or are people that don’t have accounts yet going to be emailing that endpoint?
It is for public contact form on different products where each have different merchant. I want to assign topic to the specific merchant and also deny access to topics what does not belong to that merchant.
لدي سؤال من منظور غير مطور.
أنا أستخدم 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”: “You’re almost done! We sent an activation mail to 2e6ac3603@example.com. Please follow the instructions in the mail to activate your account.If it doesn’t arrive, check your spam folder.”}
إذًا، هل كل سطر من هذه الأسطر مفصول بـ CR في النهاية؟ وهل هناك مسافة مزدوجة، أو علامة جدولة قبل كل شرطة مائلة للخلف؟
عذرًا، كما قلت، أنا لست مطورًا، لذا فإن مجرد عرض هذا الرمز لا يكفي لجعلني أكمل دون القليل من المعلومات الإضافية.
إذًا، باستخدام هذه الطريقة، يتم إنشاء المستخدم فقط، ولكن على الرغم من أن staged=true، فإنه يرسل دعوة البريد الإلكتروني؟
الإجابة الأسهل هي دائمًا الأفضل:
لذلك سنستخدم هذا لاحتياجاتنا العرضية.
شكرا للمساعدة.