Last modified: 2024-04-03

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

Was this information helpful?
X