Pour télécharger l'exemple complet de code, consultez notre site Partage de code. Vous pouvez également voir cette fonctionnalité dans notre démonstration interactive.

Au cours d'une Signer Experience par défaut, tous les destinataires peuvent visualiser tous les documents d'une transaction. Toutefois, vous pouvez configurer vos transactions de manière à ce que certains documents ne puissent être vus que par des destinataires spécifiques. Cela peut éviter aux destinataires d'avoir à traiter des documents qu'ils n'ont pas besoin de voir et garantir que les documents contenant des informations sensibles ne sont consultés que par les personnes auxquelles ils sont destinés.

Par défaut, l'ajout d'un destinataire à une transaction lui donne accès à tous les documents. Nous vous recommandons de définir la visibilité des documents après l'ajout de tous les documents et de tous les destinataires à la transaction. Si vous devez ajouter un destinataire après avoir défini la visibilité du document, veillez à vérifier la visibilité du document du destinataire que vous venez d'ajouter.

Définir la signature du document par le destinataire

Dans cet exemple, une transaction est configurée de telle sorte que le signataire1 ne doit signer que le document 1 et le signataire2 ne doit signer que le document 2, comme indiqué ci-dessous :

 DocumentPackage superDuperPackage = PackageBuilder.newPackageNamed("DocumentVisibilityExample " + new SimpleDateFormat("HH:mm:ss").format(new Date()))   .describedAs("This is a package created using the OneSpan Sign SDK")   .withSigner(SignerBuilder.newSignerWithEmail("[email protected]")   .withCustomId(SIGNER1_ID)   .withFirstName("John1")   .withLastName("Smith1"))   .withSigner(SignerBuilder.newSignerWithEmail("[email protected]")   .withCustomId(SIGNER2_ID)   .withFirstName("John2")   .withLastName("Smith2"))   .withDocument(DocumentBuilder.newDocumentWithName("Document1")   .withId(DOC1_ID)   .fromFile(DOC_FILE_PATH_1)   .withSignature(SignatureBuilder.signatureFor("[email protected]")   .onPage(0)   .atPosition(100, 100)))   .withDocument(DocumentBuilder.newDocumentWithName("Document2")   .withId(DOC2_ID)   .fromFile(DOC_FILE_PATH_2)   .withSignature(SignatureBuilder.signatureFor("[email protected]")   .onPage(0)   .atPosition(100, 100)))   .build(); 

Définir la visibilité des documents par destinataire

Vous pouvez configurer chaque document de manière à ce que seul le signataire spécifié puisse voir ce document, ce qui permet de garantir que les documents contenant des informations de nature sensible ne sont consultés que par leurs destinataires.

Après avoir créé votre transaction, vous devrez créer l'objet DocumentVisibility et ajouter des configurations pour la visibilité de chaque document

Après avoir créé votre transaction, vous devrez créer votre objet DocumentVisibility à l'aide de OneSpan Sign DocumentVisibilityBuilder. Ensuite, vous ajoutez des configurations pour la visibilité de chaque document en utilisant les id personnalisés définis dans la section précédente. Par exemple, withId(DOC1_ID).

 com.silanis.esl.sdk.DocumentVisibility visibility = DocumentVisibilityBuilder.newDocumentVisibility()   .addConfiguration(DocumentVisibilityConfigurationBuilder.newDocumentVisibilityConfiguration(DOC1_ID)   .withSignerIds(signerIdsList1))   .addConfiguration(DocumentVisibilityConfigurationBuilder.newDocumentVisibilityConfiguration(DOC2_ID)   .withSignerIds(signerIdsList2))   .build(); 

Vous pouvez également configurer la visibilité des documents en fonction de signataires spécifiques :

 com.silanis.esl.sdk.DocumentVisibility visibility = newDocumentVisibilityBasedOnSigner()   .addConfiguration(newDocumentVisibilityConfigurationBasedOnSigner(SIGNER1_ID)   .withDocumentIds(Arrays.asList(DOC1_ID)))   .addConfiguration(newDocumentVisibilityConfigurationBasedOnSigner(SIGNER2_ID)   .withDocumentIds(Arrays.asList(DOC2_ID)))   .build(); 

Récupération d'une liste de signataires par document

Une fois que vous aurez défini ces configurations, vous pourrez alors récupérer la liste des signataires qui peuvent visualiser un document :

 List<Signer> signersForDocument1 = eslClient.getSigners(packageId, DOC1_ID); 

