Développeur de signes OneSpan : Création d'un package notarié - Partie 4

Duo Liang, août 7, 2019

Du point de vue d'un notaire, il est important de compléter toutes les parties de l'entrée de la revue Notaire avant de terminer la notarisation, surtout quand il est exigé par votre état. Par conséquent, OneSpan Sign fournit la fonction E-Journal pour rationaliser votre expérience de remplir et de conserver les entrées de journal notaire.

Comme la quatrième partie de cette série de blog en cours, nous allons introduire la façon d'utiliser la fonction d'entrées e-Journal, puis aborder la façon de "Update Professional Fields" et "Supprimer Notary Signer" dans le code. Sans plus tarder, commençons !

Entrées de journal e-Notary

À tout moment au cours d'un processus de signature, vous pouvez cliquer sur "Journal" dans la barre d'actions pour créer une entrée de journal. 8-7-1

Un panneau d'entrée E-Journal doit être affiché comme ci-dessous. Les élaborations de tous les domaines se trouvent dans cette documentation:8-7-2

Une fois qu'un notaire a créé un journal, il est enregistré au système OneSpan Sign par le niveau de compte du notaire. Rendez-vous sur le portail Web du notaire, vous verrez toutes les revues historiques dans la page "Admin" et "Journal":8-7-3

Pour les utilisateurs intégrés, les entrées de journal pour cet expéditeur peuvent également être récupérées en format JSON ou CSV via les méthodes REST ou SDK. 

Remarque : dans ce cas, le notaire doit être sous votre compte principal, car vous avez besoin de l'ID de l'expéditeur de la personne pour passer dans le chemin aPI.

API REST

Demande HTTP

GET /api/user/senderUId/journal

En-têtes HTTP

Accepter : application/json
Type de contenu : application/json ou texte/csv
Autorisation: api_key de base

Cet appel API fournira une liste complète des revues créées par cet expéditeur par défaut. Les paramètres ci-dessous peuvent être utilisés pour réduire le résultat : 
"?startDate-2019-04-01-endDate-2019-07-10"

Java SDK

sdkJournalEntries - eslClient.getPackageService().getJournalEntries(senderUID);
csvJournalEntries - eslClient.getPackageService().getJournalEntriesAsCSV(senderUID);

SDK .NET

sdkJournalEntries - eslClient.PackageService.GetJournalEntries (senderUID);
csvJournalEntries - eslClient.GetPackageService.GetJournalEntriesAsCSV(senderUID);

Mise à jour des champs professionnels

Dans la première partie de cette série de blog, nous avons passé en revue la façon de créer et de mettre à jour les champs de notaire. Ici, nous avons inclus une mise à jour rapide avec l'implémentation de code nécessaire.

(1) Assurez-vous que votre compte a activé la fonction de signature du notaire et que l'expéditeur est configuré en tant que notaire.

(2) Envoyer des noms de champ, des types (SEAL ou REGULAR) et des valeurs à notre équipe de support. À partir de là, notre équipe vous aidera à créer les champs.

(3) Une fois que les champs ont été créés, vous pouvez mettre à jour les valeurs de champ de votre propre côté. Notre code commencera par un dictionnaire de noms, de valeurs et d'un ID d'expéditeur.

            var apiKey - "your_api_key";
            var apiUrl - "https://sandbox.esignlive.com/api";

            var senderId - "18EZDL44xgsX";
            var notaryFields - nouveau dictionnaire(),>
            {
                «NotaryJurisdiction», Montréal
                "NotaryLicenseExpiryDate","2020-09-02"
                "STAMP","20190609
            };

            entrées var - notaryFields.Select(d
                String. Format ("id""id": "{0}", "valeur": "{1}" ", d.Key, d.Value));
            var jsonString ' ''professionalIdentityFields'': [' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' Joignez-vous (",",', entrées) ']";

            Debug.WriteLine (jsonString);

            utilisation (httpClient myClient ' nouveau httpClient())
            {
                myClient.DefaultRequestHeaders.Authorization - new AuthenticationHeaderValue ("Basic", apiKey);
                myClient.DefaultRequestHeaders.Add("Accept", "application/json");

                StringContent requestContent - new StringContent(jsonString.ToString(), Encoding.UTF8, "application/json");
                résultat var - myClient.PostAsync(apiUrl - "/compte/senders/" - senderId, requestContent). Résultat;

                si (résultat. StatusCode ! ' httpStatusCode.OK)
                {
                    jeter nouvelle Exception (résultat. Content.ReadAsStringAsync(). Résultat);
                }
            }
            Debug.WriteLine ("avec succès mis à jour les champs de notaire!");

Si un ID d'expéditeur valide sous votre compte n'a pas été entré correctement, vous verrez l'erreur 404 ci-dessous à partir du serveur OneSpan Sign :

{
  "nom": "Ressource non trouvée",
  "code": 404,
  "technique": "Impossible de trouver l'utilisateur avec uid '18EZDL44xgsX123'",
  "messageKey": "error.notFound.userNotFound",
  "message": "L'utilisateur spécifié ne peut pas être trouvé."
}

De même, un mauvais nom de champ donnera l'erreur du serveur ci-dessous:

{
    "code": 400,
    "technique": "Le champ de l'identité professionnelle n'existe pas.",
    "messageKey": "error.validation.professionalIdentityField.notFound",
    "nom": "Erreur de validation",
    "message": "Le champ d'identité professionnelle n'existe pas."
}

Avec cette gestion d'exception, votre application saura qu'il n'y a pas d'erreur au milieu et que tous les champs ont été mis à jour avec succès.

Note: Seules les valeurs de champ peuvent être mises à jour après leur création. Pour modifier le nom ou le type de terrain professionnel, vous supprimeriez d'abord le champ par l'intermédiaire de notre équipe de support.

Supprimer Notary Signer

Lorsque vous essayez de faire d'un destinataire un notaire inactif ou lorsque vous changez de notaire actif, la mise à jour échouera si les champs de notaire existent déjà sur n'importe quel document de la transaction. Vous recevrez un message qui se lit comme suit : « Certains documents de transaction contiennent des champs de notaire. Les champs de notaire doivent être supprimés avant de réinitialiser un receveur en tant que notaire inactif ou avant de changer de notaire actif."8-7-4

Dans l'interface Web, vous devez alors aller à la page de concepteur et supprimer manuellement tous les champs de notaire assignés. Pour une application intégrée, l'exemple de code ci-dessous vous donne une idée de la façon de supprimer programmatiquement tous les champs de notaire pour une transaction :

        EslClient eslClient - nouveau EslClient (apiKey, apiUrl);
        forfait de chaîneId -"DDrWc2V6VC-NVAbS2P-lF4mVnP0";

        DocumentPackage pkg - eslClient.GetPackage (nouveau packageId(packageId));

        foreach (document var en pkg. Documents)
            foreach (signature var dans le document. Signatures)
            {
                foreach (champ var en signature. Champs)
                    si (champ. Style ' FieldStyle.UNBOUND_CUSTOM_FIELD ' Champ. Style 'FieldStyle.SEAL'
                        eslClient.ApprovalService.DeleteField (nouveau PackageId(packageId), document. Id, signature. Id, champ. Id);
                    }
                }
            }
        }

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!

Parcourir les autres entrées dans cette série de blog:
Création d’un paquet notarié - Partie 1
Création d’un paquet notarié - Partie 2
Création d'un paquet notarié - Partie 3

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