Java SDK .NET SDK Java REST .NET REST APEX SDK
Java SDK
Pour télécharger l'exemple complet de code, consultez notre site de partage de code .
Ce sujet vous guidera à travers le processus pour vérifier le statut d'une transaction et télécharger tout document à l'aide du OneSpan Sign Java SDK.
Ce sujet est une suite des étapes réalisées dans la création et l'envoi d'un paquet. À ce stade, vous pouvez confirmer que votre paquet de documents (transaction) a été créé et envoyé correctement. Pour cela, il suffit de consulter la page OneSpan Sign Transactions (transactions).
Prérequis
Pour continuer, vous devez créer un nouveau fichier Java. Vous pouvez placer ce fichier au même endroit que lorsque vous avez créé un paquet, ou vous pouvez lancer un nouveau projet. Si vous avez besoin d'aide pour cette configuration, voyez comment créer et configurer un projet Java.
Comment localiser l'identifiant de colis de votre projet existant
Puisque le package avec lequel vous travaillez a déjà été créé, vous devrez le trouver pour l'utiliser dans ce projet. Si vous sélectionnez le projet depuis la page Transaction , comme montré ci-dessus, l'URL affichera l'ID du package, comme ceci :
https://sandbox.esignlive.com/a/transaction/{packageId}Dans la classe Java que vous avez créée auparavant, vous verrez que vous aviez accès à cet ID de paquet lors de la création et de l'envoy. Si vous créiez une application plus complexe, vous stockeriez probablement cet ID de paquet pour l'utiliser dans d'autres parties de votre application, au lieu d'utiliser la page Transaction pour le consulter.
Si vous souhaitez voir cet ID de paquet provenant de la classe Java mentionnée dans le guide précédent, ajoutez la ligne suivante :
System.out.println(PackageId: + packageId);Après la phrase :
PackageId packageId = eslClient.createPackage( documentPackage );Si vous relancez cette classe, vous verrez maintenant l'ID du paquet imprimé dans la vue console dans Eclipse.

Le Code
Dans ce segment, le code sera décomposé section par section. Vous pouvez obtenir l'exemple complet de code sur notre site de partage de code .
Informations de connexion
Les premières lignes définissent vos informations de connexion OneSpan Sign.
public static final String API_KEY = "";
public static final String API_URL = "https://sandbox.esignlive.com/api";
// USE https://apps.esignlive.com/api FOR PRODUCTIONAssurez-vous d'entrer votre API_KEY dans l'emplacement provisoire.
Encore une fois, comme c'est un exemple très simple, le reste se fait dans la méthode principale. La première ligne à l'intérieur de la méthode principale est celle où vous vous connectez à OneSpan Sign en utilisant vos informations de connexion, prises ci-dessus.
//connect to OneSpan Sign
EslClient eslClient = new EslClient( API_KEY, API_URL );Ensuite, un objet PackageId est créé en utilisant l'ID de paquet que vous avez récupéré de votre URL (ou de la classe Java de création de paquet), ci-dessus. Ensuite, vous utiliserez cet objet PackageId pour récupérer votre package précédemment envoyé depuis le client OneSpan Sign.
//create a packageId using you packageId string
PackageId packageId = new PackageId("");
//get your package
DocumentPackage sentPackage = eslClient.getPackage(packageId);Vérification du statut
Maintenant que vous avez accès au paquet document, vous pouvez vérifier votre paquet pour voir quel est le statut du paquet. Les valeurs possibles sont ARCHIVÉ, COMPLÉTÉ, REFUSÉ, BROUILLON, EXPIRÉ, OPTED_OUT et ENVOIÉ. Imprimez le statut pour pouvoir le voir dans la console lors de l'exécution de votre classe.
//checking package status
PackageStatus status = sentPackage.getStatus();
System.out.println(status);Ensuite, vérifiez le statut de signature du colis. Les valeurs possibles pour celui-ci sont ARCHIVÉ, ANNULÉ, COMPLET, REFUSÉ, EXPIRÉ, INACTIF, OPTED_OUT, COMPLÉTÉ, et SIGNING_PENDING. Imprimez également ce statut sur la console.
//checking signing status
SigningStatus sentSigningStatus = eslClient.getSigningStatus( packageId, null, null );
System.out.println(sentSigningStatus.getToken());Télécharger les fichiers
Pour la dernière partie, vous vérifierez si le paquet est complet. Si c'est le cas, le fichier zip de tous les documents sera téléchargé, ainsi que le résumé des preuves. En mettant simplement un nom de fichier pour chaque fichier dans les lignes Files.saveTo , le fichier sera sauvegardé à la racine de votre projet Java dans Eclipse. Après chaque étape, imprimez sur la console afin de savoir que l'événement s'est produit lors du test de la classe Java à l'étape suivante.
if(!sentSigningStatus.getToken().equals("COMPLETED")){ //if signing is complete, download all documents
System.out.println("Cannot Download: Signing not complete");
} else { //download zip file
byte[] documentZip = eslClient.downloadZippedDocuments(packageId);
Files.saveTo(documentZip, "documentZip.zip");
System.out.println("Document Zip File Downloaded");
//download evidence summary
byte[] evidenceSummary = eslClient.downloadEvidenceSummary(packageId);
Files.saveTo(evidenceSummary, "evidenceSummary.pdf");
System.out.println("Evidence Summary Downloaded");
}Résultats
Vous pouvez désormais exécuter votre classe Java. Exécutez la classe depuis la barre d'outils, la barre de menus, ou en cliquant droit sur la classe dans l'Explorateur de paquets et en allant dans Exécuter en tant qu>application Java.
Si vous n'avez pas encore signé votre forfait, votre console devrait ressembler à la suivante :

