You are not logged in.
Pages: 1
Hola,
Estoy generando un ticket mediante API, ya que la fuente de tickets para mis usuarios será un formulario. Las respuestas se enviarán por correo una vez que un técnico necesite aclaraciones o tenga dudas. Todo está funcionando: la creación del ticket, el flujo desde el formulario hacia Power Automate y luego hacia un archivo PHP que genera el ticket en GLPI mediante la API.
Sin embargo, tengo un pequeño inconveniente. No consigo rellenar el campo del solicitante en la sección de actores. Tengo el correo del solicitante que obtengo del formulario de Microsoft, lo cual debería ser suficiente, ya que he visto que no es necesario tener el usuario; simplemente se puede ingresar un correo electrónico en ese campo.
El problema surge cuando intento completar este campo con PHP, ya que no funciona como debería. A continuación, comparto la parte del código. Los datos se envían en formato JSON, y el correo llega correctamente, ya que lo puedo ver en la descripción del ticket.
Este es mi ticket data:
$ticket_data = [
'input' => [
'name' => $input_data['name'],
'priority' => getPriorityId($input_data['priority']),
'content' => $input_data['content']."----- solicitante: ".$input_data['email_solicitante'],
'actors' => [
[
'type' => 2, // Tipo 2 para solicitante
'users_id' => $input_data['email_solicitante'],
'use_email_notification' => true // Asegurarse de que se use la notificación por correo electrónico
]
]
]
];
He probado con varias formas pero no lo consigo, se que se puede poner con el id de usuario, pero claro no tengo el id y ademas lo mas problable es que el usuario no esté dado de alta en el sistema entonces quiero escribir el correo simplemente para que le vayan llegando notificaciones, progresos...
Gracias.
Offline
Por si a alguien le sirve, he resuelto el problema accediendo directamente a la base de datos para obtener el ID del usuario utilizando el correo electrónico, ya que es el único dato que tengo de los usuarios que completan el formulario. Para quienes puedan estar en una situación similar, los correos se encuentran en la tabla glpi_useremails. En caso de que el usuario no exista, lo creo directamente en la base de datos añadiéndolo en glpi_users, glpi_useremails y glpi_profiles_users, asignándole los permisos necesarios para que aparezca en el campo de autores > solicitantes. En mi caso, le asigno el perfil con el ID 1, que corresponde al perfil de self-service.
Offline
Pages: 1