Création d'un utilisateur en stage via un appel API

Je ne pense pas qu’ils le puissent. Ils devraient s’inscrire et mettre à jour leurs préférences sur ce sujet ou leurs préférences de notification globales.

Existe-t-il une documentation sur ce point de terminaison ? J’ai cherché dans la documentation de l’API, mais elle n’y figure pas.

Je cherche un moyen de créer un sujet et de l’assigner à un utilisateur spécifique (via le plugin discourse-assign).

Je me demande aussi si la clé API doit être liée à un utilisateur système ou si je peux utiliser un autre utilisateur avec des permissions minimales (quelles sont les permissions minimales requises ?).

Justement, ce sujet : Creating a staged user with an API call - #8 by blake

C’est tout à fait réalisable. Jetez un œil à Reverse engineer the Discourse API et vous verrez quel point de terminaison le plugin discourse-assign utilise.

Non, cela n’a pas besoin d’être l’utilisateur système. Il vous suffit d’un utilisateur ayant un niveau de confiance suffisant pour créer et assigner des sujets.

Merci pour votre réponse. Je comprends comment attribuer un message spécifique, mais comment trouver de manière fiable un message créé par l’endpoint /admin/email/handle_mail ? Il semble également mettre en file d’attente les appels reçus, donc je ne le trouverai pas toujours immédiatement après le premier appel.

Exact, ce point de terminaison ne renvoie pas d’identifiant de sujet.

Doivent-ils impérativement être des utilisateurs en phase de test ? Ne pourriez-vous pas simplement créer l’utilisateur via l’API, puis créer un sujet ? Ou bien des personnes qui n’ont pas encore de compte vont-elles envoyer un e-mail à ce point de terminaison ?

Il s’agit d’un formulaire de contact public pour différents produits, chacun étant géré par un commerçant différent. Je souhaite assigner un sujet à un commerçant spécifique et également refuser l’accès aux sujets qui ne lui appartiennent pas.

J’ai une question du point de vue d’une personne non développeur.

J’utilise Discourse comme système de tickets pour notre entreprise et je l’ai configuré avec succès pour créer de nouveaux sujets à partir d’utilisateurs non enregistrés sur notre forum de support.

Parfois, j’ai besoin de créer un ticket pour un client au lieu qu’il le crée directement.

Existe-t-il une méthode simple, étape par étape, pour le faire et créer un sujet au nom de quelqu’un qui n’a pas encore de compte sur le forum ? Je ne veux pas qu’ils aient un compte complet, sauf s’ils s’en inscrivent un eux-mêmes.

J’essaierais de créer un sujet par e-mail entrant :

De cette façon, un utilisateur temporaire sera créé lors de la création du sujet.

Vous pourriez créer l’utilisateur temporaire via 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"

puis créer le sujet pour l’utilisateur, mais lors de l’action de création d’utilisateur, Discourse enverra alors un e-mail d’activation :

{“success”: true,“active”: false,“message”: “Vous êtes presque prêt ! Nous avons envoyé un e-mail d'activation à 2e6ac3603@example.com. Veuillez suivre les instructions dans l'e-mail pour activer votre compte. S'il n'arrive pas, vérifiez votre dossier spam.”}

Donc, chacune de ces lignes est séparée par un CR à la fin ? Et y a-t-il un double espace, ou une tabulation avant chaque barre oblique inverse ?
Désolé, comme je l’ai dit, je ne suis pas un développeur, donc montrer ce code n’est pas suffisant pour m’aider sans un peu d’informations supplémentaires.

Donc, en utilisant cette méthode, on crée juste l’utilisateur, mais même si staged=true, il envoie l’e-mail d’invitation ?

La réponse la plus simple est toujours la meilleure :

Nous utiliserons donc cela pour nos besoins occasionnels.
Merci pour votre aide.