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

If a signer opts out of the Signing Ceremony or declines to sign their documents, they will be prompted to enter a reason for doing so. These reasons can be retrieved. The following topic describes how to do this.

To retrieve opt out or decline reasons you must first create a PackageID object for your transaction. Once you have your PackageID object you will call on your OneSpan Sign client to retrieve these reasons, using the PackageID object as a parameter. The following code will do this:

EslClient client = new EslClient(key, url);
		
PackageId packageId = new PackageId("VMvbq5C0BIQaxCtG_8LlppDdj08=");		
DocumentPackage documentPackage = client.getPackage(packageId);
		
List<Message> messages = client.getPackage(packageId).getMessages();
System.out.println(documentPackage.getStatus().toString() + " reason : " + messages.get(0).getContent());

Results

Here is an example of what you can expect to see once you have run your code.

Capture

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

If a signer opts out of the Signing Ceremony or declines to sign their documents, they will be prompted to enter a reason for doing so. These reasons can be retrieved. The following topic describes how to do this.

To retrieve opt out or decline reasons you must first create a PackageID object for your transaction. Once you have your PackageID object you will call on your OneSpan Sign client to retrieve these reasons, using the PackageID object as a parameter. The following code will do this:

EslClient client = new EslClient(key, url);
		
PackageId packageId = new PackageId("VMvbq5C0BIQaxCtG_8LlppDdj08=");
		
DocumentPackage documentPackage = client.GetPackage(packageId);
IList<Message> messages = client.GetPackage(packageId).Messages;
		
Debug.WriteLine(documentPackage.Status.ToString() + " reason : " + messages[0].Content);

Results

Here is an example of what you can expect to see once you have run your code.

Capture

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

If a signer opts out of the Signing Ceremony or declines to sign their documents, they will be prompted to enter a reason for doing so. These reasons can be retrieved. The following topic describes how to do this.

To retrieve the opt-out and declined messages, you will first need to retrieve the package JSON. Then, you can retrieve the messages from the "messages" key in the JSONresponse object.

HTTP Request

POST /api/packages/{packageId}

HTTP Headers

Accept: application/json
Content-Type: application/json
Authorization: Basic api_key

Response Payload