De même, vous pouvez récupérer une liste de documents qu'un signataire peut consulter :

 List<Document> documentsForSigner1 = eslClient.getDocuments(packageId, SIGNER1_ID); 

Définition de la visibilité et envoi de la transaction

Finalement, vous définissez la visibilité de vos documents et envoyez votre transaction à l'aide du client OneSpan Sign :

 eslClient.configureDocumentVisibility(packageId, visibility);   eslClient.sendPackage(packageId); 

Résultats

Chaque destinataire ne verra que le document qui lui a été attribué.

Pour télécharger l'exemple complet de code, consultez notre site Partage de code. Vous pouvez également voir cette fonctionnalité dans notre démonstration interactive.

Au cours d'une Signer Experience par défaut, tous les destinataires peuvent visualiser tous les documents d'une transaction. Toutefois, vous pouvez configurer vos transactions de manière à ce que certains documents ne puissent être vus que par des destinataires spécifiques. Cela peut éviter aux destinataires d'avoir à traiter des documents qu'ils n'ont pas besoin de voir et garantir que les documents contenant des informations sensibles ne sont consultés que par les personnes auxquelles ils sont destinés.

Par défaut, l'ajout d'un destinataire à une transaction lui donne accès à tous les documents. Nous vous recommandons de définir la visibilité des documents après l'ajout de tous les documents et de tous les destinataires à la transaction. Si vous devez ajouter un destinataire après avoir défini la visibilité du document, veillez à vérifier la visibilité du document du destinataire que vous venez d'ajouter.

Définir la signature du document par le destinataire

Dans cet exemple, une transaction est configurée de telle sorte que le signataire1 ne doit signer que le document 1 et le signataire2 ne doit signer que le document 2, comme indiqué ci-dessous :

 DocumentPackage superDuperPackage = PackageBuilder.NewPackageNamed("DocumentVisibilityExample " + DateTime.Now)   .DescribedAs("This is a package created using the OneSpan Sign SDK")   .WithSigner(SignerBuilder.NewSignerWithEmail("[email protected]")   .WithCustomId(SIGNER1_ID)   .WithFirstName("John1")   .WithLastName("Smith1"))   .WithSigner(SignerBuilder.NewSignerWithEmail("[email protected]")   .WithCustomId(SIGNER2_ID)   .WithFirstName("John2")   .WithLastName("Smith2"))   .WithDocument(DocumentBuilder.NewDocumentNamed("Document1")   .WithId(DOC1_ID)   .FromFile("C:/Users/hhaidary/Desktop/PDFs/sample_contract.pdf")   .WithSignature(SignatureBuilder.SignatureFor("[email protected]")   .OnPage(0)   .AtPosition(100, 100)))   .WithDocument(DocumentBuilder.NewDocumentNamed("Document2")   .WithId(DOC2_ID)   .FromFile("C:/Users/hhaidary/Desktop/PDFs/cleaning_contract.pdf")   .WithSignature(SignatureBuilder.SignatureFor("[email protected]")   .OnPage(0)   .AtPosition(100, 100)))   .Build(); 

Définir la visibilité des documents par destinataire

Vous pouvez configurer chaque document de manière à ce que seul le signataire spécifié puisse voir ce document, ce qui permet de garantir que les documents contenant des informations de nature sensible ne sont consultés que par leurs destinataires.

Après avoir créé votre transaction, vous devrez créer votre objet DocumentVisibility à l'aide de l'outil OneSpan Sign DocumentVisibilityBuilder. Vous devrez ensuite définir la visibilité de chaque document à l'aide des identifiants personnalisés définis dans la section précédente, withId(DOC1_ID).

 Silanis.ESL.SDK.DocumentVisibility visibility = DocumentVisibilityBuilder.NewDocumentVisibility()   .AddConfiguration(DocumentVisibilityConfigurationBuilder.NewDocumentVisibilityConfiguration(DOC1_ID)   .WithSignerIds(signerIdsList1))   .AddConfiguration(DocumentVisibilityConfigurationBuilder.NewDocumentVisibilityConfiguration(DOC2_ID)   .WithSignerIds(signerIdsList2))   .Build(); 

