To download the full code sample see our Code Share site.
If a signer declines to sign their documents, they will be prompted to enter a reason for doing so. Such reasons can be retrieved. The following topic describes how to do this.
To retrieve 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.
To download the full code sample see our Code Share site.
If a signer declines to sign their documents, they will be prompted to enter a reason for doing so. Such reasons can be retrieved. The following topic describes how to do this.
To retrieve 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.
To download the full code sample see our Code Share site.
If a signer declines to sign their documents, they will be prompted to enter a reason for doing so. Such reasons can be retrieved. The following topic describes how to do this.
To retrieve 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
GET /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.
To download the full code sample see our Code Share site.
If a signer declines to sign their documents, they will be prompted to enter a reason for doing so. Such reasons can be retrieved. The following topic describes how to do this.
To retrieve 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.