Configuration de la visibilité des documents
  • 27 Feb 2025
  • 16 Minutes à lire
  • Sombre
    Lumière
  • PDF

Configuration de la visibilité des documents

  • Sombre
    Lumière
  • PDF

Résumé de l’article

SDK Java.NET SDKAPI RESTAPEX SDK

SDK Java

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("mail31@example.com")
        .withCustomId(SIGNER1_ID)
        .withFirstName("John1")
        .withLastName("Smith1"))
    .withSigner(SignerBuilder.newSignerWithEmail("mail32@example.com")
        .withCustomId(SIGNER2_ID)
        .withFirstName("John2")
        .withLastName("Smith2"))
    .withDocument(DocumentBuilder.newDocumentWithName("Document1")
        .withId(DOC1_ID)
        .fromFile(DOC_FILE_PATH_1)
        .withSignature(SignatureBuilder.signatureFor("mail31@example.com")
            .onPage(0)
            .atPosition(100, 100)))
    .withDocument(DocumentBuilder.newDocumentWithName("Document2")
        .withId(DOC2_ID)
        .fromFile(DOC_FILE_PATH_2)
        .withSignature(SignatureBuilder.signatureFor("mail32@example.com")
            .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é.

.NET SDK

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("mail31@example.com")
            .WithCustomId(SIGNER1_ID)
            .WithFirstName("John1")
            .WithLastName("Smith1")
    )
    .WithSigner(
        SignerBuilder.NewSignerWithEmail("mail32@example.com")
            .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("mail31@example.com")
                    .OnPage(0)
                    .AtPosition(100, 100)
            )
    )
    .WithDocument(
        DocumentBuilder.NewDocumentNamed("Document2")
            .WithId(DOC2_ID)
            .FromFile("C:/Users/hhaidary/Desktop/PDFs/cleaning_contract.pdf")
            .WithSignature(
                SignatureBuilder.SignatureFor("mail32@example.com")
                    .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é.

API REST

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": "mail31@example.com",  
                    "firstName": "John1",  
                    "id": "Signer1",  
                    "lastName": "Smith1"  
                }  
            ]  
        },  
        {  
            "id": "Signer2",  
            "index": 0,  
            "name": "Signer2",  
            "signers": [  
                {  
                    "email": "mail32@example.com",  
                    "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é

Type

Modifiable

Requis

Par défaut

Exemples de valeurs

statut

chaîne de caractères

Oui

Non

ÉBAUCHE

ÉBAUCHE / ENVOYÉ / COMPLÉTÉ / ARCHIVÉ / DÉCLINÉ / REFUSÉ / EXPIRÉ

ComplétionAuto

booléen

Oui

Non

vrai

vrai / faux

type

chaîne de caractères

Oui

Non

PACKAGE

PAQUET / MODÈLE / MISE EN PAGE

nom

chaîne de caractères

Oui

Oui

s.o.

DocumentVisibilityExample REST API

description

chaîne de caractères

Oui

Oui

s.o.

Il s'agit d'un paquet créé à l'aide de l'API REST de OneSpan Sign

supprimé

booléen

Oui

Non

faux

vrai / faux

visibilité

chaîne de caractères

Oui

Non

COMPTE

COMPTE / EXPÉDITEUR

documents

id

chaîne de caractères

Oui

Non

s.o.

doc1

nom

chaîne de caractères

Oui

Non

s.o.

Document1

index

entier

Oui

Non

0

0 / 1 / 2 ...

extrait

booléen

Oui

Non

faux

faux / vrai

approbations

champs

sous-type

chaîne de caractères

Oui

Non

s.o.

NOM COMPLET / INITIALES / CAPTURE / CAPTURE_MOBILE / ÉTIQUETTE / CHAMP DE TEXTE / ZONE DE TEXTE / CASE / DATE / RADIO / LISTE

type

chaîne de caractères

Oui

Non

s.o.

SIGNATURE / ENTRÉE

extrait

booléen

Oui

Non

faux

vrai / faux

hauteur

entier

Oui

Non

50

50 / 100 / 150 ...

gauche

entier

Oui

Non

0

50 / 100 / 150 ...

page

entier

Oui

Non

0

0 / 1 / 2 ...

haut

entier

Oui

Non

0

50 / 100 / 150 ...

largeur

entier

Oui

Non

200

50 / 100 / 150 ...

rôle

chaîne de caractères

Oui

Non

s.o.

Signataire1

rôles

id

chaîne de caractères

Oui

Non

s.o.

Signataire1

index

entier

Oui

Non

0

0 / 1 / 2 ...

nom

chaîne de caractères

Oui

Non

s.o.

Signataire1

type

chaîne de caractères

Oui

Non

SIGNER

SIGNATAIRE / EXPÉDITEUR

signataires

courriel

chaîne de caractères

Oui

Oui

s.o.

courriel31@exemple.com

Prénom

chaîne de caractères

Oui

Oui

s.o.

John1

Nom de famille

chaîne de caractères

Oui

Oui

s.o.

Smith1

téléphone

chaîne de caractères

Oui

Non

s.o.

514-555-8888

id

chaîne de caractères

Oui

Non

s.o.

Signataire1

entreprise

chaîne de caractères

Oui

Non

s.o.

Acme Inc.

titre

chaîne de caractères

Oui

Non

s.o.

Directeur général

APEX SDK

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', 'signer1@example.com', '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', 'signer2@example.com', 'Applicant', 'ABC Company'
);
role2.id = roleId2;
role2.name = roleId2;

pkg.roles = new List<ESignLiveAPIObjects.Role>{ role1, role2 }; // Add roles

// 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();
document1.name = document1Name;
document1.id = document1Name;

ESignLiveAPIObjects.Document document2 = new ESignLiveAPIObjects.Document();
document2.name = document2Name;
document2.id = document2Name;

pkg.documents = new List<ESignLiveAPIObjects.Document>{ document1, document2 }; // Add documents

// 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 document visibility
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é.


Cet article vous a-t-il été utile ?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.
ESC

Ozzy, facilitant la découverte de connaissances grâce à l’intelligence conversationnelle