Vous pouvez également configurer la visibilité des documents en fonction de signataires spécifiques :

 Silanis.ESL.SDK.DocumentVisibility visibility = DocumentVisibilityBuilder.newDocumentVisibilityBasedOnSigner()   .AddConfiguration(DocumentVisibilityConfigurationBasedOnSignerBuilder.NewDocumentVisibilityConfigurationBasedOnSigner(SIGNER1_ID)   .WithDocumentIds(new List{ DOC1_ID }))  .AddConfiguration(DocumentVisibilityConfigurationBasedOnSignerBuilder.newDocumentVisibilityConfigurationBasedOnSigner(SIGNER2_ID)   .WithDocumentIds(new List{ DOC2_ID }))  .Build(); 

Récupération d'une liste de signataires par document

Une fois que vous aurez défini ces configurations, vous pourrez alors récupérer la liste des signataires qui peuvent visualiser un document :

 IList<Signer> signersForDocument1 = eslClient.GetSigners(packageId, DOC1_ID); 

De même, vous pouvez récupérer une liste de documents qu'un signataire peut consulter :

 IList<Document> documentsForSigner1 = eslClient.GetDocuments(packageId, SIGNER1_ID); 

Définition de la visibilité et envoi de la transaction

Finalement, vous définissez la visibilité de vos documents et envoyez votre transaction à l'aide du client OneSpan Sign :

 eslClient.ConfigureDocumentVisibility(packageId, visibility);   eslClient.SendPackage(packageId); 

Résultats

Chaque destinataire ne verra que le document qui lui a été attribué.

Pour télécharger l'exemple complet de code, consultez notre site Partage de code. Vous pouvez également voir cette fonctionnalité dans notre démonstration interactive.

Au cours d'une Signer Experience par défaut, tous les destinataires peuvent visualiser tous les documents d'une transaction. Toutefois, vous pouvez configurer vos transactions de manière à ce que certains documents ne puissent être vus que par des destinataires spécifiques. Cela peut éviter aux destinataires d'avoir à traiter des documents qu'ils n'ont pas besoin de voir et garantir que les documents contenant des informations sensibles ne sont consultés que par les personnes auxquelles ils sont destinés.

Par défaut, l'ajout d'un destinataire à une transaction lui donne accès à tous les documents. Nous vous recommandons de définir la visibilité des documents après l'ajout de tous les documents et de tous les destinataires à la transaction. Si vous devez ajouter un destinataire après avoir défini la visibilité du document, veillez à vérifier la visibilité du document du destinataire que vous venez d'ajouter.

Définir la signature du document par le destinataire

Dans cet exemple, une transaction est configurée de telle sorte que le signataire1 ne doit signer que le document 1 et le signataire2 ne doit signer que le document 2, comme indiqué ci-dessous :

Requête HTTP

 POST /api/packages 

En-têtes HTTP

  Accept: application/json   Content-Type: multipart/form-data   Authorization: Basic api_key 

Données utiles de la demande

 ------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"   {   "autocomplete": true,   "description": "This is a package created using the OneSpan Sign REST API",   "documents": [   {   "approvals": [   {   "fields": [   {   "extract": false,   "height": 50,   "left": 100,   "page": 0,   "subtype": "FULLNAME",   "top": 100,   "type": "SIGNATURE",   "width": 200   }   ],   "role": "Signer1"   }   ],   "extract": false,   "id": "doc1",   "index": 0,   "name": "DocumentA"   },   {   "approvals": [   {   "fields": [   {   "extract": false,   "height": 50,   "left": 100,   "page": 0,   "subtype": "FULLNAME",   "top": 100,   "type": "SIGNATURE",   "width": 200   }   ],   "role": "Signer2"   }   ],   "extract": false,   "fields": [],   "id": "doc2",   "index": 0,   "name": "DocumentB",   "pages": []   }   ],   "name": "DocumentVisibilityExample REST API",   "roles": [   {   "id": "Signer1",   "index": 0,   "name": "Signer1",   "signers": [   {   "email": "[email protected]",   "firstName": "John1",   "id": "Signer1",   "lastName": "Smith1"   }   ]   },   {   "id": "Signer2",   "index": 0,   "name": "Signer2",   "signers": [   {   "email": "[email protected]",   "firstName": "John2",   "id": "Signer2",   "lastName": "Smith2"   }   ]   }   ],   "type": "PACKAGE",   "visibility": "ACCOUNT"   }   ------WebKitFormBoundary1bNO60n7FqP5WO4t-- 

Pour une description complète de chaque champ, voir le tableau des données utiles de la demande ci-dessous.

Données utiles de la réponse

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

Définir la visibilité des documents par destinataire

Vous pouvez configurer chaque document de manière à ce que seul le signataire spécifié puisse voir ce document, ce qui permet de garantir que les documents contenant des informations de nature sensible ne sont consultés que par leurs destinataires.

