Last modified: 2023-09-20

Notificador de eventos

Para descargar la muestra de código completa, consulte nuestro sitio Code Share.

Cuando la Signer Experience está incrustada en un iFrame, el Event Notifier envía notificaciones a la ventana principal cuando se activan acciones específicas. Con estas notificaciones, puede interrumpir el flujo de trabajo típico de OneSpan Sign con su propia lógica personalizada y, a continuación, reanudar las actividades normales. Resulta útil si desea que ocurra algo después de que se cumplan ciertos pasos de la Signer Experience, por ejemplo, redirigir a un firmante a una página web diferente una vez que haya completado la firma.

Escucha de eventos de OneSpan Sign

Para crear un Event Notifier , su aplicación debe estar escuchando eventos de mensajes de OneSpan Sign. Para configurarlo, use este comando, usando JavaScript simple: 

window.addEventListener('message', receiveMessage, false);

Para obtener más información acerca de cómo permitir la comunicación de origen cruzado entre la ventana principal y un iFrame, haga clic aquí.

Recibir mensajes

A continuación, defina la función receiveMessage de la siguiente manera:

function receiveMessage(event) {
      var origin = event.origin || event.originalEvent.origin;
      var data = event.data;
      console.log(data, origin);
 
      switch (data) {
            case 'ESL:MESSAGE:REGISTER':
                  event.source.postMessage('ESL:MESSAGE:ACTIVATE_EVENTS', origin);
                  break;
            default:
                  event.source.postMessage(data, origin)
                  break;
      }
}

Si no configura su sistema para que escuche ESL:MESSAGE:REGISTER y devuelva ESL:MESSAGE:ACTIVATE_EVENTS, no podrá recibir más eventos. Debe incluir lo siguiente en su función receiveMessage.

  case 'ESL:MESSAGE:REGISTER':
				event.source.postMessage('ESL:MESSAGE:ACTIVATE_EVENTS', origin);
				break;
				default:
				event.source.postMessage(data, origin)
			break;

Este es el código mínimo necesario para configurar un Event Notifier, donde el primer caso de cambio indica explícitamente a OneSpan Sign que se desea registrar la escucha de eventos.

Resultados

Un uso común de un Event Notifier puede ser redirigir a un firmante a otra página una vez que haya completado la firma. A continuación, se muestra un ejemplo de cómo se haría:

case 'ESL:MESSAGE:SUCCESS:SIGNER_COMPLETE ':
	event.source.postMessage(data, origin);
	window.location.href = "https://www.example.com"; //redirect page
	break;

Interrupción de la actividad de OneSpan Sign

Al usar un Event Notifier, algunos eventos se pueden detener temporalmente. A continuación, se muestra un código de ejemplo que muestra cómo hacerlo:

switch (data) {
   ...
   case 'ESL:MESSAGE:STARTED:DOCUMENT_NAVIGATION':
     // Do some customized tasks, then notify OneSpan Sign of the same event.
     setTimeout(function(){
       event.source.postMessage(data, origin);
     }, 5000);
     break;
   ...
}

Para aquellos eventos que se pueden interrumpir, OneSpan Sign no reanudará su actividad normal hasta que su contenedor principal publique el mismo mensaje definido por la línea event.source.postMessage(data, origin).

Para obtener más información acerca de los eventos que se pueden interrumpir, consulte Tipos de eventos de notificación.

Tipos de eventos de notificación

En la siguiente tabla, se describen los tipos de eventos de notificación que el Event Notifier puede escuchar.

Nombre del evento Descripción ¿Se puede detener temporalmente el evento?
ESL:MESSAGE:STARTED:DOCUMENT_ACCEPT Un firmante comenzó a aceptar un consentimiento o divulgación. No
ESL:MESSAGE:SUCCESS:DOCUMENT_ACCEPT Un firmante aceptó con éxito un consentimiento o divulgación.
ESL:MESSAGE:ERROR:DOCUMENT_ACCEPT Un firmante fracasó en su intento de aceptar un consentimiento o una divulgación. No
ESL:MESSAGE:STARTED:PACKAGE_OPT_OUT Un firmante comenzó a autoexcluirse de una transacción. No
ESL:MESSAGE:SUCCESS:PACKAGE_OPT_OUT Un firmante se autoexcluyó con éxito de una transacción.
ESL:MESSAGE:ERROR:PACKAGE_OPT_OUT Un firmante fracasó en su intento de autoexcluirse de una transacción. No
ESL:MESSAGE:STARTED:PACKAGE_DECLINE Un firmante comenzó a rechazar una transacción. No
ESL:MESSAGE:SUCCESS:PACKAGE_DECLINE Un firmante rechazó con éxito una transacción.
ESL:MESSAGE:ERROR:PACKAGE_DECLINE Un firmante fracasó en su intento de rechazar una transacción. No
ESL:MESSAGE:SUCCESS:DOCUMENT_VIEW:<document Id> Un firmante ha visto un documento. No
ESL:MESSAGE:STARTED:DOCUMENT_CONFIRM Un firmante comenzó a confirmar un documento. No
ESL:MESSAGE:SUCCESS:DOCUMENT_CONFIRM Un firmante confirmó con éxito un documento.
ESL:MESSAGE:ERROR:DOCUMENT_CONFIRM Un firmante fracasó en su intento de confirmar un documento. No
ESL:MESSAGE:STARTED:SIGNER_COMPLETE Un firmante comenzó a completar una transacción.
ESL:MESSAGE:SUCCESS:SIGNER_COMPLETE Un firmante completó con éxito una transacción. No
ESL:MESSAGE:STARTED:SIGNER_COMPLETE_REVIEWED Un firmante comenzó a revisar documentos.
ESL:MESSAGE:SUCCESS:SIGNER_COMPLETE_REVIEWED Un firmante terminó de revisar los documentos. No
ESL:MESSAGE:STARTED:DOCUMENT_NAVIGATION El usuario comenzó a navegar a otro documento.
ESL:MESSAGE:SUCCESS:DOCUMENT_NAVIGATION El usuario navegó con éxito a otro documento. No

Este es el orden esperado de los eventos para una transacción típica con un firmante externo, un Documento de Consentimiento por defecto y un documento a firmar:

ESL:MESSAGE:REGISTER

ESL:MESSAGE:SUCCESS:DOCUMENT_NAVIGATION

ESL:MESSAGE:SUCCESS:DOCUMENT_VIEW

ESL:MESSAGE:STARTED:ACCEPT

ESL:MESSAGE:SUCCESS:ACCEPT

ESL:MESSAGE:STARTED:DOCUMENT_NAVIGATION

ESL:MESSAGE:SUCCESS:DOCUMENT_NAVIGATION

ESL:MESSAGE:SUCCESS:DOCUMENT_VIEW

ESL:MESSAGE:STARTED:DOCUMENT_CONFIRM

ESL:MESSAGE:SUCCESS:DOCUMENT_CONFIRM

ESL:MESSAGE:STARTED:SIGNER_COMPLETE

ESL:MESSAGE:SUCCESS:SIGNER_COMPLETE

ESL:MESSAGE:STARTED:SIGNER_COMPLETE_REVIEWED

ESL:MESSAGE:SUCCESS:SIGNER_COMPLETE_REVIEWED

Was this information helpful?
X