Creating a staged user with an API call

I don’t think they can. They would have to register and update their preferences on that topic or their overall notification preferences.

2 Mi Piace

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.

Ho una domanda dal punto di vista di un non sviluppatore.

Sto usando Discourse come sistema di ticketing della nostra azienda e l’ho configurato con successo per creare nuovi argomenti da utenti non registrati nel nostro forum di supporto.

Occasionalmente, ho bisogno di creare un ticket per conto di un cliente invece che sia lui a crearlo direttamente.

Esiste un modo semplice e graduale per farlo e creare un argomento per conto di qualcuno che non ha ancora un account sul forum? Non voglio che abbiano un account completo a meno che non si registrino da soli.

1 Mi Piace

Proverei a creare un argomento tramite email in arrivo:

In questo modo verrà creato un utente “staged” alla creazione dell’argomento.

Potresti creare l’utente “staged” tramite l’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"

e poi creare l’argomento per l’utente, ma all’azione di creazione dell’utente discourse invierà un’email di attivazione:

{“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.”}

Quindi ognuna di queste righe è separata da un CR alla fine? E c’è un doppio spazio, o una tabulazione prima di ogni back-slash?
Scusa, come ho detto, non sono uno sviluppatore, quindi mostrare solo questo codice non è sufficiente per farmi arrivare al traguardo senza qualche informazione in più.

Quindi usando questo metodo si crea solo l’utente, ma anche se staged=true invia l’invito via email?

La risposta più semplice è sempre la migliore:

Quindi useremo quello per le nostre esigenze occasionali.
Grazie per l’aiuto.

2 Mi Piace