Pour télécharger l'exemple complet de code, consultez notre site Partage de code.

La définition de la date d'expiration d'une transaction vous permet de limiter le temps dont dispose votre signataire pour effectuer la transaction. Après l'expiration d'une transaction, celle-ci retourne dans le dossier des ébauches et son statut devient EXPIRÉ. Par conséquent, les expéditeurs perdront leur accès à l'Signer Experience. Une tâche souvent associée à la fixation d'une date d'expiration est la configuration d'un calendrier de rappels.

Si vous souhaitez prolonger la date d'expiration d'une transaction, y compris les transactions dont la date d'expiration est déjà passée, il suffit de fixer la date d'expiration à une date ultérieure et de renvoyer la transaction.

Spécification de la date d'expiration

La date d'expiration est une propriété au niveau de la transaction qui prend une valeur de type Date. Les valeurs de date dans OneSpan Sign sont formatées en utilisant l'heure GMT. Si votre valeur de date utilise un autre fuseau horaire, vous devez la convertir en GMT avant de l'utiliser dans votre objet DocumentPackage.

Par exemple, si vous voulez que le paquet expire le « 2019-08-23T00:00:00 EDT », utilisez le code suivant :

// step1: convert to GMT time
// local date, expire at 2019-07-23T00:00:00 EDT
TimeZone localTimeZone = TimeZone.getTimeZone("EDT");
Calendar localCalender = new GregorianCalendar(2019, 8 - 1, 23, 0, 0, 0); 
Date gmtDate = new Date(localCalender.getTimeInMillis() - localTimeZone.getRawOffset());

Une fois que vous avez défini votre date GMT, incluez-la lors de la construction de votre objet DocumentPackage . Le code suivant permet d'effectuer ce qui suit :

// step2: create package with expiry date
DocumentPackage pkg = PackageBuilder
		.newPackageNamed("Create a package with Expiry Date - " + System.currentTimeMillis())
		.expiresAt(gmtDate)
		.build();

Expiration dans le temps

Une autre façon de fixer une date d'expiration est d'utiliser un intervalle de temps. Cette fonctionnalité permet aux expéditeurs de spécifier plus facilement une date d'expiration, notamment lorsque le flux de travail dépend de modèles.

Les paramètres de niveau transactionnel suivants déterminent l'intervalle de temps à utiliser lors de la définition d'un délai d'expiration.

  • defaultTimeBasedExpiry

  • remainingDays

Pour définir une expiration basée sur le temps, utilisez le code suivant :

DocumentPackage pkg = PackageBuilder
		.newPackageNamed("Create a package with Expiry Date - " + System.currentTimeMillis())
		.withSettings(DocumentPackageSettingsBuilder.newDocumentPackageSettings()
				.withDefaultTimeBasedExpiry()
				.withRemainingDays(15)
				)
		.build();
PackageId createPackage = eslClient.createPackage(pkg);

  • Les defaultTimeBasedExpiry et remainingDays doivent être définis pour utiliser une expiration basée sur le temps.
  • Lorsque vous utilisez l'expiration basée sur le temps, la date est automatiquement calculée en ajoutant les jours d'intervalle à la date de création de la transaction.
  • Si l'expiration temporelle est déjà définie pour votre transaction et que vous souhaitez toujours spécifier la date exacte, n'oubliez pas de désactiver l'expiration journalière en définissant le paramètre .withoutDefaultTimeBasedExpiry() en même temps que vous mettez à jour la transaction. Cela permettra d'éviter toute confusion potentielle.

Pour télécharger l'exemple complet de code, consultez notre site Partage de code.

La définition de la date d'expiration d'une transaction vous permet de limiter le temps dont dispose votre signataire pour effectuer la transaction. Après l'expiration d'une transaction, celle-ci retourne dans le dossier des ébauches et son statut devient EXPIRÉ. Par conséquent, les expéditeurs perdront leur accès à l'Signer Experience. Une tâche souvent associée à la fixation d'une date d'expiration est la configuration d'un calendrier de rappels.

Si une transaction expire et que vous souhaitez en prolonger l'accès, il suffit de fixer la date d'expiration à une date ultérieure et de renvoyer la transaction.

Spécification de la date d'expiration

La date d'expiration est une propriété au niveau de la transaction qui prend une valeur de type Date. Les valeurs de date dans OneSpan Sign sont formatées en utilisant l'heure GMT. Si votre valeur de date utilise un autre fuseau horaire, vous devez la convertir en GMT avant de l'utiliser dans votre objet DocumentPackage.

Par exemple, si vous voulez que le paquet expire le « 2019-08-23T00:00:00 EDT », utilisez le code suivant :

