Saltar al contenido

Notificación

Una notificación es un concepto a nivel de aplicación que permite a un desarrollador enviar una notificación o mensaje a un usuario. Este mensaje puede tener múltiples opciones que definen cómo el Usuario puede responder al mensaje. Cuando opciones están presentes en una Notificación, Vinyl rastrea automáticamente la respuesta del Usuario. Las notificaciones admiten archivos adjuntos de cualquier tipo (por ejemplo, .PDF, .DOCX, .TXT, .XLSX, etc.). Si utiliza archivos adjuntos, la notificación utilizará el data/pdf directorio si no se especifica ningún otro directorio. Alternativamente, si especifica un FileDataSourceId, esta es la ubicación donde Vinyl buscará los archivos adjuntos.

Para utilizar los objetos de datos públicos necesarios para la notificación, su aplicación requiere que Vinilo (sellado) esté configurado como fuente de datos disponible para la aplicación. Además de ser una Fuente de Datos disponible para la aplicación, es necesario establecer o configurar un enlace entre las Fuentes de Datos.

En términos de qué URL se utiliza para enviar notificaciones, Vinyl utilizará la información de URL especificada en la Regla de notificación, si está disponible. Si no se encuentra, Vinyl recurrirá y utilizará la URL predeterminada del sitio del servidor. El valor predeterminado del sitio del servidor se configura desde IDE > Proveedores de seguridad > Más (desde el panel de Configuración) > Sitios. Para obtener más información sobre sitios y URL, consulte Sitios y alias artículo.

Nota

Los enlaces de notificación están activos de forma predeterminada durante 7 días. Después del período de 7 días, caducan y ya no son enlaces activos. Actualmente, esta no es una opción configurable en Vinyl.

Tipos de Mensajes

Una notificación puede utilizar uno de los siguientes tipos de mensajes:

  • Correo - No es de extrañar que sea un correo.
  • SMS: un mensaje SMS enviado y recibido por el servicio Twilio.
  • Vinyl Alert: una ventana emergente que aparece en el navegador del usuario cuando inicia sesión en Vinyl. Anteriormente llamado Notificación.

Todos los tipos de mensajes admiten la adición de opciones que brindan formas para que el usuario responda a un mensaje. Para Correos y alertas de Vinyl, las URLs se incluyen en el mensaje que enlace con Vinyl. En el caso del tipo de envío SMS, también podrás responder a un SMS con el nombre de la opción para ejecutar el evento asociado.

Es probable que las versiones futuras de Vinyl admitan el envío de mensajes a servidores REST.

Opciones

Las notificaciones pueden tener 0 o más opciones. Cuando una Notificación no contiene opciones, no se espera ninguna respuesta del Usuario y, en consecuencia, no se proporciona ningún seguimiento de la respuesta del Usuario. No se agregarán enlaces al mensaje saliente. Esto se considera una notificación informativa.

Cuando una Notificación contiene 1 o más opciones, se envía un mensaje con enlaces URL a Vinyl que permiten al Usuario responder de alguna manera. La notificación rastrea la respuesta del usuario al mensaje (es decir, qué opción seleccionó).

Configuración

Las opciones de notificación se pueden configurar de dos maneras:

  1. Enlace a la página: se proporciona un enlace que permite al usuario navegar a una página. Navegar con éxito a la página implica considerar una respuesta completa a la opción.
  2. Ejecutar evento de página: se proporciona un enlace que envía al usuario a una página y ejecuta un evento específico antes de que se represente la página. Nuevamente, la respuesta del Usuario se considera completa una vez que se activa el evento.

Para que una página sea elegible para cualquiera de las opciones anteriores, la página debe estar marcada como Compartida.

Como ejemplo, un Administrador puede ejecutar un evento que provoque que se envíe un correo a un Usuario final. El correo tiene algo de texto y tres botones:

  1. Revisar: al hacer clic en Revisar, el usuario puede acceder a una página específica en Vinyl.
  2. Aprobar: al hacer clic en Aprobar, se puede llevar al usuario a una página diferente Y ejecutar un evento en algunos objetos de datos de la página.
  3. Rechazar: hacer clic en Rechazar puede llevar al usuario a una página diferente Y ejecutar un evento en la misma página o en objetos de datos de páginas diferentes.

