OneSpan Sign Developer: Notification d'événement de rappel - Partie 2

Duo Liang, avril 17, 2019

Dans cette première partie de cette série de blog, nous avons passé en revue les utilisations potentielles des différentes notifications d'événements et les flux de travail recommandés en mettant en place l'auditeur de rappel chaque fois que vous avez besoin de la transaction de sondage, signataire, ou tout autre bit d'info. 

Dans ce blog, nous allons vous montrer le processus commun de traitement d'une demande de rappel et tous les détails techniques intéressants concernant les notifications d'événements de rappel. Sans plus tarder, commençons !

Inscrivez-vous aux notifications d'événements

Avant que OneSpan Sign puisse vous informer d'un événement, vous devez d'abord enregistrer votre URL de rappel ou une clé de rappel facultative, ainsi que préciser quels événements nécessitent une notification. Vous pouvez suivre notre guide Set up Callback Notifications sur la façon de vous inscrire aux notifications d’événements programmatiquement ou tout simplement le faire via le portail Web sur l’onglet Intégration sur la page Admin comme indiqué ci-dessous.4-17-1

Créer un auditeur de rappel

Vous êtes maintenant prêt à créer un auditeur webhook! Le diagramme ci-dessous vous montre toutes les étapes nécessaires dans le traitement d'une demande de poste. A partir de là, nous vous expliquerons les détails techniques en conséquence. Il s'agit d'un processus général qui peut être appliqué à n'importe quel langage de programmation ou cadre web que vous êtes en train de développer avec.4-17-2

Callback Listener Point 1

Tout d'abord, vous avez besoin d'une URL publique pour OneSpan Sign à appeler. Juste pour le but du test, vous pouvez obtenir un temporaire par Ngrok.
Ainsi, lorsqu'un événement se produit, par exemple lorsqu'une transaction est terminée, OneSpan Sign envoie une demande HTTP POST à l'URL enregistrée dans cette première section. 

Callback Listener Point 2 - 3

Rappelez-vous la clé de rappel que vous avez fixée dans le registre? Ce jeton secret est utilisé pour identifier que l'appel POST était en fait de OneSpan Sign. Cela permet de confirmer que vous ne recevez pas d'appels frauduleux.
La clé de rappel que vous avez enregistrée est passée par l'en-tête d'autorisation sous le titre "Basic 'callbackKey'".  
Une fois que vous avez validé que la demande contient votre secret partagé, vous pouvez continuer à traiter la demande.

Callback Listener Point 4

Les informations relatives à l'événement sont transmises à l'organisme de demande, qui comprend un objet JSON qui contient du type et les données associées à cet événement.
Voici quelques exemples de charge utile de rappel :

Le paquet a été créé
@class"":"com.silanis.esl.packages.event.ESLProcessEvent","name":"PACKAGE_CREATE","sessionUser":"18EZDL44xgsX","packageId":"wVdZEaPD2i GwUnFGJBjDD0dpO7kMD""message":null,"documentId":null,"createdDate":"2018-06-30T20:04:55.384Z"

Le colis a été envoyé
@class"":"com.silanis.esl.packages.event.ESLProcessEvent","name":"PACKAGE_ACTIVATE","sessionUser":"18EZDL44xgsX","packageId":"5n4obeO8jYoPp126Cm-Y3fxdfbo""Message":null,"documentId":null,"createdDate":"2018-06-30T20:09:50.425Z"

Signer 1 document de consentement accepté
@class"":"com.silanis.esl.packages.event.ESLProcessEvent","name":"DOCUMENT_SIGNED","sessionUser":"44aafb7c-97b9-40e1-bb59-eb76c7d2a484","packageId":"5n4obeO8jYoPp126Cm-Y3fxdfbo","message":null,"documentId":"default-consent","createdDate":"2018-06-30T20:10:51.002Z"