//step1: convert local time to GMT
// local date, expire at 2019-08-23T00:00:00 EDT
DateTime easternTime = new DateTime(2019, 08, 23, 00, 00, 00);
string easternZoneId = "Eastern Standard Time";
TimeZoneInfo easternZone = TimeZoneInfo.FindSystemTimeZoneById(easternZoneId);
DateTime gmtTime = TimeZoneInfo.ConvertTimeToUtc(easternTime, easternZone);

Une fois que vous avez défini votre date GMT, incluez-la lors de la construction de votre objet DocumentPackage . Le code suivant permet d'effectuer ce qui suit :

// step2: create package with expiry date
DocumentPackage pkg = PackageBuilder
        .NewPackageNamed("Create a package with Expiry Date - " + DateTime.Now)
        <strong>.ExpiresOn(gmtTime)</strong>
        .Build();

Expiration dans le temps

Une autre façon de fixer une date d'expiration est d'utiliser un intervalle de temps. Cette fonctionnalité permet aux expéditeurs de spécifier plus facilement une date d'expiration, notamment lorsque le flux de travail dépend de modèles.

Les paramètres de niveau transactionnel suivants déterminent l'intervalle de temps à utiliser lors de la définition d'un délai d'expiration.

  • defaultTimeBasedExpiry

  • remainingDays

Pour définir une expiration basée sur le temps, utilisez le code suivant :

DocumentPackage pkg = PackageBuilder.NewPackageNamed(&quot;Create a package with Expiry Date - &quot;  + System.DateTime.Now)
        .WithSettings(DocumentPackageSettingsBuilder.NewDocumentPackageSettings()
                                        <strong>.WithDefaultTimeBasedExpiry()</strong>
                                        <strong>.WithRemainingDays(15)</strong>
        )
        .Build();

PackageId pkgId = eslClient.CreatePackageOneStep(pkg);

  • Les defaultTimeBasedExpiry et remainingDays doivent être définis pour utiliser une expiration basée sur le temps.
  • Lorsque vous utilisez l'expiration basée sur le temps, la date est automatiquement calculée en ajoutant les jours d'intervalle à la date de création de la transaction.
  • Si l'expiration temporelle est déjà définie pour votre transaction et que vous souhaitez toujours spécifier la date exacte, n'oubliez pas de désactiver l'expiration journalière en définissant le paramètre .withoutDefaultTimeBasedExpiry() en même temps que vous mettez à jour la transaction. Cela permettra d'éviter toute confusion potentielle.

Intervalle par défaut en jours

La définition du nombre de jours par défaut avant l'expiration d'une transaction peut être effectuée aux niveaux suivants :

  • Niveau du compte : L'expiration basée sur le temps étant un paramètre de transaction, les valeurs par défaut de cette configuration peuvent être prédéfinies en communiquant avec notre équipe de soutien. Une fois cette opération effectuée, toutes les transactions nouvellement créées hériteront de ces valeurs et calculeront automatiquement l'attribut « dû » sur la base de la date de création et des jours d'intervalle.

  • Niveau du modèle : La définition d'un nombre de jours par défaut avant l'expiration est très utile lorsque vous travaillez avec des modèles. Si vous utilisez un modèle, il n'est pas logique que ce modèle porte une date d'expiration fixe qui serait ensuite recyclée dans les utilisations futures du modèle. En définissant un nombre de jours d'intervalle par défaut, toutes les dates d'expiration sont calculées de manière dynamique. Lorsque vous créez des transactions à partir d'un modèle existant, elles héritent alors d'un intervalle de temps par défaut plutôt que d'une date fixe pour leur expiration.

Expiration de la transaction

Une fois que votre transaction a expiré, notez ce qui suit :

  • Tous les signataires perdront immédiatement l'accès à l'Signer Experience.
  • Le changement de statut de la transaction en EXPIRÉ se produit toutes les heures, ce qui signifie qu'il est possible que votre transaction présente encore le statut ENVOYÉ pendant une courte période.
  • Une fois le statut de votre transaction modifié, les destinataires recevront un courriel de notification. Pour annuler ou personnaliser ce message, communiquez avec notre équipe de soutien.

Reportez-vous au guide Créer un écouteur de notification d'événement de rappel pour voir comment notifier votre application de l'événement d'expiration de la transaction.

Pour télécharger l'exemple complet de code, consultez notre site Partage de code.

La définition de la date d'expiration d'une transaction vous permet de limiter le temps dont dispose votre signataire pour effectuer la transaction. Après l'expiration d'une transaction, celle-ci retourne dans le dossier des ébauches et son statut devient EXPIRÉ. Par conséquent, les expéditeurs perdront leur accès à l'Signer Experience. Une tâche souvent associée à la fixation d'une date d'expiration est la configuration d'un calendrier de rappels.