El evento debe ejecutarse antes de que se represente la página, ya que puede afectar los datos contenidos en los paneles de la página. Para ejecutar un evento, el desarrollador debe:

  • Configure la página Enlazar a como Compartida.
  • Incluir el evento en el objeto de datos de la página o como una de las fuentes de datos del panel de una sola fila en la página. Más ilustraciones de este punto están disponibles en la sección Enlace de eventos de objetos de datos a continuación.

Enlace de Eventos de Objetos de Datos

Vinyl limita los eventos que se pueden vincular a un enlace. Específicamente, esta limitación solo permite eventos que pertenecen a un objeto de datos/tabla que está vinculado a un panel de una sola fila independiente en la página de destino. Por ejemplo, consideremos una página que tiene 6 paneles de una sola fila:

  • Cliente -> Dirección del cliente -> Mapa del cliente
  • Empleado -> Dirección del empleado -> Mapa del empleado

En este ejemplo, los paneles Cliente y Empleado no están vinculados a ningún otro panel de la página. Por lo tanto, un desarrollador puede elegir eventos de esas dos fuentes de datos de paneles (junto con un objeto de datos de página si se especifica uno).

Vinyl también limita los eventos que pueden vincularse a eventos que no pertenecen al sistema. Por ejemplo, el desarrollador no puede enlace los eventos Guardar, Insertar, Actualizar o Eliminar.

Registro de Notificaciones

Vincular a una Notificación

La página Registro de notificaciones en Vinyl permite al desarrollador enlace una notificación a una aplicación. Esta es una relación de 1 a 1. Se puede configurar información adicional sobre el mensaje de notificación dentro del registro de notificación.

Creación de Mensajes

El mensaje de notificación se puede definir en la sección Plantilla de la página Registro de notificación. Este es el contenido principal de la propia notificación.

Las sustituciones se realizan en la Plantilla y utilizan el {{nombredecampo}} sintaxis. Las sustituciones pueden agregar un opcional url bandera para indicar que el valor es una URL y requiere codificación de URL, p. {{nombre de campo|url}}.

En cuanto a la sustitución, el cuerpo puede contener:

Hello {{NombreCliente}},

En cuyo caso, NombreDeCliente debe estar incluido en las columnas de la regla de notificación junto con los demás campos obligatorios.

Para los correos, se puede especificar un Asunto en la página Registro de notificaciones. El campo Asunto también admite sustituciones.

Traducciones

Las notificaciones admiten traducciones rudimentarias. Hay tres campos que se utilizan para las traducciones:

  1. Opción de notificación Nombre
  2. Registro de notificación Mensaje
  3. Registro de notificación Asunto (para Correos)

Al crear el mensaje de notificación, Vinyl intentará buscar traducciones para cada uno de estos campos, asumiendo que su contenido especifica la clave de traducción correspondiente. El desarrollador también debe agregar las claves al paquete de traducción de la aplicación manualmente (actualmente no se importan automáticamente para una aplicación). Se debe tener cuidado con el campo Plantilla para agregar la clave de traducción como una cadena sin formato y no como HTML. Hay un ícono de "código" en la parte inferior derecha del campo Plantilla de registro de notificación que le permite editar directamente la cadena.

Limitaciones

  1. El evento ejecutado en el enlace de opción pertenece a los datos de la página o a un objeto de datos del panel de una sola fila. Actualmente, no mostramos ningún resultado de validación ni publicamos mensajes para eventos a nivel de página. En otras palabras, el evento se ejecuta primero y, cuando finaliza, el usuario es redirigido a su página. Cuando llegan a su página, los resultados del evento se pierden. Por lo tanto, si el evento tiene un mensaje posterior o falla en la validación, el sistema no mostrará esos resultados al Usuario final. El desarrollador puede solucionar este problema fácilmente mostrando datos en sus paneles que cambian según la ejecución exitosa de un evento.

    Debido a la limitación anterior, las advertencias de validación harán que un evento no se ejecute. No contamos con una interfaz de usuario que permita al usuario aceptar o rechazar la advertencia.

  2. La tabla Archivo de una fuente de datos de Amazon S3 no se puede extraer mediante una regla de notificación.

