To download the full code sample see our Code Share site.

A document work flow determines the order in which multiple documents should be signed by a signer. The default work flow allows a signer to freely browse all documents and sign them in any order. This topic explains how to change that.

In this example, there are two documents to be signed, with the First Document needing to be signed before the Second Document.

.withDocument(newDocumentWithName("Second Document")
                        .fromFile("src/main/resources/document.pdf")
                        .atIndex(2)
                        .withSignature(signatureFor("[email protected]")
                                .onPage(0)
                                .atPosition(100, 100)))
.withDocument(newDocumentWithName("First Document")
                        .fromFile("src/main/resources/document.pdf")
                        .atIndex(1)
                        .withSignature(signatureFor("[email protected]")
                                .onPage(0)
                                .atPosition(100, 100)))

The sample code below shows you how to reorder the document work flow after you have created the package. If you've already sent your package to be signed, you will need to change its status to DRAFT before you can update the signer work flow.

DocumentPackage postOrderDocumentsPackage = eslClient.getPackage(packageId);
postOrderDocumentsPackage.getDocument("First Document").setIndex(2);
postOrderDocumentsPackage.getDocument("Second Document").setIndex(1);
 
eslClient.getPackageService().orderDocuments(postOrderDocumentsPackage);

This example shows you how to edit the document object. If you need a comparison to the basic document object creation procedure, or if this is the first time creating a package with the Java SDK, see Creating and Sending a Transaction.

Results

Once you have completed this procedure, you should find the appropriate document work flow in your OneSpan Sign transaction.

To download the full code sample see our Code Share site.

A document work flow determines the order in which multiple documents should be signed by a signer. The default work flow allows a signer to freely browse all documents and sign them in any order. This topic explains how to change that.

In this example, there are two documents to be signed, with the First Document needing to be signed before the Second Document.

.WithDocument(DocumentBuilder.NewDocumentNamed("Second Document")
                            .FromFile("src/main/resources/document.pdf")
                            .AtIndex(2)
                            .WithSignature(SignatureBuilder.SignatureFor("[email protected]")
                                    .OnPage(0)
                                    .AtPosition(100, 100)))
.WithDocument(DocumentBuilder.NewDocumentNamed("First Document")
                            .FromFile("src/main/resources/document.pdf")
                            .AtIndex(1)
                            .WithSignature(SignatureBuilder.SignatureFor("[email protected]")
                                    .OnPage(0)
                                    .AtPosition(100, 100)))

The sample code below shows you how to reorder the document work flow after you have created the package. If you've already sent your package to be signed, you will need to change its status to DRAFT before you can update the signer work flow.

 DocumentPackage savedPackage = eslClient.GetPackage(packageId);
savedPackage.GetDocument("First Document").Index = 2;
savedPackage.GetDocument("Second Document").Index = 1;
eslClient.PackageService.OrderDocuments(savedPackage);

This example shows you how to edit the document object.

If you need a comparison to the basic object creation procedure, or if this is the first time creating a transaction, see Creating and Sending a Transaction.

Results

Once you have completed this procedure, you should find the appropriate document work flow in your OneSpan Sign transaction.

To download the full code sample see our Code Share site.

A document work flow determines the order in which multiple documents should be signed by a signer. The default work flow allows a signer to freely browse all documents and sign them in any order. This topic explains how to change that.

In this example, there are two documents to be signed, with the First Document needing to be signed before the Second Document.

HTTP Request

POST /api/packages

HTTP Headers

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

Request Payload

------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"
{
  "documents": [
    {
      "id": "doc1",
      "index": 1,
      "name": "First Document"
    },
    {
      "id": "doc2",
      "index": 2,
      "name": "Second Document"
    }
  ],
  "name": "Document work flow",
  "type": "PACKAGE",
  "status": "DRAFT"
}
------WebKitFormBoundary1bNO60n7FqP5WO4t--

For a complete description of each field, see the Request Payload section below.

Response Payload

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

Next, to update the document work flow, you will need to make a PUT request to:

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

With the following JSON payload:

[{
   "id":"doc1",
   "index":2
 },
 {
   "id":"doc2",
   "index":1
 }
}]

The sample code below shows you how to reorder the document work flow after you have created the package. If you've already sent your package to be signed, you will need to change its status to DRAFT before you can update the signer work flow.

This example shows you how to edit the document object. If you need a comparison to the basic document object creation procedure, or if this is the first time creating a package with the REST API, see Creating and Sending a Transaction.

Results

Once you have completed this procedure, you should find the appropriate document work flow in your OneSpan Sign transaction.

Request Payload Table

PropertyTypeEditableRequiredDefaultSample Values
statusstringYesNoDRAFTDRAFT / SENT / COMPLETED / ARCHIVED / DECLINED / OPTED_OUT / EXPIRED
typestringYesNoPACKAGEPACKAGE / TEMPLATE / LAYOUT
namestringYesYesn/aDocument Attributes Example
documents
namestringYesNon/asample doc
idstringYesNon/adoc1
indexintegerYesNo00 / 1 / 2 ...

To download the full code sample see our Code Share site.

A document work flow determines the order in which multiple documents should be signed by a signer. The default work flow allows a signer to freely browse all documents and sign them in any order. This topic explains how to change that.

In this example, there are two documents to be signed, with the First Document needing to be signed before the Second Document.

	String document1Id = 'document1'; 
        StaticResource sr1 = [SELECT Id, Body FROM StaticResource WHERE Name = 'testdoc1' LIMIT 1];
        Map<String,Blob> doc1 = new Map<String,Blob>();
        doc1.put(document1Id, sr1.Body);
         
        ESignLiveAPIObjects.Document document1 = new ESignLiveAPIObjects.Document();
        document1.name = document1Id;
        document1.id = document1Id;
        document1.index = 1;
        sdk.createDocuments(packageId, document1, doc1);
    	
    	
    	String document2Id = 'document2';
    	StaticResource sr2 = [SELECT Id, Body FROM StaticResource WHERE Name = 'testdoc2' LIMIT 1];
    	Map<String,Blob> doc2 = new Map<String,Blob>();
    	doc2.put(document2Id, sr2.Body);
    	
    	ESignLiveAPIObjects.Document document2 = new ESignLiveAPIObjects.Document();
        document2.name = document2Id;
        document2.id = document2Id;
        document2.index = 2;
        sdk.createDocuments(packageId, document2, doc2);

The sample code below shows you how to reorder the document work flow after you have created the package. If you've already sent your package to be signed, you will need to change its status to DRAFT before you can update the signer work flow.

    	//update docuemnt work flow in existing package
    	pkg = sdk.getPackage(packageId);
    	
    	document1 = getDocument(pkg,'document1');
    	document1.index = 2;
    	document2 = getDocument(pkg,'document2');
    	document2.index = 1;
    	
    	updateDocuments(packageId, pkg.documents);	

This example shows you how to edit the document object. If you need a comparison to the basic document object creation procedure, or if this is the first time creating a package with the Apex SDK, see Creating and Sending a Transaction.

Results

Once you have completed this procedure, you should find the appropriate document work flow in your OneSpan Sign transaction.