--- title: "Modification du statut d’une transaction" slug: "changing-a-transactions-status" updated: 2025-10-06T13:21:46Z published: 2025-10-06T13:25:06Z canonical: "docs.onespan.com/changing-a-transactions-status" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.onespan.com/llms.txt > Use this file to discover all available pages before exploring further. # Modification du statut d’une transaction  [Java SDK](/v1/docs/changing-a-transactions-status#java-sdk)[.NET SDK](/v1/docs/changing-a-transactions-status#net-sdk) [REST API](/v1/docs/changing-a-transactions-status#rest-api) [APEX SDK](/v1/docs/changing-a-transactions-status#apex-sdk) ## Java SDK Pour télécharger l'exemple de code complet, consultez notre site [Code Share](https://community.onespan.com/documentation/onespan-sign/codeshare/modify-status-package-java-sdk/) . Les transactions OneSpan Sign suivent un cycle de vie prédéfini, défini par les états de cycle de vie suivants : - Brouillon : La transaction n'a pas encore été envoyée. - En cours : La transaction a été distribuée pour signatures, mais n'est pas encore terminée. - Terminée : La transaction a été signée par tous les destinataires. - Désabonnement : Au moins un destinataire de la transaction a choisi de ne pas signer la transaction par voie électronique. Remarque : L'option de désinscription a été supprimée de l'expérience du signataire. - Refusée : la transaction a au moins un destinataire qui a refusé de signer la transaction. - Expirée : La transaction a expiré (c'est-à-dire que sa date d'expiration est passée). - Archivé : La transaction a été archivée. Le diagramme suivant décrit le flux normal d'une transaction. En outre, ce diagramme comprend deux actions possibles que vous pouvez effectuer au cours de ce processus de cycle de vie. - **Action Corbeille** : L'action Corbeille est utilisée pour déplacer une transaction sélectionnée vers le dossier Corbeille . Les transactions dans le dossier corbeille ne sont pas automatiquement supprimées, sauf si une politique de rétention spécifique est définie pour ce compte. Les transactions qui sont supprimées manuellement de ce dossier sont récupérables pendant deux semaines après la suppression. Pour récupérer ces transactions, vous devez contacter notre [équipe d'assistance](https://www.onespan.com/support). - **Action de suppression** : votre package sera définitivement supprimé et ne pourra pas être rétabli. ![](https://cdn.document360.io/038f59a7-abd0-4c14-9de7-3434d28b49fd/Images/Documentation/signerworkflow_624x433.png?sv=2026-02-06&spr=https&st=2026-11-13T10%3A25%3A15Z&se=2026-11-13T11%3A25%3A15Z&sr=c&sp=r&sig=ccbRSkURRdoXGtu69RVuae5PCeK5oGklTZjyEsvbr8U%3D) #### 1. Passer de DRAFT à SENT Pour ce faire, le code suivant : ```java eslClient.sendPackage(packageId); //draft to sent ``` À l'inverse, si vous devez apporter des modifications à une transaction que vous avez déjà envoyée, utilisez le code suivant pour remettre la transaction en BROUILLON : ```java eslClient.changePackageStatusToDraft(packageId); //sent to draft ``` #### **2. Passer de ENVOYÉ à TERMINÉ** Par défaut, si une transaction a été signée par tous les destinataires, son statut passera automatiquement à TERMINÉ. Toutefois, si vous ne souhaitez pas que cette modification automatique se produise, vous pouvez le faire, puis marquer manuellement la transaction comme terminée ultérieurement. Tout d'abord, vous devez créer une transaction qui ne passe pas automatiquement à TERMINÉE une fois que tous les destinataires ont signé. Pour ce faire, le code suivant : ```java DocumentPackage pkg1 = PackageBuilder.newPackageNamed("Example Package " + System.currentTimeMillis())        .autocomplete(false)        ......        .build(); ``` Une fois que vous avez reçu l'événement de rappel de signature du destinataire terminé , ou après avoir interrogé activement l'état de la transaction et constaté qu'elle est prête à être examinée, vous pouvez utiliser le code suivant pour marquer la transaction comme TERMINÉE. ```java eslClient.getPackageService().markComplete(packageId); //sent to complete ``` #### **3. Passer de TERMINÉ à ARCHIVÉ** L'archivage déplace les transactions sélectionnées de votre boîte de réception vers le dossier Archivé . Cette action n'est disponible que pour les transactions TERMINÉES. Une fois qu'un package est archivé, vos signataires ne peuvent plus accéder à l'expérience du signataire terminée. Lorsqu'ils cliquent sur le lien de l'URL de signature ou le lien de téléchargement à partir d'un e-mail, une page Accès refusé apparaît. L'archivage d'une transaction n'affecte pas l'accès de l'expéditeur. Les expéditeurs peuvent toujours contrôler et manipuler entièrement la transaction via l'interface utilisateur ou l'API. Le code suivant vous montre comment archiver une transaction : ```java eslClient.getPackageService().archive(packageId); //completed to archived ``` Pour annuler l'archivage, il suffit de ramener la transaction au statut COMPLETED : ```java eslClient.getPackageService().markComplete(packageId); //archived to completed ``` #### 4. Passer de REFUSÉ à ENVOYÉ Si un signataire a refusé de signer un document, vous pouvez modifier la transaction et la renvoyer à nouveau. Pour ce faire, le code suivant : Pour plus d'informations sur la récupération des messages refusés, reportez-vous à la section [Retrieving Reasons for Declining](/v1/docs/retrieving-reasons-for-declining). ```java eslClient.sendPackage(packageId); //declined to sent ``` #### 5. Passer de EXPIRÉ à BROUILLON Même si une transaction a expiré, vous pouvez toujours modifier sa date d'expiration. Il suffit de mettre à jour la transaction avec la nouvelle date d'expiration, et le statut de la transaction redeviendra automatiquement BROUILLON. Vous pouvez ensuite modifier la transaction (si nécessaire) et la renvoyer. Pour ce faire, le code suivant : ```java DocumentPackage package1 = eslClient.getPackage(packageId); package1.setExpiryDate(newDate); eslClient.updatePackage(packageId, package1); ``` #### 6. Destruction d'une transaction Le code suivant déplacera une transaction vers le dossier Corbeille : ```java eslClient.getPackageService().trash(packageId);     //trash action ``` Une transaction qui se trouve dans le dossier Corbeille est toujours accessible par l'expéditeur pendant deux semaines. Après deux semaines, la transaction sera définitivement supprimée. Avant que cela ne se produise, vous pouvez récupérer la transaction à l'aide du code suivant : ```java eslClient.getPackageService().restore(packageId);   //restore trash ``` #### 7. Suppression d'une transaction La suppression d'une transaction est définitive. Une transaction supprimée ne peut pas être récupérée. Le code suivant supprimera définitivement une transaction : ```java eslClient.getPackageService().deletePackage(packageId);     //delete action ``` ## Kit de développement logiciel (SDK) .NET Pour télécharger l'exemple de code complet, consultez notre site [Code Share](https://community.onespan.com/documentation/onespan-sign/codeshare/modify-status-package-net-sdk/) . Les transactions OneSpan Sign suivent un cycle de vie prédéfini, défini par les états de cycle de vie suivants : - Brouillon : La transaction n'a pas encore été envoyée. - En cours : La transaction a été distribuée pour signatures, mais n'est pas encore terminée. - Terminée : La transaction a été signée par tous les destinataires. - Désabonnement : Au moins un destinataire de la transaction a choisi de ne pas signer la transaction par voie électronique. Remarque : L'option de désinscription a été supprimée de l'expérience du signataire. - Refusée : la transaction a au moins un destinataire qui a refusé de signer la transaction. - Expirée : La transaction a expiré (c'est-à-dire que sa date d'expiration est passée). - Archivé : La transaction a été archivée. Le diagramme suivant décrit le flux normal d'une transaction. En outre, ce diagramme comprend deux actions possibles que vous pouvez effectuer au cours de ce processus de cycle de vie. - **Action Corbeille** : L'action Corbeille est utilisée pour déplacer une transaction sélectionnée vers le dossier Corbeille . Les transactions dans le dossier corbeille ne sont pas automatiquement supprimées, sauf si une politique de rétention spécifique est définie pour ce compte. Les transactions qui sont supprimées manuellement de ce dossier sont récupérables pendant deux semaines après la suppression. Pour récupérer ces transactions, vous devez contacter notre [équipe d'assistance](https://www.onespan.com/support). - **Action de suppression** : votre package sera définitivement supprimé et ne pourra pas être rétabli. ![](https://cdn.document360.io/038f59a7-abd0-4c14-9de7-3434d28b49fd/Images/Documentation/signerworkflow_624x433.png?sv=2026-02-06&spr=https&st=2026-11-13T10%3A25%3A15Z&se=2026-11-13T11%3A25%3A15Z&sr=c&sp=r&sig=ccbRSkURRdoXGtu69RVuae5PCeK5oGklTZjyEsvbr8U%3D) #### 1. Passer de DRAFT à SENT Pour ce faire, le code suivant : ```csharp eslClient.SendPackage(packageId); //draft to sent ``` À l'inverse, si vous devez apporter des modifications à une transaction que vous avez déjà envoyée, utilisez le code suivant pour remettre la transaction en BROUILLON : ```csharp eslClient.ChangePackageStatusToDraft(packageId); //sent to draft ``` #### 2. Passer de ENVOYÉ à TERMINÉ Par défaut, si une transaction a été signée par tous les destinataires, son statut passera automatiquement à TERMINÉ. Toutefois, si vous ne souhaitez pas que cette modification automatique se produise, vous pouvez le faire, puis marquer manuellement la transaction comme terminée ultérieurement. Tout d'abord, vous devez créer une transaction qui ne passe pas automatiquement à TERMINÉE une fois que tous les destinataires ont signé. Pour ce faire, le code suivant : ```csharp DocumentPackage pkg1 = PackageBuilder.NewPackageNamed("Example Package " + System.DateTime.Now)        .WithoutAutomaticCompletion()        ......        .Build(); ``` Une fois que vous avez reçu l'événement de rappel de signature du destinataire terminé , ou après avoir interrogé activement l'état de la transaction et constaté qu'elle est prête à être examinée, vous pouvez utiliser le code suivant pour marquer la transaction comme TERMINÉE. ```csharp eslClient.PackageService.MarkComplete(packageId); //sent to complete ``` #### 3. Passer de TERMINÉ à ARCHIVÉ L'archivage déplace les transactions sélectionnées de votre boîte de réception vers le dossier Archivé . Cette action n'est disponible que pour les transactions TERMINÉES. Une fois qu'un package est archivé, vos signataires ne peuvent plus accéder à l'expérience du signataire terminée. Lorsqu'ils cliquent sur le lien de l'URL de signature ou le lien de téléchargement à partir d'un e-mail, une page Accès refusé apparaît. L'archivage d'une transaction n'affecte pas l'accès de l'expéditeur. Les expéditeurs peuvent toujours contrôler et manipuler entièrement la transaction via l'interface utilisateur ou l'API. Le code suivant vous montre comment archiver une transaction : ```csharp eslClient.PackageService.Archive(packageId); //completed to archived ``` Pour annuler l'archivage, il suffit de ramener la transaction au statut COMPLETED : ```csharp eslClient.PackageService.MarkComplete(packageId); //archived to completed ``` #### 4. Passer de REFUSÉ à ENVOYÉ Si un signataire a refusé de signer un document, vous pouvez modifier la transaction et la renvoyer à nouveau. Pour ce faire, le code suivant : Pour plus d'informations sur la récupération des messages refusés, reportez-vous à la section [Retrieving Reasons for Declining](/v1/docs/retrieving-reasons-for-declining). ```csharp eslClient.SendPackage(packageId); //declined to sent ``` #### 5. Passer de EXPIRÉ à BROUILLON Même si une transaction a expiré, vous pouvez toujours modifier sa date d'expiration. Il suffit de mettre à jour la transaction avec la nouvelle date d'expiration, et le statut de la transaction redeviendra automatiquement BROUILLON. Vous pouvez ensuite modifier la transaction (si nécessaire) et la renvoyer. Pour ce faire, le code suivant : ```csharp DocumentPackage package1 = eslClient.GetPackage(packageId); package1.ExpiryDate = new DateTime(2019, 3, 12, 1, 0, 0); eslClient.UpdatePackage(packageId, package1); ``` #### 6. Destruction d'une transaction Le code suivant déplacera une transaction vers le dossier Corbeille : ```csharp eslClient.PackageService.Trash(packageId);     //trash action ``` Une transaction qui se trouve dans le dossier Corbeille est toujours accessible par l'expéditeur pendant deux semaines. Après deux semaines, la transaction sera définitivement supprimée. Avant que cela ne se produise, vous pouvez récupérer la transaction à l'aide du code suivant : ```csharp eslClient.PackageService.Restore(packageId);   //restore trash ``` #### 7. Suppression d'une transaction La suppression d'une transaction est définitive. Une transaction supprimée ne peut pas être récupérée. Le code suivant supprimera définitivement une transaction : ```csharp eslClient.PackageService.DeletePackage(packageId);     //delete action ``` ## REST API Pour télécharger l'exemple de code complet, consultez notre site [Code Share](https://community.onespan.com/documentation/onespan-sign/codeshare/modify-status-package-rest-api/) . Les transactions OneSpan Sign suivent un cycle de vie prédéfini, défini par les états de cycle de vie suivants : - Brouillon : La transaction n'a pas encore été envoyée. - En cours : La transaction a été distribuée pour signatures, mais n'est pas encore terminée. - Terminée : La transaction a été signée par tous les destinataires. - Désabonnement : Au moins un destinataire de la transaction a choisi de ne pas signer la transaction par voie électronique. Remarque : L'option de désinscription a été supprimée de l'expérience du signataire. - Refusée : la transaction a au moins un destinataire qui a refusé de signer la transaction. - Expirée : La transaction a expiré (c'est-à-dire que sa date d'expiration est passée). - Archivé : La transaction a été archivée. Le diagramme suivant décrit le flux normal d'une transaction. En outre, ce diagramme comprend deux actions possibles que vous pouvez effectuer au cours de ce processus de cycle de vie. - **Action Corbeille** : L'action Corbeille est utilisée pour déplacer une transaction sélectionnée vers le dossier Corbeille . Les transactions dans le dossier corbeille ne sont pas automatiquement supprimées, sauf si une politique de rétention spécifique est définie pour ce compte. Les transactions qui sont supprimées manuellement de ce dossier sont récupérables pendant deux semaines après la suppression. Pour récupérer ces transactions, vous devez contacter notre [équipe d'assistance](https://www.onespan.com/support). - **Action de suppression** : votre package sera définitivement supprimé et ne pourra pas être rétabli. ![](https://cdn.document360.io/038f59a7-abd0-4c14-9de7-3434d28b49fd/Images/Documentation/signerworkflow_624x433.png?sv=2026-02-06&spr=https&st=2026-11-13T10%3A25%3A15Z&se=2026-11-13T11%3A25%3A15Z&sr=c&sp=r&sig=ccbRSkURRdoXGtu69RVuae5PCeK5oGklTZjyEsvbr8U%3D) #### 1. Passer de DRAFT à SENT Pour ce faire, le code suivant : **Requête HTTP** ```http PUT /api/packages/{packageId} ``` **En-têtes HTTP** ```http Accept: application/json Content-Type: application/json Authorization: Basic api_key ``` **Charge utile de la demande** ```json {   "status": "SENT" } ``` À l'inverse, si vous devez apporter des modifications à une transaction que vous avez déjà envoyée, utilisez le code suivant pour remettre la transaction en BROUILLON : **Requête HTTP** ```http PUT /api/packages/{packageId} ``` **En-têtes HTTP** ```http Accept: application/json Content-Type: application/json Authorization: Basic api_key ``` **Charge utile de la demande** ```json {   "status": "DRAFT" } ``` #### 2. Passer de ENVOYÉ à TERMINÉ Par défaut, si une transaction a été signée par tous les destinataires, son statut passera automatiquement à TERMINÉ. Toutefois, si vous ne souhaitez pas que cette modification automatique se produise, vous pouvez le faire, puis marquer manuellement la transaction comme terminée ultérieurement. Tout d'abord, vous devez créer une transaction qui ne passe pas automatiquement à TERMINÉE une fois que tous les destinataires ont signé. Pour ce faire, le code suivant : **Requête HTTP** ```http POST /api/packages ``` **En-têtes HTTP** ```http Authorization: Basic api_key Accept: application/json Content-Type: multipart/form-data ``` **Charge utile de la demande** ```json ------WebKitFormBoundary1bNO60n7FqP5WO4t Content-Disposition: form-data; name="file"; filename="testDocumentExtraction.pdf" Content-Type: application/pdf %PDF-1.5 %µµµµ 1 0 obj <>>> endobj.... ------WebKitFormBoundary1bNO60n7FqP5WO4t Content-Disposition: form-data; name="payload" {   "roles":[      ......   ],   "documents":[      ......   ],   "name":"Example Package",   "type":"PACKAGE",   "language":"en",   "emailMessage":"",   "description":"New Package",   "autocomplete":false,   "status":"SENT" } ------WebKitFormBoundary1bNO60n7FqP5WO4t-- ``` **Charge utile de réponse** ```json {    "id": "9sKhW-h-qS9m6Ho3zRv3n2a-rkI=" } ``` Une fois que vous avez reçu l'événement de rappel de signature du destinataire terminé , ou après avoir interrogé activement l'état de la transaction et constaté qu'elle est prête à être examinée, vous pouvez utiliser le code suivant pour marquer la transaction comme TERMINÉE. **Requête HTTP** ```http PUT /api/packages/{packageId} ``` **En-têtes HTTP** ```http Accept: application/json Content-Type: application/json Authorization: Basic api_key ``` **Charge utile de la demande** ```json {   "status": "COMPLETED" } ``` #### 3. Passer de TERMINÉ à ARCHIVÉ L'archivage déplace les transactions sélectionnées de votre boîte de réception vers le dossier Archivé . Cette action n'est disponible que pour les transactions TERMINÉES. Une fois qu'un package est archivé, vos signataires ne peuvent plus accéder à l'expérience du signataire terminée. Lorsqu'ils cliquent sur le lien de l'URL de signature ou le lien de téléchargement à partir d'un e-mail, une page Accès refusé apparaît. L'archivage d'une transaction n'affecte pas l'accès de l'expéditeur. Les expéditeurs peuvent toujours contrôler et manipuler entièrement la transaction via l'interface utilisateur ou l'API. Le code suivant vous montre comment archiver une transaction : **Requête HTTP** ```http PUT /api/packages/{packageId} ``` **En-têtes HTTP** ```http Accept: application/json Content-Type: application/json Authorization: Basic api_key ``` **Charge utile de la demande** ```json {   "status": "ARCHIVED" } ``` Pour annuler l'archivage, il suffit de ramener la transaction au statut COMPLETED : **Requête HTTP** ```http PUT /api/packages/{packageId} ``` **En-têtes HTTP** ```http Accept: application/json Content-Type: application/json Authorization: Basic api_key ``` **Charge utile de la demande** ```json {   "status": "COMPLETED" } ``` #### **4. Passer de REFUSÉ à ENVOYÉ** Si un signataire a refusé de signer un document, vous pouvez modifier la transaction et la renvoyer à nouveau. Pour ce faire, le code suivant : Pour plus d'informations sur la récupération des messages refusés, reportez-vous à la section [Retrieving Reasons for Declining](/v1/docs/retrieving-reasons-for-declining). **Requête HTTP** ```http PUT /api/packages/{packageId} ``` **En-têtes HTTP** ```http Accept: application/json Content-Type: application/json Authorization: Basic api_key ``` **Charge utile de la demande** ```json {   "status": "SENT" } ``` #### **5. Passer de EXPIRÉ à BROUILLON** Même si une transaction a expiré, vous pouvez toujours modifier sa date d'expiration. Il suffit de mettre à jour la transaction avec la nouvelle date d'expiration, et le statut de la transaction redeviendra automatiquement BROUILLON. Vous pouvez ensuite modifier la transaction (si nécessaire) et la renvoyer. Pour ce faire, le code suivant : **Requête HTTP** ```http PUT /api/packages/{packageId} ``` **En-têtes HTTP** ```http Accept: application/json Content-Type: application/json Authorization: Basic api_key ``` **Charge utile de la demande** ```json {   "due": "2019-03-13" } ``` #### 6. Destruction d'une transaction Le code suivant déplacera une transaction vers le dossier Corbeille : **Requête HTTP** ```http PUT /api/packages/{packageId} ``` **En-têtes HTTP** ```http Accept: application/json Content-Type: application/json Authorization: Basic api_key ``` **Charge utile de la demande** ```json {   "trashed": true } ``` Une transaction qui se trouve dans le dossier Corbeille est toujours accessible par l'expéditeur pendant deux semaines. Après deux semaines, la transaction sera définitivement supprimée. Avant que cela ne se produise, vous pouvez récupérer la transaction à l'aide du code suivant : **Requête HTTP** ```http PUT /api/packages/{packageId} ``` **En-têtes HTTP** ```http Accept: application/json Content-Type: application/json Authorization: Basic api_key ``` **Charge utile de la demande** ```json {   "trashed": false } ``` #### 7. Suppression d'une transaction La suppression d'une transaction est définitive. Une transaction supprimée ne peut pas être récupérée. Le code suivant supprimera définitivement une transaction : **Requête HTTP** ```http DELETE /api/packages/{packageId} ``` **En-têtes HTTP** ```http Accept: application/json Content-Type: application/json Authorization: Basic api_key ``` **Tableau des données utiles de la demande** | Propriété | Type | Modifiable | Obligatoire | Faire défaut | Exemples de valeurs | | --- | --- | --- | --- | --- | --- | | Propriété | Type | Modifiable | Obligatoire | Faire défaut | Exemples de valeurs | | statut | corde | Oui | Non | BROUILLON | BROUILLON / ENVOYÉ / TERMINÉ / ARCHIVÉ / REFUSÉ / EXPIRÉ | | due | corde | Oui | Oui | zéro | 2017-02-13T21:18:40Z | | Saccagé | booléen | Oui | Non | faux | vrai / faux | ## APEX SDK Pour télécharger l'exemple de code complet, consultez notre site [Code Share](https://community.onespan.com/documentation/onespan-sign/codeshare/modify-status-of-a-package-apex-sdk/) . Si vous avez envoyé votre transaction pour signature et que vous souhaitez y apporter des modifications, vous pouvez le faire en changeant le statut de la transaction à BROUILLON. La modification du statut de la transaction en BROUILLON s'effectue à l'aide du client SDK Apex et en transmettant l'ID de votre package en tant que paramètre. L'ID du package vous est renvoyé lors de la création de la transaction. ```csharp ESignLiveSDK sdk = new ESignLiveSDK(); sdk.setStatus('packageID', ESignLiveAPIObjects.PackageStatus.ARCHIVED); // complete --> archive sdk.setStatus('packageID', ESignLiveAPIObjects.PackageStatus.COMPLETED); // sent/archive --> completed sdk.setStatus('packageID', ESignLiveAPIObjects.PackageStatus.DRAFT); // sent --> draft sdk.setStatus('packageID', ESignLiveAPIObjects.PackageStatus.SENT); // draft --> sent ``` De même, cette fonction peut également être utilisée pour ARCHIVER et annuler l'archivage (COMPLETE) d'un package. #### Résultats Voici un exemple de ce que vous pouvez vous attendre à voir une fois que vous avez exécuté votre code. ![](https://cdn.document360.io/038f59a7-abd0-4c14-9de7-3434d28b49fd/Images/Documentation/modify_status_of_a_package_1.png?sv=2026-02-06&spr=https&st=2026-11-13T10%3A25%3A15Z&se=2026-11-13T11%3A25%3A15Z&sr=c&sp=r&sig=ccbRSkURRdoXGtu69RVuae5PCeK5oGklTZjyEsvbr8U%3D)