Si une transaction expire et que vous souhaitez en prolonger l'accès, il suffit de fixer la date d'expiration à une date ultérieure et de renvoyer la transaction.

Spécification de la date d'expiration

La date d'expiration est une propriété de niveau transactionnel formatée de la manière suivante : {yyyy}-{MM}-{dd}T{HH}:{mm}:{ss}Z. Les valeurs de date dans OneSpan Sign sont formatées en utilisant l'heure GMT. Si votre valeur de date utilise un autre fuseau horaire, vous devez la convertir en GMT avant d'utiliser la valeur dans votre JSON de création de paquet.

Par exemple, si vous voulez que le paquet expire le « 2019-08-23T00:00:00 EDT », utilisez le code suivant :

Requête HTTP

POST /api/packages 

En-têtes HTTP

Authorization: Basic api_key
Accept: application/json
Content-Type: application/json 

Données utiles de la demande

 {
  "status": "DRAFT",
  "due": "2019-08-23T04:00:00Z",
  "type": "PACKAGE",
  "name": "Example Package"
}

Données utiles de la réponse

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

Expiration dans le temps

Une autre façon de fixer une date d'expiration est d'utiliser un intervalle de temps. Cette fonctionnalité permet aux expéditeurs de spécifier plus facilement une date d'expiration, notamment lorsque le flux de travail dépend de modèles.

Les paramètres de niveau transactionnel suivants déterminent l'intervalle de temps à utiliser lors de la définition d'un délai d'expiration.

  • defaultTimeBasedExpiry

  • remainingDays

Pour définir une expiration basée sur le temps, utilisez le code suivant :

Requête HTTP

POST /api/packages 

En-têtes HTTP

Authorization: Basic api_key
Accept: application/json
Content-Type: application/json 

Données utiles de la demande

 {
  "status": "DRAFT",
  "description": "A test transaction for Time-based Expiry feature.",
  "language": "en",
  "timezoneId": "GMT",
  "settings": {
    "ceremony": {
      "defaultTimeBasedExpiry": true,
      "remainingDays": 15
    }
  },
  "type": "PACKAGE",
  "name": "Test Time based Expiry"
}

Données utiles de la réponse

{
    "id": "4tz2ekfB7VcO2cFy6Hx1tkmtyo0="
}

  • Les defaultTimeBasedExpiry et remainingDays doivent être définis pour utiliser une expiration basée sur le temps.
  • Lorsque vous utilisez l'expiration basée sur le temps, la date est automatiquement calculée en ajoutant les jours d'intervalle à la date de création de la transaction.
  • Si l'expiration temporelle est déjà définie pour votre transaction et que vous souhaitez toujours spécifier la date exacte, n'oubliez pas de désactiver l'expiration journalière en définissant le paramètre .withoutDefaultTimeBasedExpiry() en même temps que vous mettez à jour la transaction. Cela permettra d'éviter toute confusion potentielle.

Intervalle par défaut en jours

La définition du nombre de jours par défaut avant l'expiration d'une transaction peut être effectuée aux niveaux suivants :

  • Niveau du compte : L'expiration basée sur le temps étant un paramètre de transaction, les valeurs par défaut de cette configuration peuvent être prédéfinies en communiquant avec notre équipe de soutien. Une fois cette opération effectuée, toutes les transactions nouvellement créées hériteront de ces valeurs et calculeront automatiquement l'attribut « dû » sur la base de la date de création et des jours d'intervalle.

  • Niveau du modèle : La définition d'un nombre de jours par défaut avant l'expiration est très utile lorsque vous travaillez avec des modèles. Si vous utilisez un modèle, il n'est pas logique que ce modèle porte une date d'expiration fixe qui serait ensuite recyclée dans les utilisations futures du modèle. En définissant un nombre de jours d'intervalle par défaut, toutes les dates d'expiration sont calculées de manière dynamique. Lorsque vous créez des transactions à partir d'un modèle existant, elles héritent alors d'un intervalle de temps par défaut plutôt que d'une date fixe pour leur expiration.

Expiration de la transaction

Une fois que votre transaction a expiré, notez ce qui suit :

  • Tous les signataires perdront immédiatement l'accès à l'Signer Experience.
  • Le changement de statut de la transaction en EXPIRÉ se produit toutes les heures, ce qui signifie qu'il est possible que votre transaction présente encore le statut ENVOYÉ pendant une courte période.
  • Une fois le statut de votre transaction modifié, les destinataires recevront un courriel de notification. Pour annuler ou personnaliser ce message, communiquez avec notre équipe de soutien.

Reportez-vous au guide Créer un écouteur de notification d'événement de rappel pour voir comment notifier votre application de l'événement d'expiration de la transaction.