Crear un usuario escalonado con una llamada a la API

No creo que puedan. Tendrían que registrarse y actualizar sus preferencias sobre ese tema o sus preferencias generales de notificación.

¿Hay alguna documentación sobre este endpoint? He buscado en la documentación de la API pero no está.

Estoy buscando una forma de crear un tema y asignarlo a un usuario específico (mediante el plugin discourse-assign).

También estoy pensando si la clave de la API debe ser para el sistema de usuarios o si puedo usar otro usuario con permisos mínimos (¿cuáles son esos mínimos requeridos?).

Solo esta publicación: Creating a staged user with an API call - #8 by blake

Esto es totalmente factible. Echa un vistazo a Reverse engineer the Discourse API y verás qué punto de conexión llama el plugin discourse-assign.

No, no necesita ser con el usuario del sistema. Solo necesitas un usuario con un nivel de confianza suficiente para crear y asignar temas.

Gracias por tu respuesta. Entiendo cómo asignar una publicación específica, pero ¿cómo puedo encontrar de manera fiable la publicación creada recientemente por el endpoint /admin/email/handle_mail? También parece que las llamadas recibidas se ponen en cola, por lo que no siempre podré encontrarla inmediatamente después de la primera llamada.

Correcto, ese endpoint no devuelve un topic_id.

¿Tienen que ser usuarios en etapa de prueba? ¿No podrías simplemente crear el usuario mediante la API y luego crear el tema? ¿O es que las personas que aún no tienen cuentas van a enviar correos a ese endpoint?

Se trata de un formulario de contacto público para diferentes productos, donde cada uno tiene un vendedor distinto. Quiero asignar un tema al vendedor específico y también denegar el acceso a los temas que no pertenecen a ese vendedor.

Tengo una pregunta desde la perspectiva de alguien que no es desarrollador.

Estoy usando Discourse como sistema de tickets de nuestra empresa y lo he configurado correctamente para crear nuevos temas de usuarios no registrados en nuestro foro de soporte.

Ocasionalmente, necesito crear un ticket en nombre de un cliente en lugar de que lo cree directamente.

¿Hay una forma sencilla paso a paso de hacer esto y crear un tema en nombre de alguien que no tiene una cuenta en el foro? No quiero que tengan una cuenta completa a menos que se registren por sí mismos.

Intentaría crear un tema a través del correo electrónico entrante:

De esta manera, se creará un usuario provisional al crear el tema.

Podrías crear el usuario provisional a través de la 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"

y luego crear el tema para el usuario, pero, en la acción de creación de usuario, Discourse enviará un correo electrónico de activación:

{“success”: true,“active”: false,“message”: “¡Casi has terminado! Enviamos un correo electrónico de activación a 2e6ac3603@example.com. Sigue las instrucciones del correo electrónico para activar tu cuenta. Si no llega, revisa tu carpeta de spam.”}

Entonces, ¿cada una de estas líneas está separada por un CR al final? ¿Y hay un doble espacio o una tabulación antes de cada barra invertida?
Lo siento, como dije, no soy desarrollador, así que solo mostrar este código no es suficiente para llevarme a la meta sin un poco de información adicional.

Entonces, ¿usar este método solo crea el usuario, pero a pesar de que staged=true, envía la invitación por correo electrónico?

La respuesta más sencilla siempre es la mejor:

Así que usaremos esa para nuestras necesidades ocasionales.
Gracias por la ayuda.