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. | Sí |
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. | Sí |
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. | Sí |
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. | Sí |
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. | Sí |
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. | Sí |
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. | Sí |
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