Notificación de Objetos de Datos Públicos

Los objetos de datos públicos utilizados como objetivos de notificación se definen a continuación.

Columnas Comunes

Estas columnas son comunes en todos los objetos de datos públicos de notificación:

Nombre Obligatorio Objetivo múltiple Ejemplo Descripción
Encuadernación() No ID de cliente Si se proporciona, esto identificará el registro que coincide con la opción para esta notificación. Se pueden definir múltiples enlaces.

Correo

El objeto de datos públicos Correo es similar pero no es del todo coherente con la funcionalidad del complemento de Correo Smtp. Las columnas para el objeto de datos públicos Correo son las siguientes:

Nota

Si utiliza más de una dirección de Correo para enviar a o CC, separe los valores con un carácter de coma.

Nombre Obligatorio Objetivo múltiple Ejemplo Descripción
Para() 'usuario1@zudy.com,usuario2@zudy.com' Lista delimitada por comas de direcciones de correo a las que enviar. Se pueden orientar varios campos Para() para enviarlos a varios destinatarios (además de utilizar valores delimitados por comas). Se produce una excepción si este campo no se proporciona o es nulo.
CC() No 'usuario1@zudy.com,usuario2@zudy.com' Lista delimitada por comas de direcciones de correo para cc. De manera similar a To(), se pueden especificar múltiples destinos para la concatenación automática.
Desde No No 'noreply@zudy.com' Define la dirección de origen del correo. Si no se proporciona De, se utilizará la dirección de remitente definida en el registro Be_NotificationEndpoint.
URL de vinilo Depende No 'https://example.com/MyVinyl' VinylUrl es obligatorio si la notificación contiene opciones. Esta URL se utiliza al generar enlaces a las distintas opciones de notificación. Esta es la URL para llegar a Vinyl desde el punto de vista del receptor del mensaje. No requiere una barra diagonal.
Adjunto() No No 'alguna ruta/archivos/*' Si se proporciona, adjuntará archivos al correo. Si la cadena Adjunto() termina con un asterisco (*), se supone que la cadena representa una ruta de directorio y todos los archivos adjuntos en el directorio se adjuntarán al correo.
FileDataSourceId No No UUID Identificador único que hace referencia a la fuente de datos a la que se debe hacer referencia para localizar los archivos adjuntos.
Idioma No No 'es' Si se proporcionan, se intentarán realizar traducciones para los campos Plantilla y Asunto del Registro de notificación asociado. Además, se traducirá el nombre de las opciones de notificación.

Mensaje de Texto

El objeto de datos públicos Mensaje de texto se utiliza para enviar SMS. Las columnas para el objeto de datos públicos Mensaje de texto son las siguientes:

Nombre Obligatorio Objetivo múltiple Ejemplo Descripción
Para() '+15559990000' Un único número de teléfono en el formato esperado por Twilio. Se pueden orientar varios campos Para() para enviarlos a varios destinatarios. Se produce una excepción si este campo no se proporciona o es nulo.
Idioma No No 'es' Si se proporcionan, se intentarán realizar traducciones para el campo Plantilla del Registro de notificación asociado. Además, el nombre de las opciones de notificación se traducirá en una versión futura.

Alerta de Vinilo

El objeto de datos públicos de notificación Vinyl Alert es similar pero no totalmente coherente con el objeto de datos públicos Create_Notification. Las columnas del objeto de datos públicos Vinyl Alert son las siguientes:

Nombre Obligatorio Objetivo múltiple Ejemplo Descripción
Para() No todos Representa al Usuario al que le enviamos. Se produce una excepción si este campo no se proporciona o es nulo.

Puede usar expresiones especiales:

'session' para apuntar a la sesión del usuario actual
'all' para apuntar a todos los usuarios actualmente conectados a Vinyl.