Après avoir signé votre forfait, vous obtiendrez la sortie suivante dans votre vue Console :

Si vous rafraîchez votre projet dans votre Explorateur de paquets en faisant un clic droit et en allant dans Rafraîchir, vous verrez que vos fichiers ont été téléchargés avec succès.

.NET SDK
Pour télécharger l'exemple complet de code, consultez notre site de partage de code .
Ce sujet vous guidera à travers le processus pour vérifier le statut d'une transaction et télécharger tout document via le SDK OneSpan Sign .NET.
Ce sujet est une suite des étapes réalisées dans la création et l'envoi d'un paquet. À ce stade, vous pouvez confirmer que votre paquet de documents (transaction) a été créé et envoyé correctement. Pour cela, il suffit de consulter la page OneSpan Sign Transactions (transactions).
Prérequis
Pour continuer, vous devez créer un nouveau projet et .cs fichier pour ce guide. Par exemple, CheckStatusAndDownload.cs. Si vous avez besoin d'aide pour cette configuration, voyez comment créer et configurer un projet .NET.
Localiser l'identifiant de colis de votre projet existant
Puisque le package avec lequel vous travaillez a déjà été créé, vous devrez le trouver pour l'utiliser dans ce projet. Si vous sélectionnez le projet depuis la page Transaction , comme montré ci-dessus, l'URL affichera l'ID du package, comme ceci :
https://sandbox.esignlive.com/a/transaction/{packageId}Dans la classe C# que vous avez créée précédemment, vous verrez que vous aviez accès à cet ID de paquet lors de la création et de l'envoy. Si vous décriez une application plus complexe, vous stockeriez probablement cet ID de paquet pour l'utiliser dans d'autres parties de votre application, au lieu d'utiliser la page Transaction pour le consulter.
Si vous voulez voir cet ID de paquet provenant de la classe C# créée dans le guide précédent, vous pouvez ajouter la ligne suivante :
Debug.WriteLine(PackageId: + packageId);Après la phrase :
PackageId packageId = ossClient.createPackage( superDuperPackage);Si vous relancez cette classe, vous verrez maintenant l'ID du paquet imprimé dans la fenêtre de sortie dans Visual Studio.