{
  "status": "OPTED_OUT",
  "roles": [
    {
      "id": "TE4gJQuFqNE5",
      "data": null,
      "emailMessage": {
        "content": ""
      },
      "locked": false,
      "reassign": false,
      "specialTypes": [],
      "attachmentRequirements": [],
      "type": "SENDER",
      "index": 0,
      "signers": [
        {
          "group": null,
          "language": "en",
          "signature": {
            "handdrawn": "AQAAADJI+a4cnf0t3Dlf0GqWJceCA+4AAwADAN8BAAADAAAAggPuAOgAAAACfyxAUkAlQCdAOUA6QDtAHEAtQBtACkAJQBVAFBIyfkA0QBVABkAYQCpAHEAtQC9ALkAtQDxAO0A6QEhAN0AlQCQyTjZAgEBwQIBAoFDSUOFQ8lDiUNJQ0lCiQHBAUCIXGVBSUCVQN1BJUDpQXVA9UE5QLlAuUDpQOVAkm1BhQLZAd0B7QFpAXUBPQTBAHkAdQAtAB2AmYBRgQmCAcJVwmHC5Mh42QFBAkECAQKBAsEDAQNBQ8VDyUPJQ81DTULRQg1ByUEGeIgQ6QDhAJ0AmQCZAFItwbHBtMhdBUCafUGJQcVCSUJFQoUDAQKBAsECBQHNAdEBEQDRABkAFYCdgR2BXYHhgd2CIYIVgdmBDYEJAUUBwQIFAkECwQLBA0EDAQLBAoEBwQGASG0xAc0BnQEhASkArQBxADEAKQAlABkAFMkVKUENQUVBBUGFQYVCRUKJQsVDCUNJQsUDQQKBAkEBwQFJAREAlIllVUHFQUVByUKFQslDSUNJQ9VDlUPZQ1lDWUKVQZVBEUCQyCxivr2BjYGRgdGB1YHZgZmBWYEdgRkAFQClAREBjQJNAk0CzQKNAs0CjQJNAQo9gRWBjYJNgs2DCYNRg1GCkYKRgY2Bkrg==",
            "textual": null
          },
          "id": "ZQI8k6faVoM8",
          "data": null,
          "title": null,
          "auth": {
            "scheme": "NONE",
            "challenges": []
          },
          "updated": "2018-05-02T15:55:42Z",
          "external": null,
          "knowledgeBasedAuthentication": null,
          "email": "[email protected]",
          "firstName": "Haris",
          "lastName": "Haidary",
          "phone": "",
          "professionalIdentityFields": [],
          "userCustomFields": [],
          "company": "eSignLive",
          "delivery": {
            "download": true,
            "email": true,
            "provider": false
          },
          "address": null,
          "created": "2018-05-02T15:55:42Z",
          "name": "",
          "specialTypes": []
        }
      ],
      "name": "Owner"
    },
    {
      "id": "bf5ed1f3-54dc-4231-8548-e01878cda700",
      "data": null,
      "emailMessage": {
        "content": ""
      },
      "locked": false,
      "reassign": false,
      "specialTypes": [],
      "attachmentRequirements": [],
      "type": "SIGNER",
      "index": 0,
      "signers": [
        {
          "group": null,
          "language": "en",
          "signature": null,
          "id": "a8e907ec-9472-4cb9-812a-efe5af88ed1b",
          "data": null,
          "title": "",
          "auth": {
            "scheme": "NONE",
            "challenges": []
          },
          "updated": "2018-05-02T15:56:02Z",
          "external": null,
          "knowledgeBasedAuthentication": null,
          "email": "[email protected]",
          "firstName": "john",
          "lastName": "smith",
          "phone": "",
          "professionalIdentityFields": [],
          "userCustomFields": [],
          "company": "",
          "delivery": {
            "download": false,
            "email": false,
            "provider": false
          },
          "address": null,
          "created": "2018-05-02T15:56:03Z",
          "name": "",
          "specialTypes": []
        }
      ],
      "name": "Signer1"
    },
    {
      "id": "b85551ee-6788-4468-9943-947a24b53d1e",
      "data": null,
      "emailMessage": {
        "content": ""
      },
      "locked": false,
      "reassign": false,
      "specialTypes": [],
      "attachmentRequirements": [],
      "type": "SIGNER",
      "index": 0,
      "signers": [
        {
          "group": null,
          "language": "en",
          "signature": null,
          "id": "530d4aa6-dc40-430f-a797-67ce030bd632",
          "data": null,
          "title": "",
          "auth": {
            "scheme": "NONE",
            "challenges": []
          },
          "updated": "2018-05-02T15:56:12Z",
          "external": null,
          "knowledgeBasedAuthentication": null,
          "email": "[email protected]",
          "firstName": "John",
          "lastName": "Smith",
          "phone": "",
          "professionalIdentityFields": [],
          "userCustomFields": [],
          "company": "",
          "delivery": {
            "download": false,
            "email": false,
            "provider": false
          },
          "address": null,
          "created": "2018-05-02T15:56:12Z",
          "name": "",
          "specialTypes": []
        }
      ],
      "name": "Signer2"
    }
  ],
  "description": "",
  "language": "en",
  "id": "-_MOT5yMI3Cx3S7OWaFGkrXzOw8=",
  "data": {
    "senderVisible": false,
    "currentSignerProgress": {
      "documentsToConfirmCount": "0",
      "documentsConfirmedCount": "0",
      "approvalsToConfirmCount": "0",
      "approvalsConfirmedCount": "0",
      "documentsPartiallyCompletedCount": "0",
      "approvalsToSignNowCount": "0"
    },
    "overallProgress": {
      "documentsToCompleteCount": "3",
      "documentsCompletedCount": "1",
      "documentsToConfirmCount": "3",
      "documentsConfirmedCount": "1",
      "documentsPartiallyCompletedCount": "0"
    }
  },
  "autocomplete": true,
  "completed": null,
  "sender": {
    "status": "ACTIVE",
    "language": "en",
    "signature": {
      "handdrawn": "AQAAADJI+a4cnf0t3Dlf0GqWJceCA+4AAwADAN8BAAADAAAAggPuAOgAAAACfyxAUkAlQCdAOUA6QDtAHEAtQBtACkAJQBVAFBIyfkA0QBVABkAYQCpAHEAtQC9ALkAtQDxAO0A6QEhAN0AlQCQyTjZAgEBwQIBAoFDSUOFQ8lDiUNJQ0lCiQHBAUCIXGVBSUCVQN1BJUDpQXVA9UE5QLlAuUDpQOVAkm1BhQLZAd0B7QFpAXUBPQTBAHkAdQAtAB2AmYBRgQmCAcJVwmHC5Mh42QFBAkECAQKBAsEDAQNBQ8VDyUPJQ81DTULRQg1ByUEGeIgQ6QDhAJ0AmQCZAFItwbHBtMhdBUCafUGJQcVCSUJFQoUDAQKBAsECBQHNAdEBEQDRABkAFYCdgR2BXYHhgd2CIYIVgdmBDYEJAUUBwQIFAkECwQLBA0EDAQLBAoEBwQGASG0xAc0BnQEhASkArQBxADEAKQAlABkAFMkVKUENQUVBBUGFQYVCRUKJQsVDCUNJQsUDQQKBAkEBwQFJAREAlIllVUHFQUVByUKFQslDSUNJQ9VDlUPZQ1lDWUKVQZVBEUCQyCxivr2BjYGRgdGB1YHZgZmBWYEdgRkAFQClAREBjQJNAk0CzQKNAs0CjQJNAQo9gRWBjYJNgs2DCYNRg1GCkYKRgY2Bkrg==",
      "textual": null
    },
    "id": "ZQI8k6faVoM8",
    "data": {
      "serviceCredentials": "{}",
      "showIntro": false
    },
    "account": {
      "id": "3vD0Dc9Fh7wQ",
      "data": null,
      "created": "2016-05-05T19:30:13Z",
      "logoAltTextKey": "",
      "updated": "2016-05-05T19:30:13Z",
      "company": {
        "id": "jVWmyg4cyis8",
        "data": null,
        "address": {
          "address1": null,
          "address2": null,
          "city": null,
          "country": null,
          "zipcode": null,
          "state": null
        },
        "name": "eSignLive"
      },
      "customFields": [
        {
          "required": false,
          "id": "Department",
          "data": null,
          "translations": [
            {
              "description": "GSA Division information",
              "language": "en",
              "id": "",
              "data": null,
              "name": "Department"
            }
          ],
          "value": "",
          "name": ""
        }
      ],
      "licenses": [
        {
          "status": "ACTIVE",
          "created": "2016-05-05T19:30:13Z",
          "paidUntil": "2020-05-05T00:00:00Z",
          "plan": {
            "group": "",
            "description": "E-Sign Hundreds of Documents with Unlimited Signers",
            "id": "sandbox",
            "data": null,
            "quotas": [
              {
                "cycle": null,
                "scope": "ACCOUNT",
                "limit": 100,
                "target": "SENDER"
              },
              {
                "cycle": null,
                "scope": "SENDER",
                "limit": 500,
                "target": "DOCUMENT"
              },
              {
                "cycle": null,
                "scope": "SENDER",
                "limit": 500,
                "target": "STORAGE"
              }
            ],
            "cycle": "YEAR",
            "contract": "YEAR",
            "freeCycles": null,
            "features": null,
            "original": null,
            "price": {
              "amount": 0,
              "currency": {
                "id": "USD",
                "data": null,
                "name": "US Dollar"
              }
            },
            "name": "Sandbox"
          },
          "transactions": []
        }
      ],
      "logoUrl": "",
      "providers": null,
      "owner": "ZQI8k6faVoM8",
      "name": "Haris Haidary"
    },
    "title": null,
    "updated": "2016-05-05T19:30:13Z",
    "external": null,
    "locked": null,
    "email": "[email protected]",
    "firstName": "Haris",
    "lastName": "Haidary",
    "memberships": [],
    "phone": "+1 201-555-5555",
    "professionalIdentityFields": [],
    "userCustomFields": [
      {
        "id": "policy_number_id",
        "data": null,
        "translations": [],
        "value": "",
        "name": ""
      }
    ],
    "activated": null,
    "company": "eSignLive",
    "type": "MANAGER",
    "address": {
      "address1": "",
      "address2": "",
      "city": "",
      "country": "",
      "zipcode": "",
      "state": ""
    },
    "created": "2016-05-05T19:30:13Z",
    "name": "",
    "specialTypes": [],
    "hasDelegates": false
  },
  "documents": [
    {
      "status": "",
      "description": "Must be accepted and agreed to before starting the signing process.",
      "id": "default-consent",
      "data": {
        "ese_document_texttag_extract_needed": "false"
      },
      "approvals": [
        {
          "id": "d1f0b072-14b0-4bd8-8f0a-fcb53c38a4d7",
          "role": "bf5ed1f3-54dc-4231-8548-e01878cda700",
          "data": null,
          "signed": "2018-05-02T15:57:20Z",
          "accepted": "2018-05-02T15:57:20Z",
          "fields": [],
          "name": ""
        },
        {
          "id": "0d48f338-942c-4373-8b62-e6f4ed3e400b",
          "role": "b85551ee-6788-4468-9943-947a24b53d1e",
          "data": null,
          "signed": "2018-05-02T16:05:01Z",
          "accepted": "2018-05-02T16:05:01Z",
          "fields": [],
          "name": ""
        }
      ],
      "pages": [
        {
          "id": "",
          "top": 0,
          "height": 1030,
          "width": 796,
          "left": 0,
          "version": 0,
          "index": 0
        },
        {
          "id": "",
          "top": 0,
          "height": 1030,
          "width": 796,
          "left": 0,
          "version": 0,
          "index": 1
        }
      ],
      "external": null,
      "extract": false,
      "signedHash": null,
      "extractionTypes": [],
      "tagged": false,
      "signerVerificationToken": null,
      "index": 0,
      "fields": [],
      "name": "Electronic Disclosures and Signatures Consent",
      "size": 0
    },
    {
      "status": "",
      "description": "",
      "id": "01ea8c42e0443900006fd1ca13dd813764de134e379f9187",
      "data": {
        "ese_document_texttag_autofielddateformat": "yyyy-MM-dd HH:mm:ss 'GMT'",
        "ese_document_texttag_json_0": "[]",
        "ese_document_texttag_extract_needed": "true",
        "ese_document_texttag_handled_roles": "[]"
      },
      "approvals": [
        {
          "id": "ufcu7BEkPhQ7",
          "role": "bf5ed1f3-54dc-4231-8548-e01878cda700",
          "data": null,
          "signed": null,
          "accepted": null,
          "fields": [
            {
              "binding": null,
              "validation": null,
              "id": "NEUF14vd6uQP",
              "page": 0,
              "data": null,
              "subtype": "FULLNAME",
              "top": 220,
              "height": 37,
              "extractAnchor": null,
              "extract": false,
              "width": 165,
              "left": 315,
              "type": "SIGNATURE",
              "value": "",
              "name": ""
            }
          ],
          "name": ""
        },
        {
          "id": "m6X4vXnEnu0S",
          "role": "b85551ee-6788-4468-9943-947a24b53d1e",
          "data": null,
          "signed": null,
          "accepted": null,
          "fields": [
            {
              "binding": null,
              "validation": null,
              "id": "R8NmG0RgXGIU",
              "page": 0,
              "data": null,
              "subtype": "FULLNAME",
              "top": 267,
              "height": 37,
              "extractAnchor": null,
              "extract": false,
              "width": 165,
              "left": 315,
              "type": "SIGNATURE",
              "value": "",
              "name": ""
            }
          ],
          "name": ""
        }
      ],
      "pages": [
        {
          "id": "",
          "top": 0,
          "height": 1030,
          "width": 796,
          "left": 0,
          "version": 0,
          "index": 0
        }
      ],
      "external": null,
      "extract": true,
      "signedHash": null,
      "extractionTypes": [
        "TEXT_TAGS",
        "ACROFIELDS"
      ],
      "tagged": false,
      "signerVerificationToken": null,
      "index": 1,
      "fields": [],
      "name": "doc1",
      "size": 80054
    },
    {
      "status": "",
      "description": "",
      "id": "9fed8a66f25b2539bea003066148b56fccd67c7cd72c874a",
      "data": {
        "ese_document_texttag_autofielddateformat": "yyyy-MM-dd HH:mm:ss 'GMT'",
        "ese_document_texttag_json_0": "[]",
        "ese_document_texttag_extract_needed": "true",
        "ese_document_texttag_handled_roles": "[]"
      },
      "approvals": [
        {
          "id": "2e75dPZB1X0X",
          "role": "b85551ee-6788-4468-9943-947a24b53d1e",
          "data": null,
          "signed": null,
          "accepted": null,
          "fields": [
            {
              "binding": null,
              "validation": null,
              "id": "Yy9LGdjHwLEE",
              "page": 0,
              "data": null,
              "subtype": "FULLNAME",
              "top": 691,
              "height": 37,
              "extractAnchor": null,
              "extract": false,
              "width": 165,
              "left": 315,
              "type": "SIGNATURE",
              "value": "",
              "name": ""
            }
          ],
          "name": ""
        },
        {
          "id": "kj8n0eK5KV8T",
          "role": "bf5ed1f3-54dc-4231-8548-e01878cda700",
          "data": null,
          "signed": null,
          "accepted": null,
          "fields": [
            {
              "binding": null,
              "validation": null,
              "id": "7gY6IBFunFQI",
              "page": 0,
              "data": null,
              "subtype": "FULLNAME",
              "top": 737,
              "height": 37,
              "extractAnchor": null,
              "extract": false,
              "width": 165,
              "left": 315,
              "type": "SIGNATURE",
              "value": "",
              "name": ""
            }
          ],
          "name": ""
        }
      ],
      "pages": [
        {
          "id": "",
          "top": 0,
          "height": 1030,
          "width": 796,
          "left": 0,
          "version": 0,
          "index": 0
        }
      ],
      "external": null,
      "extract": true,
      "signedHash": null,
      "extractionTypes": [
        "TEXT_TAGS",
        "ACROFIELDS"
      ],
      "tagged": false,
      "signerVerificationToken": null,
      "index": 2,
      "fields": [],
      "name": "cleaning_contract",
      "size": 190472
    }
  ],
  "consent": "default-consent",
  "due": null,
  "emailMessage": "",
  "limits": null,
  "notarized": false,
  "notaryRoleId": null,
  "settings": {
    "ceremony": {
      "layout": {
        "header": {
          "breadcrumbs": true,
          "feedback": true,
          "globalActions": {
            "confirm": true,
            "download": true,
            "hideEvidenceSummary": true,
            "saveAsLayout": true
          },
          "globalNavigation": true,
          "sessionBar": true,
          "titleBar": null
        },
        "brandingBar": {
          "logo": {
            "link": "",
            "logoAltTextKey": "",
            "src": "branding"
          }
        },
        "footer": null,
        "iframe": false,
        "navigator": true
      },
      "extractTextTags": true,
      "extractAcroFields": true,
      "ada": false,
      "events": {
        "complete": {
          "redirect": "https://google.ca",
          "dialog": true
        }
      },
      "enforceCaptureSignature": false,
      "inPerson": false,
      "declineButton": true,
      "declineReasons": [],
      "disableDeclineOther": false,
      "disableDownloadForUncompletedPackage": false,
      "disableFirstInPersonAffidavit": false,
      "disableInPersonAffidavit": false,
      "disableOptOutOther": false,
      "disableSecondInPersonAffidavit": false,
      "documentToolbarOptions": null,
      "handOver": null,
      "hideCaptureText": false,
      "hideLanguageDropdown": false,
      "hidePackageOwnerInPerson": false,
      "hideWatermark": false,
      "maxAuthFailsAllowed": 3,
      "optOutButton": true,
      "optOutReasons": [],
      "style": null
    }
  },
  "signedDocumentDelivery": null,
  "trashed": false,
  "updated": "2018-05-04T19:13:21Z",
  "visibility": "ACCOUNT",
  "type": "PACKAGE",
  "created": "2018-05-02T15:55:42Z",
  "messages": [
    {
      "status": "NEW",
      "from": {
        "group": null,
        "language": "en",
        "signature": null,
        "id": "a8e907ec-9472-4cb9-812a-efe5af88ed1b",
        "data": null,
        "title": "",
        "auth": {
          "scheme": "NONE",
          "challenges": []
        },
        "updated": "2018-05-02T15:56:02Z",
        "external": null,
        "knowledgeBasedAuthentication": null,
        "email": "[email protected]",
        "firstName": "john",
        "lastName": "smith",
        "phone": "",
        "professionalIdentityFields": [],
        "userCustomFields": [],
        "company": "",
        "delivery": {
          "download": false,
          "email": false,
          "provider": false
        },
        "address": null,
        "created": "2018-05-02T15:56:03Z",
        "name": "",
        "specialTypes": []
      },
      "content": "I do not wish to sign electronically.",
      "created": "2018-05-04T19:13:22Z",
      "to": [],
      "documents": []
    }
  ],
  "name": "test",
  "bulkSendable": false
}

Results

Here is an example of what you can expect to see once you have run your code.

Capture

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

If a signer opts out of the Signing Ceremony or declines to sign their documents, they will be prompted to enter a reason for doing so. These reasons can be retrieved. The following topic describes how to do this.

To retrieve opt out or decline reasons you must first create a PackageID object for your transaction. Once you have your PackageID object you will call on your OneSpan Sign client to retrieve these reasons, using the PackageID object as a parameter. The following code will do this:

ESignLiveSDK sdk = new ESignLiveSDK();
ESignLiveAPIObjects.Package_x pkg = sdk.getPackage(packageId);
if(pkg.messages == null || pkg.messages.size() == 0){
        throw new ESignLiveRESTAPIHelper.ESignLiveRestAPIHelperException('Error retrieve Optout And Declined Messages');
}
ESignLiveAPIObjects.Message message = pkg.messages.get(0);
System.Debug(pkg.status.name() + ' reason: ' + message.content);

Results

Here is an example of what you can expect to see once you have run your code.

Capture