Mandar correo de notificación a los clientes.

Locked
AVillar
Znuny newbie
Posts: 37
Joined: 10 Apr 2012, 15:47
Znuny Version: 3.0.6

Mandar correo de notificación a los clientes.

Post by AVillar »

Buenas tardes a todos.

Este es mi primer post en esta comunidad. Estoy escribiendo después de haber leído unos cuantos threads sin llegar a ninguna conclusión.

Vamos al grano:
. Necesito mandar por correo electrónico una notificación a los clientes que tienen tickets en estado "pendiente auto close+" un tiempo fijo antes de que estos tickets sean cerrados.

Cualquier ayuda es bienvenida, y desde ya, muchas gracias.-
miguelmz
Znuny wizard
Posts: 370
Joined: 17 Nov 2011, 17:46
Znuny Version: 6.0.10
Real Name: Miguel
Company: SIA
Location: Madrid, Spain.

Re: Mandar correo de notificación a los clientes.

Post by miguelmz »

LAs notficiaciones estan pensadas para saltar por estados o eventos no por tiempo. Unicamente lo que se me puede ocurrir asi de primeras es realizar una tarea del agente generico que cuando le quede poco para cerrar el ticket te modifique el estado del ticket a otro cualquiera. Este estado le tendras recogido en Notificaciones (Evento) y te enviara la notificacion y despues una 2º tarea del agente generico que si digamos faltaban 20min para cerrar ticket, te cambie el estado nuevamente a closed sirviendote de el sla estandar de actualizacion por ejemplo.
We want OTRS certifications in Spain!!

Check out my free addons! :mrgreen:
AVillar
Znuny newbie
Posts: 37
Joined: 10 Apr 2012, 15:47
Znuny Version: 3.0.6

Re: Mandar correo de notificación a los clientes.

Post by AVillar »

Buen día Miguel, muchas gracias por tu respuesta!

A ver, ¿es posible que cuando esta en 'pending auto close+', antes de pasar a 'closed', pase a un nuevo estado 'alert' y despues pase a efectivamente a 'closed'? El mail se mandaría cuando pase de 'pending auto close+' a 'alert'.

Otra opción es pasar todos los tickets a un estado llamado 'pendiente alerta' y luego de un tiempo determinado, cambie de estado automáticamente a 'pendiente auto close+' y luego se cierre. El mail de notificación se enviaría cuando pasa de 'pendiente alerta' a 'pendiente auto close+'.

¿Es posible configurar alguno de estos casos?
Visp
Znuny newbie
Posts: 14
Joined: 17 Apr 2012, 17:27
Znuny Version: 3.2.1
Real Name: Adrián
Location: Valencia, Spain

Re: Mandar correo de notificación a los clientes.

Post by Visp »

Puedes crear otro estado para dichos tickets y cuando los tickets se actualicen al nuevo estado, que se envíe la notificación a los clientes de esos tickets.

Yo en el sistema lo tengo así y funciona sin problemas.
AVillar
Znuny newbie
Posts: 37
Joined: 10 Apr 2012, 15:47
Znuny Version: 3.0.6

Re: Mandar correo de notificación a los clientes.

Post by AVillar »

Buenas tardes Visp. Muchas gracias por responder.

¿El cambio de estados se haría automático o lo haría un agente manualmente?

¿Como hago eso exactamente? Entiendo el concepto, pero no se como implementarlo en la configuración de OTRS.

Saludos.-
miguelmz
Znuny wizard
Posts: 370
Joined: 17 Nov 2011, 17:46
Znuny Version: 6.0.10
Real Name: Miguel
Company: SIA
Location: Madrid, Spain.

Re: Mandar correo de notificación a los clientes.

Post by miguelmz »

Los cambios de estados pueden ser manuales por un agente haciendo un reply por ejemplo (de forma estandar, pero se puede extender a otras acciones del agente). No obstante tienes una utilidad llamada Agente Generio que te hace acciones de un agente de forma automatica en funcion de los parametros que escogas.

Para que el agente generico funcione debes poner la actividad del cron que se te detalla en la documentacion la primera vez que instalas el otrs
http://doc.otrs.org/3.1/en/html/manual- ... l#cronjobs

Echale un vistazo.

Un saludo.
We want OTRS certifications in Spain!!

Check out my free addons! :mrgreen:
AVillar
Znuny newbie
Posts: 37
Joined: 10 Apr 2012, 15:47
Znuny Version: 3.0.6

Re: Mandar correo de notificación a los clientes.

Post by AVillar »

Miguel, gracias por la respuesta, pero no entendí como poner la actividad del cron, leí la documentación, pero no me quedo claro. ¿Podrías explayarte un poco?