Le Code
Ce segment décomposera le code section par section. Vous pouvez télécharger l'exemple complet de code depuis notre site de partage de code .
Informations de connexion
Les premières lignes définissent vos informations de connexion pour OneSpan Sign.
private static String API_URL = "https://sandbox.esignlive.com/api"; // Use https://apps.esignlive.com/api For Production
private static String API_KEY = "YOUR_API_KEY";
//Alternatively
private static String CLIENT_APP_ID = "your_client_id";
private static String CLIENT_APP_SECRET = "your_client_secret";
private static String BASE_API_URL = "https://sandbox.esignlive.com"; // Use https://apps.esignlive.com For Production
private static String API_URL = BASE_API_URL + "/api";
Assurez-vous d'entrer vos informations API_KEY ou Application Client dans l'emplacement provisoire.
La première étape consiste à se connecter à OneSpan Sign en utilisant vos informations de connexion, prises au-dessus.
OssClient ossClient = new OssClient(API_KEY, API_URL);
//Alternatively
OssClient ossClient = new OssClient(new ApiTokenConfig {
ClientAppId = CLIENT_APP_ID,
ClientAppSecret = CLIENT_APP_SECRET,
BaseUrl = BASE_API_URL,
TokenType = ApiTokenType.OWNER
},
BASE_API_URL + "/api", false, null, new Dictionary<string, string>());
Ensuite, un objet PackageId est créé en utilisant l'ID de paquet que vous avez obtenu de votre URL (ou classe de création de paquet, C#), ci-dessus. Ensuite, vous utiliserez cet objet PackageId pour récupérer votre package précédemment envoyé depuis le client OneSpan Sign.
PackageId packageId = new PackageId("YOUR_PACKAGE_ID");
DocumentPackage sentPackage = ossClient.GetPackage(packageId);Vérification du statut
Maintenant que vous avez accès au paquet document, vous pouvez vérifier votre paquet pour connaître son statut. Les valeurs possibles incluent ARCHIVÉ, COMPLÉTÉ, REFUSÉ, BROUILLON, EXPIRÉ, OPTED_OUT et ENVOIÉ. Imprimez le statut dans la fenêtre de sortie Débogage.
DocumentPackageStatus packageStatus = sentPackage.Status;
Debug.WriteLine("Package Status: " + packageStatus);Ensuite, vérifiez le statut de signature du paquet. Les valeurs possibles pour celui-ci sont ARCHIVÉ, ANNULÉ, COMPLET, REFUSÉ, EXPIRÉ, INACTIF, OPTED_OUT, COMPLÉTÉ, et SIGNING_PENDING. Imprimez cela aussi dans la fenêtre de sortie Débogage.
SigningStatus signingStatus = ossClient.GetSigningStatus(packageId,null,null);
Debug.WriteLine("Signing Status: " + signingStatus);Télécharger les fichiers
Vous pouvez maintenant vérifier si le paquet est complet. Si oui, un fichier zip contenant tous les documents sera téléchargé, ainsi qu'un résumé des preuves. Après chaque étape, écrivez dans la sortie Debug pour savoir que l'événement s'est produit lors du test de la classe à l'étape suivante.
if (signingStatus.ToString().Equals("SIGNING_PENDING"))
{
Debug.WriteLine("Cannot Download: Signing not complete");
}
else
{
byte[] zipContent = ossClient.DownloadZippedDocuments(packageId);
File.WriteAllBytes(Directory.GetCurrentDirectory()
+ "/package-documents.zip", zipContent);
Debug.WriteLine("Document Zip File Downloaded");
byte[] evidenceContent = ossClient.DownloadEvidenceSummary(packageId);
File.WriteAllBytes(Directory.GetCurrentDirectory()
+ "/evidence-summary.pdf", evidenceContent);
Debug.WriteLine("Evidence Summary Downloaded");
}Résultats
Exécutez votre classe C# en cliquant sur le bouton Start depuis la barre d'outils.
Si vous n'avez pas encore signé votre forfait, votre sortie devrait ressembler à ceci :

Après avoir signé votre forfait, vous recevrez ce qui suit dans votre fenêtre de sortie :

Si vous parcourez maintenant l'emplacement où vous avez sauvegardé vos fichiers, vous verrez que vos fichiers ont été téléchargés avec succès. Si vous avez utilisé le code ci-dessus et que vous êtes en mode Débogage, ils seront dans le dossier Débogage à l'intérieur de votre projet, dans votre système de fichiers.