Para enviar a un usuario de Vinyl específico, especifique el ID de usuario del usuario.
Desde No No quién('ID de usuario') De representa el usuario del que proviene este mensaje. Si no se proporciona, se asumirá que el Usuario ejecuta la acción.
Persistente No No 1 Valor booleano que indica si la alerta debe considerarse persistente. Este atributo solo es aplicable cuando se envía una alerta a un UserId. Todas las alertas tienen un botón Descartar que elimina la alerta del panel de notificaciones del Usuario. El Usuario puede ignorar la alerta o cerrar su ventana o cerrar sesión en Vinyl. Si persistente es verdadero (1), la alerta se mostrará repetidamente, cada vez que el Usuario inicie sesión en Vinyl, hasta que el Usuario descarte activamente la alerta. Utilice esta técnica para garantizar que el Usuario lea una alerta.
Tiempo de espera No No 15 Si se proporciona, el tiempo de espera representa la cantidad de tiempo (en segundos) que se debe esperar antes de cerrar automáticamente la ventana emergente de alerta.
SendToPushNotificationEnabledUser No No 0 Si se proporciona, la Alerta de Vinyl se puede configurar para enviarla solo a los Usuarios que no tienen un dispositivo habilitado para notificaciones automáticas. Esto permite a un desarrollador enviar una alerta de Vinyl y una notificación push en el mismo evento y evitar que un usuario reciba tanto una notificación de escritorio como una notificación push.

Notificación de Inserción

El objeto de datos públicos Notificación push permite que la notificación envíe una notificación push a un usuario. Las columnas del objeto de datos públicos Notificación push son las siguientes:

Nombre Obligatorio Objetivo múltiple Ejemplo Descripción
A No 85cc99ff-b4a6-4a32-bfeb-537d346ee52c To es el usuario (ID de usuario) al que le enviamos la notificación push. Si el Usuario no tiene un dispositivo de notificación automática, la regla de notificación seguirá teniendo éxito pero no se enviará ningún mensaje. Se produce una excepción si este campo no se proporciona o es nulo.
ToAppUserId No No 100 Si el usuario se indica mediante una identificación de usuario de la aplicación, este valor debe proporcionarse además del campo Para.
Desde No quién('ID de usuario') De representa el usuario del que proviene este mensaje.
Insignia No No 1 Si se proporciona, esto establecerá el número de credencial en el ícono de la aplicación.

Configuración de Notificación

Ejemplo de Configuración de Notificación

Pasos para configurar una notificación. Asumiremos que estamos agregando una Notificación de aprobación del cliente a la página Clientes de Northwinds.

Crear Notificación

Cree una regla dirigida a un objeto de datos públicos de notificación.

Pasos para Crear una Notificación

  • Vaya a App Workbench
  • Haga clic en Notificaciones
  • Haga clic en + Notificación
  • Asigne un Nombre. Por ejemplo Alerta de aprobación de solicitud de clientes
  • Confirmar que el propósito es Notificación
  • Seleccione Alerta de vinilo como objetivo. Si no ve este objeto de datos disponible, cree una conexión de fuente de datos a Vinyl (sellada) para la aplicación en la que está trabajando.
  • Clic en Guardar**

Definir Notificación Mvsql

  • Haga clic en el botón +Tablas
  • Agregue su tabla 'seleccionar de'. Por ejemplo Clientes
  • Agregue las siguientes columnas y haga clic en la pestaña Columnas para definir:
Columna Alias Objetivo
todos Para Para
"C".Id. de cliente ID de cliente Encuadernación()
"C".NombreCliente Nombre del cliente

Nota

Tenga en cuenta que agregamos NombreDeCliente para que luego podamos usarlo como parámetro de sustitución en nuestro mensaje de notificación.

Definir Opciones de Notificación

  • Vaya a App Workbench
  • Haga clic en Notificaciones
  • Seleccione la regla comercial de notificación. Por ejemplo: Alerta de aprobación de solicitud de cliente
  • Ingrese la información del mensaje para la notificación en el campo Cuerpo
    • Por ejemplo: revise el siguiente cliente:
    • Cliente: {{NombreCliente}}
  • Haga clic en el ícono lápiz e ingrese cualquier Ayuda técnica para ayudar a explicar la Notificación a otros desarrolladores.

