I’d like to be able to create messages that are assigned to specific users. Is this something that is possible already and I am missing something, or that you would consider adding?
I am not seeing reference to the assign plugin in the API docs. Seems to me an e.g. assigned_to=usernname should be an option.
The background to this is that I am using discourse as a ticket system, using @angus’s Tickets Plugin 🎟. The easiest way for me to allow members to create tickets is to create a gravity form in wordpress that creates the message in discourse. I know this can work and I have the rest of it lined up, just not the ability to assign tickets to specific users upon creation.
Necesito crear temas mediante la API como usuarios en etapa (el remitente no necesita tener una cuenta en Discourse), por lo que debo hacerlo a través del endpoint /admin/email/handle_mail. Sin embargo, este no devuelve el ID del tema y parece funcionar en lotes.
¿Cuál es la mejor manera de asignar ese tema?
Lo ideal para mí sería que el endpoint /admin/email/handle_mail pudiera aceptar un campo de asignación.
Estoy usando el plugin Discourse Assign y logré hacerlo, aquí está el código de Python:
import requests
# Puedes obtener esto invirtiendo la ingeniería de la solicitud de asignación y verificando los parámetros y valores en la consola como alguien mencionó antes :)
base_url = 'TU_URL'
endpoint = '/assign/assign'
payload = {
'username': 'NOMBRE_DE_USUARIO', # El nombre de usuario de la persona a la que quieres asignar el tema
'group_name': '',
'target_id': NUMERO_DEL_TEMA,
'target_type': 'Topic'
}
headers = {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
'Referer': 'URL_DEL_TEMA',
'Accept': '*/*',
'Api-Key': 'TU_API_KEY',
'Api-Username': 'TU_NOMBRE_DE_USUARIO'
}
response = requests.put(f"{base_url}{endpoint}", data=payload, headers=headers)
if response.status_code == 200:
print("¡Asignación exitosa!")
else:
print(f"La asignación falló con el código de estado {response.status_code}: {response.text}")