Creazione di un utente in staging tramite chiamata API

Non credo che possano. Dovrebbero registrarsi e aggiornare le proprie preferenze su quell’argomento o le preferenze generali per le notifiche.

Esistono delle documentazioni su questo endpoint? Ho cercato nella documentazione API ma non l’ho trovata.

Sto cercando un modo per creare un argomento e assegnarlo a un utente specifico (tramite il plugin discourse-assign).

Sto anche pensando se la chiave API debba essere per il sistema utente o se possa utilizzare un altro utente con permessi minimi (quali sono i requisiti minimi?).

Solo questo post: Creating a staged user with an API call - #8 by blake

È assolutamente fattibile. Dai un’occhiata a Reverse engineer the Discourse API e vedrai quale endpoint viene chiamato dal plugin discourse-assign.

No, non deve per forza essere l’utente di sistema. Ti serve solo un utente con un livello di fiducia sufficiente per creare e assegnare argomenti.

Grazie per la risposta. Capisco come assegnare un post specifico, ma come posso trovare in modo affidabile un post appena creato dall’endpoint /admin/email/handle_mail? Sembra anche che metta in coda le chiamate ricevute, quindi non lo troverò sempre immediatamente dopo la prima chiamata.

Corretto, quell’endpoint non restituisce un topic_id.

Devono essere per forza utenti in staging? Non potresti semplicemente creare l’utente tramite l’API e poi creare un topic? Oppure sono persone che non hanno ancora un account a inviare email a quell’endpoint?

Si tratta di un modulo di contatto pubblico per diversi prodotti, ognuno dei quali ha un merchant diverso. Voglio assegnare un argomento al merchant specifico e anche negare l’accesso agli argomenti che non appartengono a quel 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.

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.