Développeur de signes OneSpan : spécifier la date d'expiration

Duo Liang, août 21, 2019

La mise en place de la date d'expiration est une fonctionnalité importante pour votre expérience de signature électronique, car elle limite le temps que votre signataire doit pour effectuer la transaction et vous aide à gérer le cycle de vie de vos transactions. Une fois la transaction expirée, elle reviendra dans le « dossier des projets » et les destinataires perdront leur accès à la cérémonie de signature. 

Dans la prochaine version 11.29, l'une des mises à jour les plus notables concernant cette fonctionnalité est le paramètre d'expiration basé sur le temps. Cela vous permet de définir le nombre de jours jusqu'à l'expiration d'une transaction plutôt que de spécifier une date. Donc, tout d'abord, nous allons vous guider à travers l'implémentation du produit en cours avant de couvrir les changements à venir dans la prochaine mise à jour. 

Préciser la date d'expiration

Avant la version 11.29, spécifier une valeur de date était la seule approche disponible pour configurer l'expiration. Cette date est formatée en heure GMT dans le système OneSpan Sign. Par conséquent, si votre date est dans votre fuseau horaire local, convertissez-la en GMT avant de la définir. 

Disons que nous avons une transaction, et nous voulons qu'elle expire à "2019-08-23T00:00:00 EDT". Ici, nous allons démontrer comment définir l'expiration en utilisant les deux méthodes SDK et API ci-dessous.

Fonction SDK :

Nous aborderons l'exigence en deux étapes. Tout d'abord, la conversion de la date à l'heure GMT nécessite des actions différentes en fonction du langage de programmation utilisé. Deuxièmement, appelez une fonction SDK pour configurer la date à laquelle la transaction est créée.

Java 

étape1 : convertir à l'heure GMT
date locale, expirez à 2019-07-23T00:00:00 EDT
TimeZone localTimeZone - TimeZone.getTimeZone("EDT");
Calendrier localCalender - nouveau Calendrier grégorien (2019, 8 - 1, 23, 0, 0, 0); 
Date gmtDate - nouvelle date (localCalender.getTimeInMillis() - localTimeZone.getRawOffset());
étape2 : créez le paquet avec la date d'expiration
DocumentPackage pkg - PackageBuilder
		.newPackageNamed("Créer un paquet avec date d'expiration - " - System.currentTimeMillis())
		.expiresAt (gmtDate)
		.construire();

.NET (EN) 

étape1 : convertir l'heure locale en GMT
date locale, expirez à 2019-08-23T00:00:00 EDT
DateTime easternTime - new DateTime(2019, 08, 23, 00, 00, 00);
chaîne easternZoneId - "Heure normale de l'Est";
TimeZoneInfo easternZone - TimeZoneInfo.FindSystemTimeZoneById (easternZoneId);
DateTime gmtTime - TimeZoneInfo.ConvertTimeToUtc (EasternTime, easternZone);
étape2 : créez le paquet avec la date d'expiration
DocumentPackage pkg - PackageBuilder
        . NewPackageNamed("Créer un paquet avec date d'expiration - " - DateTime.Now)
        . ExpiresOn (gmtTime)
        . Build ();

Vous pouvez télécharger le code d'exemple complet pour Java et .NET SDK.

Méthode REST:

Au niveau JSON, l'expiration est représentée comme un attribut « dû » au niveau de la transaction. Nous utiliserons ci-dessous la création de paquets API Call pour vous montrer comment le configurer via REST.

Demande HTTP

POST /api/packages

En-têtes HTTP

Autorisation: api_key de base
Accepter : application/json
Type de contenu : multiparties/form-data

Demande de charge utile

------WebKitFormBoundary1bNO60n7FqP5WO4t
Content-Disposition: formulaire-données; nom "fichier"; nom de fichier "testDocumentExtraction.pdf"
Type de contenu : application/pdf

%PDF-1.5
%' % ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '
1 0 obj
>>
endobj .... 

------WebKitFormBoundary1bNO60n7FqP5WO4t
Content-Disposition: formulaire-données; nom "charge utile"
{
  "statut": "DRAFT",
  "due": "2019-08-23T04:00:00Z",
  "type": "PACKAGE",
  "nom": "Exemple package"
}
------WebKitFormBoundary1bNO60n7FqP5WO4t--

Charge utile de réponse

{
    "id": "9sKhW-h-qS9m6Ho3zRv3n2a-rkI"
}

Après l'expiration de la transaction

Bien que la mise en place de l'expiration est facile, il ya certains comportements qui se produisent une fois qu'une transaction expire qui peut vous intéresser. Nous en avons énuméré quelques-uns que vous avez peut-être observés ci-dessous :

Tous les signataires perdront immédiatement l'accès à la cérémonie de signature et verront la page d'erreur ci-dessous dans leur écran :8-21-2

Le système OneSpan Sign mettra à jour l'état du paquet à "EXPIRED" horaire, il est donc possible que votre transaction semble toujours être dans l'état "SENT". Toutefois, les signataires seront immédiatement bloqués de la transaction.

Une fois que votre statut de transaction est modifié, les destinataires recevront un e-mail de notification. Pour annuler ou personnaliser ce message, contactez notre équipe de support8-21-3

Si une transaction expire et que vous souhaitez prolonger l'accès, vous devez fixer la date d'expiration à une date future et renvoyer la transaction.

Caractéristiques jumelées à l'expiration     

Ici, nous avons énuméré les fonctionnalités qui peuvent vous intéresser lors du développement avec la date d'expiration.

email. Expirer. Avertissement

S'il y a des signataires qui n'ont pas encore signé de document, ce modèle d'e-mail sera envoyé aux signataires cinq jours avant la date d'expiration de la transaction. Consultez la page de documentation sur le modèle d'email pour tous les paramètres disponibles dans le modèle.

email. Rappeler. Signataire

Ce rappel e-mail est un modèle de messagerie plus général utilisé pour encourager vos destinataires à ajouter leurs signatures au document. Consultez notre guide «Mise en place d'un calendrierde rappel » pour plus d'informations.

Notification de rappel

Si une transaction expire, votre application intégrée doit en être consciente et réagir en conséquence. La solution consiste à configurer un auditeur de rappel et à déclencher la notification « PACKAGE_EXPIRE ». OneSpan Sign touchera votre URL de rappel portant les informations pertinentes une fois l'événement déclenché.

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