Une fois que vous avez créé votre transaction, vous devrez faire un POST https://sandbox.esignlive.com/api/packages/{packageId}/documents/visibility avec les données utiles JSON suivante :

En-têtes HTTP

 Accept: application/json   Content-Type: application/json   Authorization: Basic api_key 
 {   "configurations": [   {   "documentUid": "doc1",   "roleUids": [   "Signer1"   ]   },   {   "documentUid": "doc2",   "roleUids": [   "Signer2"   ]   }   ]   } 

Vous pouvez ajouter une configuration pour la visibilité de chaque document en utilisant les identifiants personnalisés définis à l'étape précédente (par exemple, « id » : « doc1 ») Une fois que vous avez configuré la visibilité de votre document, vous pouvez récupérer la visibilité de votre document comme tel :

GET https://sandbox.esignlive.com/api/packages/{packageId}/documents/visibility

Définition de la visibilité et envoi de la transaction

Finalement, vous définissez la visibilité de vos documents et envoyez votre transaction à l'aide du client OneSpan Sign :

 {   "status": "SENT"   } 

Résultats

Chaque destinataire ne verra que le document qui lui a été attribué.

Tableau des données utiles de la demande

PropriétéTypeModifiableRequisPar défautExemples de valeurs
statutchaîne de caractèresOuiNonÉBAUCHEÉBAUCHE / ENVOYÉ / COMPLÉTÉ / ARCHIVÉ / DÉCLINÉ / REFUSÉ / EXPIRÉ
ComplétionAutobooléenOuiNonvraivrai / faux
typechaîne de caractèresOuiNonPACKAGEPAQUET / MODÈLE / MISE EN PAGE
nomchaîne de caractèresOuiOuis.o.DocumentVisibilityExample REST API
descriptionchaîne de caractèresOuiOuis.o.Il s'agit d'un paquet créé à l'aide de l'API REST de OneSpan Sign
supprimébooléenOuiNonfauxvrai / faux
visibilitéchaîne de caractèresOuiNonCOMPTECOMPTE / EXPÉDITEUR
documents
idchaîne de caractèresOuiNons.o.doc1
nomchaîne de caractèresOuiNons.o.Document1
indexentierOuiNon00 / 1 / 2 ...
extraitbooléenOuiNonfauxfaux / vrai
approbations
champs
sous-typechaîne de caractèresOuiNons.o.NOM COMPLET / INITIALES / CAPTURE / CAPTURE_MOBILE / ÉTIQUETTE / CHAMP DE TEXTE / ZONE DE TEXTE / CASE / DATE / RADIO / LISTE
typechaîne de caractèresOuiNons.o.SIGNATURE / ENTRÉE
extraitbooléenOuiNonfauxvrai / faux
hauteurentierOuiNon5050 / 100 / 150 ...
gaucheentierOuiNon050 / 100 / 150 ...
pageentierOuiNon00 / 1 / 2 ...
hautentierOuiNon050 / 100 / 150 ...
largeurentierOuiNon20050 / 100 / 150 ...
rôlechaîne de caractèresOuiNons.o.Signataire1
rôles
idchaîne de caractèresOuiNons.o.Signataire1
indexentierOuiNon00 / 1 / 2 ...
nomchaîne de caractèresOuiNons.o.Signataire1
typechaîne de caractèresOuiNonSIGNERSIGNATAIRE / EXPÉDITEUR
signataires
courrielchaîne de caractèresOuiOuis.o.[email protected]
Prénomchaîne de caractèresOuiOuis.o.John1
Nom de famillechaîne de caractèresOuiOuis.o.Smith1
téléphonechaîne de caractèresOuiNons.o.514-555-8888
idchaîne de caractèresOuiNons.o.Signataire1
entreprisechaîne de caractèresOuiNons.o.Acme Inc.
titrechaîne de caractèresOuiNons.o.Directeur général

Pour télécharger l'exemple complet de code, consultez notre site Partage de code. Vous pouvez également voir cette fonctionnalité dans notre démonstration interactive.

Au cours d'une Signer Experience par défaut, tous les destinataires peuvent visualiser tous les documents d'une transaction. Toutefois, vous pouvez configurer vos transactions de manière à ce que certains documents ne puissent être vus que par des destinataires spécifiques. Cela peut éviter aux destinataires d'avoir à traiter des documents qu'ils n'ont pas besoin de voir et garantir que les documents contenant des informations sensibles ne sont consultés que par les personnes auxquelles ils sont destinés.