Desde ya, muchas gracias.-
AVillar
Znuny newbie
Posts: 37
Joined: 10 Apr 2012, 15:47
Znuny Version: 3.0.6

Re: Mandar correo de notificación a los clientes.

Post by AVillar »

En resumen, hice esto:

. Cree un nuevo estado llamado 'Pendiente Alerta'. Este estado es del tipo 'Pending reminder'.
. Luego cree una notificación por email para los clientes. Esta envía un email a los clientes cundo un ticket pasa al estado 'pending auto close+'.

. Por último, cree una tarea en el agente generico que cambia del estado 'Pendiente Alerta' al estado 'pending auto close+'. Hasta acá, esta todo perfecto, pero hay un problema con el filtro de tickets del agente. Estoy tratando de usar las opciones de 'pending times' que tiene el filtro. Cuando selecciono 'tiempo de pendiente del Ticket alcanzado', yo entiendo que esto se va a disparar dentro de las últimas 10 horas antes de que al ticket se le acabe el tiempo. Lamentablemente, esto no es asi. Cuando selecciono 'último', el agente me selecciona todos los tickets en estado 'Pendiente Alerta'. Cuando selecciono 'antes', el agente no me selecciona ninguno, indiferentemente si elija un minuto o 10 días. Por favor vean la imagen.

Image

Cualquier ayuda es bienvenida, y desde ya, muchas gracias.-
You do not have the required permissions to view the files attached to this post.
AVillar
Znuny newbie
Posts: 37
Joined: 10 Apr 2012, 15:47
Znuny Version: 3.0.6

Re: Mandar correo de notificación a los clientes.

Post by AVillar »

Buenas tardes a todos.

Como no obtuve respuesta, y no logre hacer funcionar la tarea del agente generico como esperaba, me puse a hacer unas pruebas.

Dentro de Sysconfig -> Core::Ticket -> Ticket::StateAfterPending, encontre que puedo poner el estado que va a cambiar un ticket del tipo pending auto cuando termine su tiempo.
Entonces cambie el tipo de estado de 'Pendiente Alerta' de 'pending reminder' a 'pending auto'.
Luego de eso agregue que el estado (key) 'Pendiente Alerta' pase al nuevo estado (Content) 'pending auto close+'. Lamentablemente, este cambio de estado automático no funciona.

Adjunte una imagen mostrando la linea que agregue.

¿Alguien sabe que es lo que estoy haciendo mal? ¿Acaso estoy ante un bug del sistema?

Desde ya, muchas gracias y buen fin de semana para todos!
You do not have the required permissions to view the files attached to this post.
miguelmz
Znuny wizard
Posts: 370
Joined: 17 Nov 2011, 17:46
Znuny Version: 6.0.10
Real Name: Miguel
Company: SIA
Location: Madrid, Spain.

Re: Mandar correo de notificación a los clientes.

Post by miguelmz »

Buenas,

No creo que se trate de un bug, sencillamente no reconocera ese nuevo estado como pending porque probablemente en el perl que realiza esa funcion este a pelo para los 3 tipos de pending.

Cuando realizas un Job del Agente Generico, la primera vez que metes el jjob siempre te van a salir todos con esa configuracion. El hecho de colocar un tiempo antes o ultimo es en funcion de la ejecucion del Agente Generico no del Ticket.
Esto quiere decir que una vez aplicado, el ticket sera colocado en ese estado pending alerta y cuando su descuento de tiempo llegue a 0 se quedara asi; Paralelamente, el agente generico se estara lanzando sucesivas veces segun los tiempos que le hayas definido en el schedule, cuando toque su ejecucion hace una revision desde la fecha de esa ejecucion hacia atras, si el descuento ha llegado a 0 en ese intervalo actua, sino no.

La diferencia entre ultimo y antes en este caso, por las pruebas que he hecho parece que el antes se ejecuta repetidamente, pero el ultimo solo una vez por tiket, desconozco su apreciacion internamente, pero para tus pruebas que es un cambio de estado cualquiera te vale.

Otra posibilidad si lo ves imposible por estos caminos es realizarte un script contra la bbdd en x tiempo que te revise los cmapos until_time de la tabla ticket, estos campos contienen la fecha pendiente en formato unixtime. Por lo que podrias realizar un calculo de diferencia de esa hora y la del sistema para ver cuando se cumple que sean los x min antes y despues realizar una actualizacion de dichos tickets al nuevo estado. Todo esto, para el tema de cambiar estados pending alerta a pending close (que es lo que debiera hacerte el agente generico), para las notificaciones, sigue siendo necesario lo anterior por eventos de cambio de estado.


