Document visibility

During a Signer Experience, by default all recipients can view all documents in a transaction. However, you can configure your transactions so that certain documents can only be seen by specific recipients. This can save recipients from having to process documents they don’t need to see, and it can ensure that documents with sensitive information are viewed only by their intended recipients.

Document Visibility

Defining Document Visibility By Recipient

You can configure each document so that only a specified signer can see that document.This can ensure that documents with sensitive information are viewed only by their intended recipients.

POST /api/packages/{packageId}/documents/visibility

Payload:
{
  "configurations": [
    {
      "documentUid": "Document1",
      "roleUids": [
        "Signer1"
      ]
    },
    {
      "documentUid": "Document2",
      "roleUids": [
        "Signer2"
      ]
    }
  ]
}
DocumentVisibility visibility = newDocumentVisibilityBasedOnSigner()
    .addConfiguration(newDocumentVisibilityConfigurationBasedOnSigner(Signer1)
        .withDocumentIds(Arrays.asList(DOCUMENT1_ID)))
    .addConfiguration(newDocumentVisibilityConfigurationBasedOnSigner(Signer2)
        .withDocumentIds(Arrays.asList(DOCUMENT2_ID)))
    .build();
DocumentVisibility visibility = DocumentVisibilityBuilder.newDocumentVisibilityBasedOnSigner()
    .AddConfiguration(DocumentVisibilityConfigurationBasedOnSignerBuilder.NewDocumentVisibilityConfigurationBasedOnSigner(Signer1)
    .WithDocumentIds(new List {
        DOCUMENT1_ID
    })).AddConfiguration(DocumentVisibilityConfigurationBasedOnSignerBuilder.newDocumentVisibilityConfigurationBasedOnSigner(Signer2)
        .WithDocumentIds(new List {
            DOCUMENT2_ID
        }))
    .Build();
Retrieving a List of Signers Per Document

Once you have set these configurations, you can then retrieve a list of signers who can view a document.

GET /api/packages/{packageId}/documents/visibility
List  documentsForSigner1 = eslClient.getDocuments(packageId, Signer1);
List  documentsForSigner2 = eslClient.getDocuments(packageId, Signer2);
IList documentsForSigner1 = eslClient.GetDocuments(packageId, Signer1);
IList documentsForSigner2 = eslClient.GetDocuments(packageId, Signer2);