Notificateur d'événements
Pour télécharger l'exemple complet de code, consultez notre site Partage de code.
Lorsque le Signer Experience est intégré dans une iFrame, le Event Notifier envoie des notifications à votre fenêtre parent lorsque des actions spécifiques sont déclenchées. Grâce à ces notifications, vous pouvez interrompre le flux de travail typique de OneSpan Sign en utilisant votre propre logique personnalisée, puis reprendre vos activités normales après. C'est utile si vous voulez que quelque chose se passe après que certaines étapes du processus de signature aient été accomplies Signer Experience ont été accomplies, comme par exemple rediriger un signataire vers une autre page web une fois qu'il a terminé de signer.
Écoute des événements OneSpan Sign
Pour créer un Event Notifier, votre application doit être à l'écoute des événements liés aux messages OneSpan Sign. Pour le mettre en place, utilisez cette commande, en utilisant un simple JavaScript :
window.addEventListener('message', receiveMessage, false);
Pour obtenir plus d'informations sur l'autorisation de la communication inter-origine entre votre fenêtre parent et une iFrame, cliquez ici.
Réception des messages
Ensuite, définissez la fonction receiveMessage comme suit :
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 vous ne configurez pas votre système pour qu'il écoute ESL:MESSAGE:REGISTER puis à renvoyer ESL:MESSAGE:ACTIVATE_EVENTS vous ne serez pas en mesure de recevoir d'autres événements. Vous devez inclure les éléments suivants dans votre fonction receiveMessage.
case 'ESL:MESSAGE:REGISTER': event.source.postMessage('ESL:MESSAGE:ACTIVATE_EVENTS', origin); break; default: event.source.postMessage(data, origin) break;
Il s'agit du code minimal nécessaire pour configurer un Event Notifier, où le premier cas Swift indique explicitement à OneSpan Sign que vous voulez vous inscrire pour l'écoute d'événements.
Résultats
Une utilisation courante d'un Event Notifier peut consister à rediriger un signataire vers une autre page une fois qu'il a terminé de signer. Voici un exemple de la façon dont cela pourrait être fait :
case 'ESL:MESSAGE:SUCCESS:SIGNER_COMPLETE ': event.source.postMessage(data, origin); window.location.href = "https://www.example.com"; //redirect page break;
Interrompre l'activité de OneSpan Sign
En utilisant un Event Notifier, certains événements peuvent être temporairement arrêtés. Voici un exemple de code qui vous montre comment faire :
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; ... }
Pour les événements qui peuvent être interrompus, OneSpan Sign ne reprendra son activité normale que lorsque votre conteneur parent renverra le même message défini par la ligne event.source.postMessage(data, origin).
Pour obtenir plus d'informations sur les événements qui peuvent être interrompus, voir Types d'événements de notification.
Types d'événements de notification
Le tableau suivant décrit les types d'événements de notification que votre Event Notifier peut écouter.
Nom de l'événement | Description | L'événement peut-il être interrompu temporairement? |
---|---|---|
ESL:MESSAGE:STARTED:DOCUMENT_ACCEPT | Un signataire a commencé à accepter un consentement ou une divulgation. | Non |
ESL:MESSAGE:SUCCESS:DOCUMENT_ACCEPT | Un signataire a accepté avec succès un consentement ou une divulgation. | Oui |
ESL:MESSAGE:ERROR:DOCUMENT_ACCEPT | Un signataire a échoué dans sa tentative d'accepter un consentement ou une divulgation. | Non |
ESL:MESSAGE:STARTED:PACKAGE_OPT_OUT | Un signataire a commencé à se désengager d'une transaction. | Non |
ESL:MESSAGE:SUCCESS:PACKAGE_OPT_OUT | Un signataire s'est retiré avec succès d'une transaction. | Oui |
ESL:MESSAGE:ERROR:PACKAGE_OPT_OUT | Un signataire a échoué dans sa tentative de se retirer d'une transaction. | Non |
ESL:MESSAGE:STARTED:PACKAGE_DECLINE | Un signataire a commencé à refuser une transaction. | Non |
ESL:MESSAGE:SUCCESS:PACKAGE_DECLINE | Un signataire a refusé avec succès une transaction. | Oui |
ESL:MESSAGE:ERROR:PACKAGE_DECLINE | Un signataire a échoué dans sa tentative de refuser une transaction. | Non |
ESL:MESSAGE:SUCCESS:DOCUMENT_VIEW:<document Id> | Un signataire a consulté un document. | Non |
ESL:MESSAGE:STARTED:DOCUMENT_CONFIRM | Un signataire a commencé à confirmer un document. | Non |
ESL:MESSAGE:SUCCESS:DOCUMENT_CONFIRM | Un signataire a confirmé avec succès un document. | Oui |
ESL:MESSAGE:ERROR:DOCUMENT_CONFIRM | Un signataire a échoué dans sa tentative de confirmer un document. | Non |
ESL:MESSAGE:STARTED:SIGNER_COMPLETE | Un signataire a commencé à effectuer une transaction. | Oui |
ESL:MESSAGE:SUCCESS:SIGNER_COMPLETE | Un signataire a terminé avec succès une transaction. | Non |
ESL:MESSAGE:STARTED:SIGNER_COMPLETE_REVIEWED | Un signataire a commencé à examiner les documents. | Oui |
ESL:MESSAGE:SUCCESS:SIGNER_COMPLETE_REVIEWED | Un signataire a terminé l'examen des documents. | Non |
ESL:MESSAGE:STARTED:DOCUMENT_NAVIGATION | L'utilisateur a commencé à naviguer vers un autre document. | Oui |
ESL:MESSAGE:SUCCESS:DOCUMENT_NAVIGATION | L'utilisateur a réussi à naviguer vers un autre document. | Non |
Voici l'ordre des événements attendus pour une transaction typique avec un signataire externe, un document de consentement par défaut et un document à signer :
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