Par défaut, l'ajout d'un destinataire à une transaction lui donne accès à tous les documents. Nous vous recommandons de définir la visibilité des documents après l'ajout de tous les documents et de tous les destinataires à la transaction. Si vous devez ajouter un destinataire après avoir défini la visibilité du document, veillez à vérifier la visibilité du document du destinataire que vous venez d'ajouter.

Définir la signature du document par le destinataire

Dans cet exemple, une transaction est configurée de telle sorte que le signataire1 ne doit signer que le document 1 et le signataire2 ne doit signer que le document 2, comme indiqué ci-dessous :

  ESignLiveSDK sdk = new ESignLiveSDK();   //Create package   ESignLiveAPIObjects.Package_x pkg = new ESignLiveAPIObjects.Package_x();   pkg.name = 'Test Document Visibility - ' + Datetime.now().format();   pkg.status = ESignLiveAPIObjects.PackageStatus.DRAFT;   //Create Roles   String roleId1 = 'Signer1';   ESignLiveAPIObjects.Role role1 = new ESignLiveAPIObjects.Role();   role1.signers = sdk.createRolesSigner('sigenr1_firstname', 'signer1_lastname', '[email protected]', 'CEO', 'ABC Bank');   role1.id = roleId1;   role1.name = roleId1;   String roleId2 = 'Signer2';   ESignLiveAPIObjects.Role role2 = new ESignLiveAPIObjects.Role();   role2.signers = sdk.createRolesSigner('sigenr2_firstname', 'signer2_lastname', '[email protected]', 'Applicant', 'ABC Company');   role2.id = roleId2;   role2.name = roleId2;   pkg.roles = new List<ESignLiveAPIObjects.Role>{role1,role2}; //add role   //Prepare Documents Blob   //use single document twice, just for test   String document1Name = 'documentA';   String document2Name = 'documentB';   StaticResource sr = [SELECT Id, Body FROM StaticResource WHERE Name = 'testdoc1' LIMIT 1];   Map<String,Blob> documentBlobMap = new Map<String,Blob>();   documentBlobMap.put(document1Name, sr.Body);   documentBlobMap.put(document2Name, sr.Body);   //Create Document Metadata   ESignLiveAPIObjects.Document document1 = new ESignLiveAPIObjects.Document();   documentA.name = documentAName;   documentA.id = documentAName;   ESignLiveAPIObjects.Document documentB = new ESignLiveAPIObjects.Document();   documentB.name = documentBName;   documentB.id = documentBName;   pkg.documents = new List<ESignLiveAPIObjects.Document>{document1,document2}; //add document   //Send package One Step   String packageId = sdk.createPackage(pkg,documentBlobMap);   System.debug('PackageId: ' + packageId); 

Définir la visibilité des documents par destinataire

Vous pouvez configurer chaque document de manière à ce que seul le signataire spécifié puisse voir ce document, ce qui permet de garantir que les documents contenant des informations de nature sensible ne sont consultés que par leurs destinataires.

Après avoir créé votre transaction, vous devrez créer votre objet DocumentVisibility et ajouter des configurations pour la visibilité de chacun en utilisant les ID de rôle définis dans la section précédente. Par exemple, role1.id = roleId1.

  //configure documentVisibility   DocumentVisibility documentVisibility = new DocumentVisibility()   .addConfiguration(new DocumentVisibilityConfiguration('document1')   .addRole('Signer1'))   .addConfiguration(new DocumentVisibilityConfiguration('document2')   .addRole('Signer2')); 

Récupération d'une liste de signataires par document

Une fois que vous aurez défini ces configurations, vous pourrez alors récupérer la liste des signataires qui peuvent visualiser un document :

  public List<ESignLiveAPIObjects.Role> getSigners(String packageId, String documentId) 

De même, vous pouvez récupérer une liste de documents qu'un signataire peut consulter :

  public List<ESignLiveAPIObjects.Document> getDocuments(String packageId, String roleId) 

Définition de la visibilité et envoi de la transaction

Finalement, vous définissez la visibilité de vos documents et envoyez votre transaction à l'aide du client OneSpan Sign :

  configureDocumentVisibility(packageId, documentVisibility);   sdk.setStatus(packageId , ESignLiveAPIObjects.PackageStatus.SENT); 

Résultats

Chaque destinataire ne verra que le document qui lui a été attribué.