OneSpan Sign How To: Création d'un auditeur de notification d'événement de rappel

Haris Haidary, octobre 19, 2016

Dans les forumsde la communauté des développeurs , il ya eu de nombreuses questions sur OneSpan Sign service d'auditeur de notification d'événement de rappel. En bref, OneSpan Sign vous permet d'être automatiquement informé des événements relatifs à un paquet. Lors d'un événement spécifique, le système enverra une charge utile JSON à une destination URL de votre choix. En d'autres termes, il s'agit d'un rappel HTTP : un POST HTTP qui se produit lorsqu'un événement se produit (c'est-à-dire une notification d'événement via HTTP POST). Il s'agit d'une façon simple et élégante de recevoir des informations précieuses au fur et à mesure (c.-à-d. en temps réel), plutôt que de faire continuellement des sondages pour obtenir des données et de ne rien recevoir de valeur la plupart du temps.

Exigences

Inscrivez-vous aux notifications d'événements

Avant que le système OneSpan Sign puisse vous informer d'un événement, vous devez d'abord vous inscrire pour être informé en cas d'événement. Vous pouvez suivre ce guide de fonctionnalités sur la façon de vous inscrire aux notifications d'événements.

Communauté Visual Studio 2015

Pour ce blog, vous aurez besoin de Microsoft Visual Studio Community 2015. Si vous ne l'avez pas déjà, vous pouvez télécharger la version communautaire gratuitement, ici.

OneSpan Sign's .NET SDK

Vous pouvez télécharger le .NET SDK à partir du liensuivant . Il fournit également un lien vers quelques exemples d'utilisation de la .NET SDK sur GitHub. Dézifiez le SDK à l'endroit de votre choix.

Ngrok

Pour recevoir des notifications d'événements de rappel, vous aurez besoin d'une URL accessible au public pour frapper et travailler. Votre serveur localhost à lui seul ne fonctionnera pas. Ngrok est un outil très simple et facile à utiliser qui crée un tunnel sécurisé sur votre machine locale avec une URL publique que vous pouvez utiliser pour naviguer sur votre site local. Cela vous évite la peine de déployer votre application web.

Le code

Allez-y et créez un nouveau projet d'application Web ASP.NET MVC. Si c'est la première fois que vous travaillez avec le cadre ASP.NET, vous pouvez suivre ce blog précédent sur la façon dont vous pouvez commencer. Vous pouvez également télécharger le code à partir du Developer Community Code Share.

Une fois votre projet créé, ajoutez un nouveau contrôleur et nommez-le « HomeController ». Vous trouverez ci-dessous le code du contrôleur d'action pour traiter la notification d'événement.

classe publique HomeController : Contrôleur
    {
        GET: Accueil
        indice actionRésultat public()
        {
            Return View ();
        }

        public ActionResult Listener()
        {

            Obtenir les en-têtes de la demande reçue
            var requestheaders - HttpContext.Request.Headers;

            Obtenir le corps de la demande reçue
            var requestBody chaîne. Vide;
            utilisation (lecteur var 'nouveau System.IO.StreamReader(httpContext.Request.InputStream))
            {
                demandeBody lecteur. ReadToEnd();
            }

            JObject jsonBody - JObject.Parse(requestBody);

            Faites tout ce que vous voulez avec la charge utile json de OneSpan Sign
            Debug.WriteLine (jsonBody);

            string packageId - jsonBody["packageId"]. ToString();

            Services.DownloadDocuments.download(packageId);

            retour de nouveaux httpStatusCodeResult(200);
        }
    }

 

Dans cet exemple, je m'inscrirai à la notification d'événement « PACKAGE_COMPLETE ». Une fois que tous les documents d'un paquet ont été signés et le paquet complété, OneSpan Sign fera une demande POST à mon URL enregistrée avec l'exemple suivant Charge utile JSON:

 

{
  "@class": "com.silanis.esl.packages.event.ESLProcessEvent",
  "nom": "PACKAGE_COMPLETE",
  "sessionUser": "0787be84-f095-44c7-ba00-787093df86fc",
  "packageId": "KHiRfOXgKK0gpVWwwpFOSNy6o34",
  "message": nul,
  "documentId": nul
}

 

Ensuite, nous utiliserons l'id paquet afin de télécharger les documents signés. Créez un nouveau dossier appelé "Services" et ajoutez une nouvelle classe nommée "DownloadDocument".

 

public statique vide download (string packageId)
        {
            EslClient eslClient - nouveau EslClient ("api_key", "https://sandbox.esignlive.com/api");
            PackageId pkgId - nouveau PackageId (packageId);
            byte[] contenu - eslClient.DownloadZippedDocuments(pkgId);
            File.WriteAllBytes (C:/Users/hhaidary/Desktop/documents_" - packageId - ".zip", contenu);
        }

 

Le code ci-dessus utilise l'eslClient pour télécharger les documents signés. Assurez-vous de faire référence au OneSpan Sign .NET SDK dans cette classe. En option, vous pouvez ajouter les vues correspondantes à chaque action de contrôleur. Toutefois, cette étape n'est pas nécessaire aux fins de cet exemple.

 

Exécution de votre code

Allez-y et exécutez votre projet en appuyant sur Run in Visual Studio. Ensuite, ouvrez une invite de commande et changez le répertoire à l'endroit où vous avez enregistré votre ngrok exécutable. Entrez la commande suivante :

ngrok http [port] -host-header"localhost:[port]"

Voici une capture d'écran de ce à quoi vous pouvez vous attendre après l'exécution de la commande:

1-2

Ensuite, connectez-vous à votre compte OneSpan Sign et naviguez vers la page Admin. Entrez dans le champ « URL de rappel » l'URL à votre auditeur de rappel (c'est-à-dire http://f3e93555.ngrok.io/home/listener) et inscrivez-vous à l'événement « transaction complète ». Enfin, créez, envoyez et remplissez un package de test. Vous devriez être en mesure de voir les documents signés comme un fichier zippé à l'endroit où vous avez choisi de l'enregistrer dans la classe "DownloadDocuments".

Si vous avez des questions concernant ce blog ou toute autre chose concernant l'intégration oneSpan Sign dans votre application, visitez les forums de la communauté des développeurs: https://developer.OneSpan.com. C'est moi qui l'ai fait. Merci de lire! Si vous avez trouvé ce message utile, s'il vous plaît le partager sur Facebook, Twitter, ou LinkedIn.

Haris Haidary
Évangéliste technique junior
LinkedIn - France Twitter (en)

 

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