Opcionalmente, defina una página de aterrizaje y un evento de prelanzamiento para ejecutar

  • Desde la página App Workbench > Notificaciones, seleccione Notificación
  • Haga clic en el botón + Opción
  • Crear una nueva opción.
    • Establecer Índice en 10
    • Establecer Nombre para revisar
    • Seleccione el valor Enlace a página. En nuestro ejemplo, enlace a la página 'Cliente' de Northwinds. Si la página a la que desea enlace no aparece, asegúrese de que esté marcada como "Compartida" en la configuración de Edge Case.
  • Haga clic en la marca de verificación para guardar el registro.

Registrar Notificación con un Evento

Registre la notificación como una acción con un evento. En este caso, asumimos que el evento está asociado con un botón en la página de inicio. También asumiremos que el evento se llama "Solicitar aprobación".

  • Navegue hasta el evento del objeto de datos.
  • Haga clic en el ícono Lógica de Negocios
  • Haga clic en el botón Eventos
  • Seleccione el Evento. Por ejemplo: Solicitar aprobación
  • Haga clic en Registrar existente en el panel Acciones
  • Seleccione Notificación como tipo de acción
  • Seleccione la Notificación que creamos en el paso anterior. Por ejemplo: Alerta de aprobación de solicitud de cliente
  • Clic en Guardar**
  • Verifique que los Enlaces explícitos sean correctos. Por ejemplo: IdCliente - IdCliente

¡pruébalo!

En este punto, la Notificación está completamente configurada. Navegue a su página y haga clic en el botón que ejecuta el evento de notificación. Todos los usuarios de Vinyl en el sistema deberían ver una ventana emergente con el mensaje de notificación.

Configuración de Notificación por SMS

Pasos para configurar una notificación por SMS. Asumiremos que estamos agregando una Notificación de aprobación del cliente a la página Clientes de Northwinds.

Necesitará acceso a una cuenta de Twilio para completar la configuración.

Configurar la Seguridad del Vinilo

  • Vaya a IDE > Proveedores de seguridad
  • Haga clic en + Autenticación de usuario en el panel de Autenticación de usuario.
    • Ingrese un Nombre (por ejemplo, "Autenticación básica HTTP")
    • Seleccione "Autenticación básica HTTP" como Tipo
    • Haga clic en "Activado" para habilitar
    • Haga clic en Guardar
  • Vaya a IDE > Administración de usuarios
    • Haga doble clic en el registro de usuario que desea autenticar cuando llegue una respuesta por SMS.
    • Tenga en cuenta que este Usuario debe tener acceso a lo siguiente:
      • Aplicación de vinilo
      • El evento que se ejecutará en la notificación misma
  • Haga clic en el icono Claves de Autenticación.
  • Haga clic en Crear
  • Seleccione el proveedor de "Autenticación básica HTTP" creado anteriormente
  • Clic en Guardar**

Nota

La "Clave" secreta que se crea para este proveedor. La combinación del nombre de usuario y la clave secreta se utilizará al configurar Twilio.

Configurar Twilio

Crear Servicio de Mensajería
  • Inicie sesión en su cuenta Twilio
  • Vaya a Nube de comunicaciones > SMS programables
  • Haga clic en Servicios de mensajería
  • Cree un nuevo servicio de mensajería (notificaciones, bidireccional) y adjunte un número de teléfono de Twilio.
  • Anota el MessagingServiceSid. Esto se utilizará para la configuración más adelante.
  • Habilite la opción "Procesar mensaje entrante"
  • Ingrese la siguiente URL de solicitud:
    • https://:@/webhook/v1/vinyl/bridge_inbound
    • Por ejemplo, https://admin:P124asfgOmkA@vinyl.zudy.com/webhook/v1/vinyl/bridge_inbound
Reúna las Credenciales de Twilio
  • Vaya a Panel de consola > Configuración
  • Anota las credenciales LIVE:
    • ID de cuenta
    • Token de autenticación
Configurar el Extremo de SMS de Vinyl
  • Vaya a IDE > Servidores de notificaciones
  • Haga doble clic en el registro 'SMS'
  • Agregue la siguiente configuración:
    • Nombre de usuario -> ID de cuenta de Twilio
    • Contraseña -> Token de autenticación de Twilio
    • MessagingServiceSid -> Twilio Messaging Service Sid