Signer 1 a rempli un document
@class"":"com.silanis.esl.packages.event.ESLProcessEvent","name":"DOCUMENT_SIGNED","sessionUser":"44aafb7c-97b9-40e1-bb59-eb76c7d2a484","packageId":"5n4obeO8jYoPp126Cm-Y3fxd ""message":null,"documentId":"7caf46cdd75f7a411bf8c22793b84fa79d8d180becc40691","crééDate":"2018-06-30T20:12:12.256Z"

Signer 1 a complété le paquet de signature
@class"":"com.silanis.esl.packages.event.ESLProcessEvent","name":"SIGNER_COMPLETE","sessionUser":"44aafb7c-97b9-40e1-bb59-eb76c7d2a484","packageI d":"5n4obeO8jYoPp126Cm-Y3fxdfbo""message":null,"documentId":null,"createdDate":"2018-06-30T20:12:12.272Z"

Le paquet était complet
@class"":"com.silanis.esl.packages.event.ESLProcessEvent","name":"PACKAGE_COMPLETE","sessionUser":"e00696ec-d6f5-4feb-89c5-a5ce002a6c66","packageI d":"5n4obeO8jYoPp126Cm-Y3fxdfbo""message":null,"documentId":null,"createdDate":"2018-06-30T20:15:01.038Z"

Signer 1 opt out:
@class"":"com.silanis.esl.packages.event.ESLProcessEvent","name":"PACKAGE_OPT_OUT","sessionUser":"b5381b13-991e-4179-9f9b-d4e1ec9d06bb","packageId":"J5tyJalzG49hmDho5b9JdG61T7M","message":"the personal info is not correct","documentId":null,"createdDate":"2018-06-30T20:16:29.763Z"

À noter que le corps de chaque appel peut varier en fonction du type d'événement de notification.

Callback Listener Point 5 - 6

Selon le nom de l'événement, vous pouvez distribuer la tâche aux fonctions de talon pour y faire face selon votre logique d'affaires. Cela a été recommandé dans la première partie de cette série de blog. Si votre fonction de service a un flux de travail complexe et consommera la demande pendant une longue période, il est préférable que vous utilisiez une méthode asynchrone pour éviter de causer une erreur de délai d'arrêt. Pour la mise en œuvre actuelle, le délai de rappel était de 20 secondes et pouvait varier d'une instances à l'autre.

Ensuite, retournez un code d'état HTTP 200 vers OneSpan Sign indiquant que vous avez reçu avec succès le rappel. 

Que se passe-t-il si j'ai manqué une notification ?

Manquer une notification est un risque possible lors de l'utilisation du mécanisme de notification d'événement. 

Lorsqu'un rappel échoue, un e-mail est envoyé. De la version 11.21, cet e-mail a été amélioré pour inclure la raison de l'échec. Par exemple, s'il y a une exception de délai d'arrêt, une erreur de « ressource ne peut pas être trouvée » ou tout autre code d'erreur, ces e-mails peuvent aider à résoudre la cause de l'échec. 4-17-3

De plus, vous pouvez faire un sondage actif sur vos événements toutes les 6, 12 ou 24 heures en tant que sauvegarde pour réduire les pertes en cas de non-lieu d'une notification.

Ci-dessus était toutes les connaissances techniques nécessaires que vous devez savoir afin de mettre en place un auditeur de rappel. Dans les prochains blogs, nous allons démontrer quelques exemples de projets en utilisant différentes langues et cadres suivant les étapes que nous avons mentionnées ici.

Si vous avez des questions concernant ce blog ou toute autre chose concernant l'intégration de OneSpan Sign dans votre application, visitez les Forums communautairesdes développeurs . Vos commentaires sont importants pour nous!

OneSpan Sign Developer Community

OneSpan Sign Developer Community

Rejoignez la communauté OneSpan Sign Developer! Forums, blogs, documentation, téléchargements SDK, et plus encore.

Joignez-vous aujourd'hui