Java REST
Pour télécharger l'exemple complet de code, consultez notre site de partage de code .
Ce sujet vous guidera à travers le processus pour vérifier le statut d'une transaction et télécharger tout document à l'aide du OneSpan Sign Java SDK.
Ce sujet est une suite des étapes réalisées dans la création et l'envoi d'un paquet. À ce stade, vous pouvez confirmer que votre paquet de documents (transaction) a été créé et envoyé correctement. Pour cela, il suffit de consulter la page OneSpanSign Transactions (transactions).
Prérequis
Pour continuer, vous devez créer un nouveau fichier Java. Vous pouvez placer ce fichier au même endroit que lorsque vous avez créé un paquet, ou commencer un nouveau projet. Si vous avez besoin d'aide pour cette configuration, voyez comment créer et configurer un projet Java. Par exemple, créez un projet appelé CheckStatusAndDownloadRest.java.
De plus, travailler avec l'API REST nécessite l'utilisation du JSON. Ainsi, un org.json de bibliothèque externe est utilisé. Ce fichier jar est disponible ici. Si vous avez besoin d'aide pour importer des bibliothèques externes, suivez les étapes de ce guide.
Localiser l'identifiant de colis de votre projet existant
Pour cet exemple, vous aurez besoin d'un packageId provenant d'un package document créé précédemment. Les deux méthodes les plus probables pour récupérer votre packageId sont de naviguer vers le package dans l'interface utilisateur et de le récupérer à partir de l'URL, ou de vérifier l'packageId retourné dans la réponse HTTP reçue lors de votre appel REST.
L'API REST
Dans ce sujet, les fonctions API suivantes seront appelées :
Un appel pour récupérer le JSON complet du package et obtenir le statut du package.
Un appel pour obtenir le statut de signature de l'ensemble du paquet, ou un signataire spécifique d'un document spécifique.
Un appel API REST pour télécharger les documents compressés et le résumé des preuves.
Récupérer le JSON du package
Requête HTTP
GET /api/packages/{packageId}
En-têtes HTTP
Accept: application/json; esl-api-version=11.21
Authorization: Basic api_keyPour une description complète de chaque champ en réponse, vous pouvez vous référer à la dernière orientation.
Récupérer le statut de signature
Requête HTTP
GET /api/packages/{packageId}/signingStatus?signer={signerId}&document={documentId}En-têtes HTTP
Accept: application/json
Authorization: Basic api_keyCharge utile de réponse
{
"status": "COMPLETED"
}
« signerId » dans cet appel API peut être remplacé par l'email du signataire.
Les statuts possibles sont : ARCHIVÉ/ ANNULÉ/ TERMINÉ/ REFUSÉ/ EXPIRÉ/ INACTIF/ OPTED_OUT/ TERMINÉ/ SIGNING_PENDING.
Télécharger des documents compressés
Requête HTTP
GET /api/packages/{packageId}/documents/zipEn-têtes HTTP
Accept: application/zip
Authorization: Basic api_keyTélécharger le résumé des preuves
Requête HTTP
GET /api/packages/{packageId}/evidence/summaryEn-têtes HTTP
Accept: application/pdf
Authorization: Basic api_keyLe Code
Ce segment du guide ne montre que des extraits de code. Vous pouvez télécharger l'exemple complet de code depuis notre site de partage de code .
Les deux premières lignes sont là où sont définies vos informations de connexion pour votre connexion OneSpan Sign. Si vous êtes en environnement Production, changez l'URL en https://apps.e-signlive.com/api. Assurez-vous de remplacer le texte provisoire par votre API_KEY. Dans le bac à sable, votre API_KEY se trouve sur la page COMPTE lorsque vous vous connectez à votre compte OneSpan Sign. Si vous êtes en production, vous devrez obtenir cela auprès du support.
String API_KEY = "YOUR_API_KEY";
String url = "https://sandbox.e-signlive.com/api/packages";Les lignes suivantes servent à créer votre connexion pour faire votre requête GET et à définir les valeurs appropriées de type de contenu, d'autorisation et d'acceptation.
URL client = new URL(url + "/1edd9f11-9bcc-4587-94e8-aa6478bbda4d/");
HttpURLConnection conn = (HttpURLConnection) client.openConnection();
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("Authorization", "Basic " + API_KEY);
conn.setRequestProperty("Accept", "application/json");Vérifier le statut
Maintenant que vous avez accès au document package, vous pouvez vérifier votre package pour voir le statut du colis. Dans cette section, vous aurez besoin de votre identifiant de colis précédemment. Avec celui-ci, vous êtes prêt à faire votre requête GET pour déterminer le statut de votre colis. Les deux lignes ci-dessous récupéreront le code d'état du message de réponse HTTP. Si la requête est acceptée, le responseCode devrait afficher 200.
int responseCode = ((HttpURLConnection) conn).getResponseCode();Si la requête réussit, vous pouvez créer un flux d'entrée et lire la connexion dans un BufferedReader. Le contenu JSON de la réponse est ensuite analysé dans un JSONObject et imprimé. Le statut du package est indiqué dans la propriété d'état du JSONObject.
System.out.println(responseCode + " OK!");
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
JSONObject json = new JSONObject(response.toString());
System.out.println(json.getString("status"));La récupération du statut de signature de votre colis se fait exactement de la même maman, sauf qu'il ajoute /signingStatus à l'URL de la requête.
URL client2 = new URL(url + "/1edd9f11-9bcc-4587-94e8-aa6478bbda4d/signingStatus");
HttpURLConnection conn2 = (HttpURLConnection) client2.openConnection();
conn2.setRequestProperty("Content-Type", "application/json");
conn2.setRequestProperty("Authorization", "Basic " + API_KEY);
conn2.setRequestProperty("Accept", "application/json");
int responseCode2 = ((HttpURLConnection) conn2).getResponseCode();
if (responseCode2 == 200) {
System.out.println(responseCode2 + " OK!");
BufferedReader in2 = new BufferedReader(new InputStreamReader(conn2.getInputStream()));
String inputLine2;
StringBuffer response2 = new StringBuffer();
while ((inputLine2 = in2.readLine()) != null) {
response2.append(inputLine2);
}
in2.close();
conn2.disconnect();
JSONObject json2 = new JSONObject(response2.toString());
System.out.println(json2.getString("status"));Télécharger les fichiers
Ce segment explique comment télécharger votre package dans un fichier zip sur votre bureau, ainsi que le résumé des preuves. Les deux premières lignes restent les mêmes. Pour rappel, assurez-vous d'ajouter /documents/zip à l'URL de la requête.
if (json2.getString("status").equals("COMPLETED")){
URL client3 = new URL(url + "/1edd9f11-9bcc-4587-94e8-aa6478bbda4d/documents/zip");
HttpURLConnection conn3 = (HttpURLConnection) client3.openConnection();
conn3.setRequestProperty("Content-Type", "application/json");
conn3.setRequestProperty("Authorization", "Basic " + API_KEY);
conn3.setRequestProperty("Accept", "application/zip");
int responseCode3 = ((HttpURLConnection) conn3).getResponseCode();
System.out.println(responseCode3 + " OK!");
System.out.println("Downloading zip files....");Nous ouvrons ensuite le flux d'entrée depuis la connexion HTTP. Vous pouvez spécifier n'importe quel emplacement sur votre ordinateur. N'oubliez pas de remplacer le texte provisoire par votre nom de compte.
InputStream inputStream = conn3.getInputStream();
String saveFilePath = "C:/Users/your_account/Desktop/yourFiles.zip";Ensuite, ouvrez un flux de sortie pour écrire le fichier zip à l'emplacement spécifié. Une fois toutes les données écrites, fermez la connexion.
FileOutputStream outputStream = new FileOutputStream(saveFilePath);
int bytesRead = -1;
byte[] buffer = new byte[4096];
while ((bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
System.out.println("Zip files downloaded!");
outputStream.close();
inputStream.close();
conn3.disconnect();Pour télécharger le résumé des preuves, le code est presque identique au téléchargement du fichier zip, à l'exception du champ d'en-tête Accept. Assurez-vous de le changer en application/pdf.
URL client4 = new URL(url + "/1edd9f11-9bcc-4587-94e8-aa6478bbda4d/evidence/summary");
HttpURLConnection conn4 = (HttpURLConnection) client4.openConnection();
conn4.setRequestProperty("Content-Type", "application/json");
conn4.setRequestProperty("Authorization", "Basic " + API_KEY);
conn4.setRequestProperty("Accept", "application/pdf");
int responseCode4 = ((HttpURLConnection) conn4).getResponseCode();
System.out.println(responseCode4 + " OK!");
System.out.println("Downloading evidence summary....");
inputStream = conn4.getInputStream();
saveFilePath = "C:/Users/your_account/Desktop/evidenceSummary.pdf";
outputStream = new FileOutputStream(saveFilePath);
bytesRead = -1;
buffer = new byte[4096];
while ((bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
System.out.println("Evidence summary downloaded!");
outputStream.close();
inputStream.close();
conn4.disconnect();Résultats
Appuyez sur le bouton exécuter dans votre IDE. Si le colis était déjà signé, la sortie devrait ressembler à la suivante :

Si vous parcourez l'endroit que vous avez spécifié pour sauvegarder votre fichier zip et le résumé des preuves, vous trouverez vos fichiers (si votre colis a été complété) :

.NET REST
Pour télécharger l'exemple complet de code, consultez notre site de partage de code .
Ce sujet vous guidera à travers le processus pour vérifier le statut d'une transaction et télécharger tout document à l'aide du OneSpan Sign Java SDK.
Ce sujet est une suite des étapes réalisées dans la création et l'envoi d'un paquet. À ce stade, vous pouvez confirmer que votre paquet de documents (transaction) a été créé et envoyé correctement. Pour cela, il suffit de consulter la page OneSpanSign Transactions (transactions).
Prérequis
Avant de commencer, vous devrez configurer votre environnement. Ce guide utilise C# et Microsoft Visual Studio. Créez un projet (par exemple CheckStatusAndDownloadREST) et un fichier .cs (par exemple CheckStatusAndDownloadREST.cs). Pour plus d'informations, consultez Créer et envoyer un paquet avec le SDK .NET (vous pouvez ignorer la partie SDK .NET et passer aux sections Télécharger Microsoft Visual Studio et Créer et configurer votre projet C#) pour des instructions plus détaillées.
Localiser l'identifiant de colis de votre projet existant
Puisque le paquet avec lequel vous travaillez a été créé précédemment, nous devons trouver l'ID du paquet pour l'utilisation dans ce projet. Si vous sélectionnez le projet depuis la boîte de réception de l'interface utilisateur, comme vu ci-dessus, l'URL affichera l'ID du paquet, comme ceci :
https://sandbox.esignlive.com/a/transaction/IW30CWirli6h6gZQqqfFXdrPSqA=Dans la classe C# que vous avez créée dans le dernier guide, vous verrez que l'ID du paquet a été retourné dans la réponse HTTP reçue lors de votre appel REST.
.png?sv=2026-02-06&spr=https&st=2026-11-13T10%3A13%3A27Z&se=2026-11-13T10%3A45%3A27Z&sr=c&sp=r&sig=dTBKg230twIgx0NUkkvKCKyOZ7eYwlQu4STMuZzZAio%3D)
Si vous deviez créer une application plus complexe, vous stockeriez probablement cet ID de paquet pour l'utiliser dans d'autres parties de votre application, plutôt que de le chercher dans vos URL OneSpan Sign.
L'API REST
Dans ce sujet, les fonctions API suivantes seront appelées :
Un appel pour récupérer le JSON complet du package et obtenir le statut du package.
Un appel pour obtenir le statut de signature de l'ensemble du paquet, ou un signataire spécifique d'un document spécifique.
Un appel API REST pour télécharger les documents compressés et le résumé des preuves.
Récupérer le JSON du package
Requête HTTP
GET /api/packages/{packageId}
En-têtes HTTP
Accepter : application/json ; esl-api-version=11.21 Autorisation : Basic api_key
Pour une description complète de chaque champ en réponse, vous pouvez vous référer à la dernière orientation.
Récupération du statut de signature
Requête HTTP
GET /api/packages/{packageId}/signingStatus?signer={signerId}&document={documentId}
En-têtes HTTP
Accepter : application/json Autorisation : Basic api_key
Charge utile de réponse
{
"status": "COMPLETED"
}
« signerId » dans cet appel API peut être remplacé par l'email du signataire.
Les statuts possibles sont : ARCHIVÉ/ ANNULÉ/ TERMINÉ/ REFUSÉ/ EXPIRÉ/ INACTIF/ OPTED_OUT/ TERMINÉ/ SIGNING_PENDING.
Télécharger des documents compressés
Requête HTTP
GET /api/packages/{packageId}/documents/zip
En-têtes HTTP
Accepter : application/code postal Autorisation : Basic api_key
Télécharger le résumé des preuves
Requête HTTP
GET /api/packages/{packageId}/evidence/summary
En-têtes HTTP
Accepter : demande/pdf Autorisation : Basic api_key
Le Code
Ce segment du guide décomposera le code section par section. Vous pouvez télécharger l'exemple complet de code depuis notre site de partage de code .
Les premières lignes sont là où les informations de connexion pour votre connexion OneSpan Sign sont définies. Si vous utilisez un environnement Production, utilisez l' URL https://apps.esignlive.com/api. Assurez-vous de remplacer le texte provisoire par votre API_KEY. Vous pouvez trouver cette valeur sur la page COMPTE lorsque vous êtes connecté à votre compte OneSpan Sign.
string apiKey = "YOUR_API_KEY";
string url = "https://sandbox.esignlive.com/api";Ensuite, vous créerez le client Http que vous utiliserez pour effectuer vos requêtes GET et définirez l'en-tête approprié pour l'autorisation et les valeurs d'acceptation.
HttpClient myClient = new HttpClient();
myClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", apiKey);
myClient.DefaultRequestHeaders.Add("Accept", "application/json,application/zip,text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");Vérifier le statut
Pour cette section, vous aurez besoin de l'Id du paquet que vous avez trouvé ci-dessus. En utilisant cela, vous pouvez configurer votre requête GET pour voir le statut du paquet. Les valeurs possibles sont ARCHIVÉ, COMPLÉTÉ, REFUSÉ, BROUILLON, EXPIRÉ, OPTED_OUT et ENVOIÉ. Le code ci-dessous effectue une requête GET à l'URL créée à partir de l'URL de base définie ci-dessus, le reste de l'URL provenant de l'appel REST approprié défini dans la documentation (dans ce cas, /packages/YOUR_PACKAGE_ID). Le contenu de la réponse est ensuite analysé en JObject et la propriété de statut du JObject est obtenue et écrite dans la sortie Debug.
var packageStatusResponse = myClient.GetAsync(new Uri(url + "/packages/YOUR_PACKAGE_ID")).Result;
JObject packageStatusResponseJSON = JObject.Parse(packageStatusResponse.Content.ReadAsStringAsync().Result);
var packageStatus = packageStatusResponseJSON["status"];
Debug.WriteLine("Package Status: " + packageStatus);Ensuite, vérifiez le statut de signature du paquet. Les valeurs possibles pour celui-ci sont ARCHIVÉ, ANNULÉ, COMPLET, REFUSÉ, EXPIRÉ, INACTIF, OPTED_OUT, COMPLET, et SIGNING_PENDING. Cela se fait exactement comme à la dernière étape, sauf pour ajouter /signingStatus à l'URL de la requête. Écrivez également la réponse de cet appel dans la fenêtre de sortie de débogage.
var signingStatusResponse = myClient.GetAsync(new Uri(url + "/packages/0487df67-6417-48f8-9575-b520c0f977ff/signingStatus")).Result;
JObject signingStatusResponseJSON = JObject.Parse(signingStatusResponse.Content.ReadAsStringAsync().Result);
var signingStatus = signingStatusResponseJSON["status"].ToString();
Debug.WriteLine("Signing Status: " + signingStatus);Télécharger les fichiers
Pour la dernière partie, vous vérifierez si le paquet est complet. Si oui, le fichier zip de tous les documents sera téléchargé, ainsi que le résumé des preuves. Après chaque étape, écrivez dans la sortie Debug afin de savoir que l'événement s'est produit lors du test de la classe à l'étape suivante. Notez également les ajouts à l'URL de base pour chaque téléchargement.
if (signingStatus.Equals("COMPLETED"))
{
var downloadZipResponse = myClient.GetAsync(new Uri(url + "/packages/0487df67-6417-48f8-9575-b520c0f977ff/documents/zip")).Result;
ByteArrayContent content = new ByteArrayContent(downloadZipResponse.Content.ReadAsByteArrayAsync().Result);
File.WriteAllBytes("C:/Eclipse/myzip.zip", content.ReadAsByteArrayAsync().Result);
Debug.WriteLine("Zip File Downloaded");
var evidenceSummaryResponse = myClient.GetAsync(new Uri(url + "/packages/0487df67-6417-48f8-9575-b520c0f977ff/evidence/summary")).Result;
ByteArrayContent evidenceSummaryContent = new ByteArrayContent(evidenceSummaryResponse.Content.ReadAsByteArrayAsync().Result);
File.WriteAllBytes("C:/Eclipse/myevidencesummary.pdf", evidenceSummaryContent.ReadAsByteArrayAsync().Result);
Debug.WriteLine("Evidence Summary Downloaded");
}
else
{
Debug.WriteLine("Signing not complete");
}Résultats
Exécutez votre classe C# en cliquant sur le bouton Start depuis la barre d'outils.
Si vous n'avez pas encore signé votre forfait, votre sortie devrait ressembler à ceci :
.png?sv=2026-02-06&spr=https&st=2026-11-13T10%3A13%3A27Z&se=2026-11-13T10%3A45%3A27Z&sr=c&sp=r&sig=dTBKg230twIgx0NUkkvKCKyOZ7eYwlQu4STMuZzZAio%3D)
Après avoir signé votre forfait, vous recevrez ce qui suit dans votre fenêtre de sortie :
.png?sv=2026-02-06&spr=https&st=2026-11-13T10%3A13%3A27Z&se=2026-11-13T10%3A45%3A27Z&sr=c&sp=r&sig=dTBKg230twIgx0NUkkvKCKyOZ7eYwlQu4STMuZzZAio%3D)
Si vous parcourez maintenant l'emplacement où vous avez enregistré vos fichiers, vous verrez que vos fichiers ont été téléchargés avec succès.
.png?sv=2026-02-06&spr=https&st=2026-11-13T10%3A13%3A27Z&se=2026-11-13T10%3A45%3A27Z&sr=c&sp=r&sig=dTBKg230twIgx0NUkkvKCKyOZ7eYwlQu4STMuZzZAio%3D)
APEX SDK
Pour télécharger l'exemple complet de code, consultez notre site de partage de code .
Ce sujet vous guidera dans le processus pour vérifier le statut d'une transaction et télécharger tout document en utilisant le SDK OneSpan Sign APEX.
Ce sujet est une suite des étapes réalisées dans la création et l'envoi d'un paquet. À ce stade, vous pouvez confirmer que votre paquet de documents (transaction) a été créé et envoyé correctement. Pour cela, il suffit de consulter la page OneSpanSign Transactions (transactions).
Prérequis
Pour continuer, il faut ajouter une classe Apex nommée OssCheckStatusAndDownload avec une fonction checkStatusAndDownload(). Si vous avez besoin d'aide pour cette configuration, voyez Création et envoi d'un colis.
Localisation de l'identifiant du colis
Puisque le package avec lequel vous travaillez a déjà été créé, vous devrez le trouver pour l'utiliser dans ce projet. Si vous sélectionnez le projet depuis la page Transaction , comme montré ci-dessus, l'URL affichera l'ID du package, comme ceci :
https://sandbox.esignlive.com/a/transaction/{packageId}Dans la classe Apex que vous avez créée auparavant, vous verrez que vous aviez accès à cet ID de package lors de la création et de l'envoy. Si vous deviez créer une application plus complexe, vous stockeriez probablement cet ID de package pour l'utiliser dans d'autres parties de votre application, plutôt que de le chercher dans vos URL de signature OneSpan.
Dans notre exemple, pour imprimer l'ID du paquet, vous pouvez ajouter ce code à la fonction :
System.debug('PackageId: ' + packageId);Après la phrase :
String packageId = sdk.createPackage(pkg);Après avoir lancé cette classe Apex, vous verrez l'ID du paquet imprimé dans la console de débogage :

Le Code
Dans ce segment, le code sera expliqué section par section. Vous pouvez obtenir l'exemple complet de code sur notre site de partage de code .
Informations de connexion
Avant de créer un client ESL et de le connecter à OneSpan Sign, vous devez faire ce qui suit :
Créez un paramètre personnalisé où votre clé API et votre point d'extrémité sont attribués.
Ajoutez votre point de terminaison d'instance dans vos paramètres du site distant.
Pour plus d'informations sur la manière de réaliser ces étapes, voir Créer et envoyer un colis.
Comme il s'agit d'un exemple très simple, le code est écrit dans une fonction statique au sein de la même classe Apex eslController . La première ligne à l'intérieur de la méthode crée un client ESL où le SDK lit les informations de connexion en utilisant les paramètres définis dans les étapes précédentes.
//connect to OneSpan Sign
ESignLiveSDK sdk= new ESignLiveSDK();Ensuite, vous utiliserez votre PackageId obtenu depuis la boîte de recul OneSpan ou depuis la console de débogage comme paramètre d'entrée pour récupérer votre package précédemment envoyé depuis le client OneSpan Sign.
//create a packageId using you packageId string
String packageId = '2APPpsAcqVk8QbJKABFqWvHy-kQ=';
//get your package
ESignLiveAPIObjects.Package_x pack = sdk.getPackage(packageId);Vérifier le statut
Maintenant que vous avez accès au paquet document, vous pouvez vérifier votre paquet pour voir quel est le statut du paquet. Les valeurs possibles sont ARCHIVÉ, COMPLÉTÉ, REFUSÉ, BROUILLON, EXPIRÉ, OPTED_OUT et ENVOIÉ. Imprimez le statut pour pouvoir le voir dans la console lors de l'exécution de votre classe.
//retrieve package status
ESignLiveAPIObjects.PackageStatus packageStatus = pack.status;
System.debug('Package Status: '+packageStatus);Ensuite, vérifiez le statut de signature du colis. Les valeurs possibles pour celui-ci sont ARCHIVÉ, ANNULÉ, COMPLET, REFUSÉ, EXPIRÉ, INACTIF, OPTED_OUT, COMPLÉTÉ, et SIGNING_PENDING. Imprimez également ce statut sur la console.
//retrieve signing status
String signingStatus = sdk.getSigningStatus(packageId);
System.debug('Signing Status: '+signingStatus);Télécharger les fichiers
Pour la dernière partie, vous vérifierez si le paquet est complet. Si oui, tous les documents seront téléchargés, ainsi que le résumé des preuves. Nous lirons d'abord tous les fichiers en type blob, puis les insérerons dans un dossier de documents nommé onespan.
if(packageStatus == ESignLiveAPIObjects.PackageStatus.COMPLETED &&
signingStatus .equals('COMPLETED')
){
System.debug('Transaction is completed and ready to download!');
//download all documents
List docs = new List();
Folder folder = [select id from Folder where name='onespan' LIMIT 1];
for(ESignLiveAPIObjects.Document document: pack.documents){
Blob response = sdk.downloadDocument(packageId, document.id);
Document doc = new Document();
doc.Body = response;
doc.FolderId = folder.id;
doc.Name = pack.name + ' - ' + document.name;
doc.Type = 'pdf';
docs.add(doc);
}
//download evidence summary
String auditString= sdk.getAudit(packageId);
Document auditDoc= new Document();
auditDoc.Body = EncodingUtil.base64Decode(auditString);
auditDoc.FolderId = folder.id;
auditDoc.Name = pack.name + ' - evidence summary';
auditDoc.Type = 'pdf';
for(Document doc: docs){
insert doc;
}
insert auditDoc;
}else{
System.debug('Transaction is not ready to download!');
}
Résultats
Vous pouvez maintenant exécuter votre classe Apex. Ouvrez votre console de développement et appuyez sur Ctrl + E pour lancer la fenêtre Exécuter Anonyme. Tapez :
new OssCheckStatusAndDownload.checkStatusAndDownload();Si vous n'avez pas encore signé votre forfait, votre console devrait ressembler à la suivante :

Après avoir signé votre forfait, vous obtiendrez la sortie suivante dans votre vue Console :

Si vous allez dans votre dossier document OneSpan , vous verrez que vos fichiers ont été téléchargés avec succès.