Respecto a lo del cron, pon esto en linea comandos:
- cd /opt/otrs/var/cron
- for foo in *.dist; do cp $foo 'basename $foo .dist'; done
- cd /opt/otrs/bin/
- su otrs
- ./Cron.sh start
Para modificar los tiempos de ejecucion del agente generico a 1min, metete como usuario otrs y haz crontab -e, busca
*/10 * * * * /opt/otrs/bin/otrs.GenericAgent.pl -c db >> /dev/null y ponlo asi */1 * * * * /opt/otrs/bin/otrs.GenericAgent.pl -c db >> /dev/null

Un saludo.
We want OTRS certifications in Spain!!

Check out my free addons! :mrgreen:
AVillar
Znuny newbie
Posts: 37
Joined: 10 Apr 2012, 15:47
Znuny Version: 3.0.6

Re: Mandar correo de notificación a los clientes.

Post by AVillar »

Buenas tardes a todos. Logre que el Agente Generico cambie de estado automaticamente de 'Pendiente Alerta' a 'Pendiente auto close+'. Luego de un tiempo, pasa los casos de 'Pendiente auto close+' a 'closed'.

Lo que no entiendo es como OTRS determina el tiempo para pasar de 'pendiente auto close+' a 'closed'.

Este es el resumen de los eventos:
Image

¿Alguien sabe porque tarda una hora y 49 minutos en cerrar el caso? Debería tardar 5 horas, como tengo configurado para todos los demás estados pending.

Saludos.-
You do not have the required permissions to view the files attached to this post.
miguelmz
Znuny wizard
Posts: 370
Joined: 17 Nov 2011, 17:46
Znuny Version: 6.0.10
Real Name: Miguel
Company: SIA
Location: Madrid, Spain.

Re: Mandar correo de notificación a los clientes.

Post by miguelmz »

Buena pregunta, ¿Seguro que pusiste 5 horas? ¿que hiciste exactamente?
We want OTRS certifications in Spain!!

Check out my free addons! :mrgreen:
AVillar
Znuny newbie
Posts: 37
Joined: 10 Apr 2012, 15:47
Znuny Version: 3.0.6

Re: Mandar correo de notificación a los clientes.

Post by AVillar »

Buenas tardes Miguel, muchas gracias por tu pronta respuesta.

Cuando pase manualmente de 'pending reminder' a 'pending alerta', le indique que termine el tiempo pendiente en 5 minutos, tardo 18 minutos en cambiar automáticamente el estado. El tiempo de pending del ticket en ese momento era de -13 minutos. Este tiempo realmente no me preocupa, ya que comprendo que depende de cuando se ejecute la tarea del agente generico.

Luego de ponerse en 'pending auto close+', tardo 1 hora 39 minutos en cerrarse. Yo esperaba que se cierre luego de 5 días como el resto de los casos que pongo manualmente en 'pending auto close+'.

Este tiempo lo defini en 432000 segundos (5 días) en Ticket::Frontend::PendingDiffTime.

Saludos y desde ya, muchas gracias!
AVillar
Znuny newbie
Posts: 37
Joined: 10 Apr 2012, 15:47
Znuny Version: 3.0.6

Re: Mandar correo de notificación a los clientes.

Post by AVillar »

¡Bump!
AVillar
Znuny newbie
Posts: 37
Joined: 10 Apr 2012, 15:47
Znuny Version: 3.0.6

Re: Mandar correo de notificación a los clientes.

Post by AVillar »

Migurl, Visp, ¿alguna idea?
miguelmz
Znuny wizard
Posts: 370
Joined: 17 Nov 2011, 17:46
Znuny Version: 6.0.10
Real Name: Miguel
Company: SIA
Location: Madrid, Spain.

Re: Mandar correo de notificación a los clientes.

Post by miguelmz »

La verdad es que no se que decirte, aparentemente lo tienes todo bien y me desconcierta que te funcione a mano y auto no.

Te diria que comprobaras tu configuracion en el cron el script otrs.PendingJobs.pl, pero esto no debiera ejecutarte directamente tickets que todavia no han alcanzado el tiempo pendiente :?
We want OTRS certifications in Spain!!

Check out my free addons! :mrgreen:
AVillar
Znuny newbie
Posts: 37
Joined: 10 Apr 2012, 15:47
Znuny Version: 3.0.6

Re: Mandar correo de notificación a los clientes.

Post by AVillar »

Al final logre solucionar el problema con la info en este thread:
. viewtopic.php?f=62&t=6843

Solo tuve que cambiar un - por un + en el archivo Kernel/System/Ticket.pm en la linea 4975:
$TimeStamp -= ( $Param{TicketPendingTimeOlderMinutes} * 60 );

Para que quede de esta manera:
$TimeStamp += ( $Param{TicketPendingTimeOlderMinutes} * 60 );

Muchas gracias a todos!!
Locked