Configurar la URL del Sitio Web de Vinyl
  • Vaya a IDE > Proveedores de seguridad
  • En Configuración, haga clic en Más > Sitios
  • Haga clic en + Sitio
  • Establezca el valor de la URL en la URL de su sitio web. Por ejemplo: https://vinyl.zudy.com
  • Clic en Guardar**

Configurar la Notificación por SMS de Vinyl

Crear Notificación

Cree una regla dirigida a un objeto de datos públicos de notificación.

Pasos para Crear una Notificación
  • Vaya a App Workbench > Notificaciones
  • Haga clic en + Notificación
  • Asigna un Nombre
  • Seleccione Notificación como Propósito
  • Seleccione Mensaje de texto como destino. Si no ve este objeto de datos disponible, cree una conexión de fuente de datos a Vinyl (sellada) para la aplicación en la que está trabajando.
  • Clic en Guardar**
Definir Notificación Mvsql
  • Haga clic en el botón +Tabla y agregue la tabla que requiere la regla.

    • Por ejemplo, clientes
  • Haga clic en la pestaña Columnas y agregue las siguientes columnas:

Columna Alias Objetivo
'+15551112222' (reemplace con su número de teléfono) Para() Para()
"C".Id. de cliente ID de cliente Encuadernación()
"C".NombreCliente Nombre del cliente

Nota

Agregamos "NombreDeCliente" para poder usarlo luego como parámetro de sustitución en nuestro mensaje de Notificación.

Definir Opciones de Notificación

Además de definir la información del Mensaje, definiremos dos opciones para este ejemplo de Notificación. Uno que se activa respondiendo al SMS, otro que es un enlace a una página.

  • Haga clic en la pestaña de navegación Notificación
  • Ingrese el siguiente mensaje en el cuerpo del mensaje:
Reply {{1}} to approve {{NombreCliente}}. Review {{Revisión}}
  • Haga clic en el botón +Opción del panel de Opciones
    • Establecer Índice en 10
    • Establecer Nombre para revisar
    • Seleccione la página a la que enlace. En nuestro ejemplo, enlace a la página 'Cliente' de Northwinds. Si la página a la que desea enlace no aparece, asegúrese de que esté marcada como "Compartida" en la configuración de Edge Case.
    • Establezca la opción Tipo en 'Enlace'
  • Haga clic en el botón +Opción del panel de Opciones
    • Establecer Índice en 20
    • Establecer Nombre en 1
    • Seleccione la página a la que enlace. En nuestro ejemplo, nos enlace a la página 'Cliente' de Northwinds y ejecutaremos el evento 'Aprobar'.
    • Establezca la opción Tipo en 'Respuesta por SMS'

Registrar Notificación con un Evento

Registre la notificación como una acción con un evento. En este caso, asumimos que el evento está asociado con un botón en la página de inicio. También asumiremos que el evento se llama "Solicitar aprobación".

  • Navegue hasta el evento del objeto de datos.
  • Haga clic en el ícono Lógica de Negocios
  • Haga clic en el botón Eventos
  • Seleccione el Evento. Por ejemplo: Solicitar aprobación
  • Haga clic en Registrar existente en el panel Acciones
  • Seleccione Notificación como Tipo de acción
  • Seleccione la Notificación que creamos en el paso anterior. Por ejemplo: Customer_RequestApprovalSms
  • Clic en Guardar**
  • Verifique que los Enlaces explícitos sean correctos. Por ejemplo: p.ej. CustomerId - CustomerId

Configurar Notificaciones Push

Las notificaciones push se configuran de manera similar a otras notificaciones en Vinyl. El administrador del servidor Vinyl debe configurar correctamente el extremo de notificaciones push para que funcionen como se espera.

Si está configurando notificaciones automáticas con Blabber API, debe descargar la aplicación complementaria de iOS, iniciar sesión en el servidor correspondiente con las credenciales adecuadas y habilitar las notificaciones automáticas en la aplicación misma. Además, se requiere una clave API para completar la configuración.

¡pruébalo!

En este punto, la Notificación está completamente configurada. Navegue a su página y haga clic en el botón que ejecuta el evento de notificación.