Envío automático de Emails usando Documentos Dinámicos
Los documentos dinámicos tienen la capacidad de leer datos de una amplia variedad de fuentes en todo Dinaup, lo que los hace muy potentes para diferentes usos.
En este apartado se verá como se pueden crear documentos dinámicos autoejecutables, que se lanzan después de qué ocurra algún evento en el sistema, como alta de un nuevo cliente, cambio de la prioridad de alguna tarea, etc.
Confección de un Email mediante un Documento Dinámico
A continuación, se va a crear un documento dinámico encargado de enviar un Email al administrador de un proyecto cada vez que se registre un nuevo ticket con prioridad crítica en uno de sus proyectos.
Componentes reutilizables
Primero se van a crear componentes reutilizables, en este caso el encabezado y el pié de página común para todos los emails.
Muévete al código y escribe el código en formato HTML. También puedes definir los estilos que se van a usar.
Algunas etiquetas del body se dejan abiertas, ya que dentro irá el contenido de los emails. Estas etiquetas se cerrarán en el componente de pie de página.
Cierra todas las etiquetas abiertas del encabezado
Dale a ✔ Aceptar.
Condiciones del documento
Antes de seguir con la confección, es importante tener en cuenta las condiciones que debe cumplir el documento para que el sistema lo ejecute.
Tener una única variable de tipo Relación
Mediante esta variable, el sistema identifica la sección que estás monitorizando, para que cuando ocurra algún evento, revise si debe ser ejecutado según las condiciones definidas en el próximo punto.
Puedes llamar a la variable como quieras, aunque se recomienda llamarlo igual que la sección relacionada, en este caso Ticket.
Modifica el Formato de la variable a Tipo Relación y busca la sección correspondiente, en este caso Tickets & Soporte.
Dale a ✔ Aplicar.
En el código tienes acceso a esta variable, que resulta muy útil, ya que no solo puedes acceder a los valores propios del Ticket por ejemplo, sino que puedes llegar hasta el Lider del proyecto al que afecta dicho ticket, que forma parte de otra sección.
Condiciones para la ejecución el documento
Ahora que, gracias a la variable anterior, el sistema sabe qué sección debe monitorizar, hace falta indicar que tipo de eventos se tendrían que producir para que se ejecute.
Estas condiciones pueden ser, por ejemplo, que el campo Prioridad de un elemento de la sección monitorizada (Tickets) haya cambiado su valor y ha pasado de normal a crítica.
Se pueden definir tantas condiciones como el usuario quiera.
El tipo de evento ➡ F.InitializeTrigger(n)
n = 1 (Agregar): Se lanza cuando se agregue un registro nuevo.
n = 2 (Editar): Se lanza cuando se edite un registro existente.
n = 0 (Todos): Se lanza en cualquiera de los 2 casos anteriores.
Este campo debe estar rellenado ➡ F.TriggerIfFieldsFilled(campo.id)
El valor de este campo ha cambiado ➡ F.TriggerOnFieldChange(campo.id)
Obtener la ID del email emisor
Normalmente, para enviar los emails desde cualquier sistema de mensajería, debes estar logueado con tu usuario y contraseña. En Dinaup no es diferente, se necesita el email y la clave, pero teniendo en cuenta que no es conveniente poner en texto plano la clave, Dinaup proporciona una manera simple de obtener acceso al email, accediendo únicamente a la ID de estas.
Busca la siguiente sección en Dinaup y abrelo.
Haz doble click sobre el email del que quieras obtener la ID.
Una vez abierto, sigue los pasos de la imagen.
Al disponer de esta ID, puedes enviar los emails a través de documentos dinámicos sin necesidad de especificar la dirección email o la clave.
Confección del documento completo
Aquí se unirán los 2 componentes creados anteriormente más el contenido del email.
Muévete a la pestaña Código y borra todo lo que hay dentro, crearemos nuestro documento de cero.
Añade los componentes de encabezado y pié de página de la siguiente manera. Todo el contenido siguiente irá entre estas 2 etiquetas
Añade las condiciones que determinarán si se va a ejecutar este documento o no. Si alguna de estas comprobaciones no es cierta, el documento dinámico no seguirá ejecutandose y, por tanto, no mandará ningún email.
F.InitializeTrigger(0)
Registra el documento dinámico para ser ejecutado siempre que se agrega o se modifica algún ticket