Account


Earned badges

Achievement: Latest Unlocked

Topic Started

Topics
Hi, We're experiencing an issue with our Email sent from OneSpan where we select the package's language as French, the signer's language as french, but they receive it in English.
Hi, This issue popped up in the last couple of weeks in our testing Sandbox environment.
We have encountered an issue where customers who have an "_x" in their Email address are not receiving their esignlive Emails. Upon investigating the code it seems the EsignLiveJSONHelper.remove_x(St
Hello, I am not sure if this is an issue with the APEX SDK, REST API, or bug in eSignLive. We are using the APEX SDK to create the package + documents in one call from a custom Salesforce page.
Hello, I have been searching in the SDK code for a while and I am unable to find how reminders are created for a package.

Replies Created

Approved Answer

Reply to: I am getting intermittent issue of validation error in ESign Live using Apex SDK

0 votes
Hi Rob, We are the clients that Suhaib has been working with on our eSignlive implementation. Here is an example of the request when we receive the 400 error:
------WebKitFormBoundary1bNO60n7FqP5WO4t
Content-Disposition: form-data; name="file"; filename="appfile"
Content-Type: application/pdf 

[File data removed]

------WebKitFormBoundary1bNO60n7FqP5WO4t
Content-Disposition: form-data; name="payload" 

{"status":"SENT","sender":{"id":"senderidinesignlive","email":"[email protected]"},"roles":[{"type":"SIGNER","signers":[{"title":"Consultant","phone":"(506) 756-2382","name":"sender","lastName":"Test","language":"en","firstName":"eSignature","email":"[email protected]","delivery":{"provider":false,"email":false,"download":true},"company":"Company co","auth":{"scheme":"NONE"}}],"reassign":false,"locked":false,"index":0,"id":"Signer_Applicant","emailMessage":{"content":""}},{"type":"SIGNER","signers":[{"title":"Consultant","phone":"(506) 756-2381","name":"sender","lastName":"Tester","language":"en","firstName":"eSignature","email":"[email protected]","delivery":{"provider":false,"email":false,"download":true},"company":"Company co","auth":{"scheme":"NONE"}}],"reassign":false,"locked":false,"index":0,"id":"Signer_Payor","emailMessage":{"content":""}},{"type":"SENDER","signers":[{"title":"Consultant","name":"sender","lastName":"Saleswoman","language":"en","firstName":"Jenny","email":"[email protected]","delivery":{"provider":false,"email":false,"download":true},"company":"Company co","auth":{"scheme":"NONE"}}],"reassign":false,"locked":false,"index":0,"id":"Signer_Agent","emailMessage":{"content":""}}],"opportunityId":"0061100000CnCLMAA3","name":"eSignature Test_1_Document","emailMessage":" ","due":"2016-08-13T18:50:09.330Z","documents":[{"name":"Individual Dental Plan_Application","extract":true,"approvals":[{"role":"Signer_Applicant","name":"Application_0","fields":[{"type":"SIGNATURE","subtype":"FULLNAME","extractAnchor":{"width":175,"topOffset":-110,"text":"Signature of Applicant","leftOffset":0,"index":0,"height":40,"characterIndex":0,"anchorPoint":"TOPLEFT"},"extract":false},{"type":"INPUT","subtype":"LABEL","extractAnchor":{"width":150,"topOffset":-80,"text":"Signature of Applicant","leftOffset":0,"index":0,"height":20,"characterIndex":0,"anchorPoint":"BOTTOMLEFT"},"extract":false,"binding":"{approval.signed}"}]},{"role":"Signer_Payor","name":"Application_1","fields":[{"type":"SIGNATURE","subtype":"FULLNAME","extractAnchor":{"width":175,"topOffset":-100,"text":"Signature(s) of Bank Account","leftOffset":240,"index":0,"height":40,"characterIndex":0,"anchorPoint":"TOPLEFT"},"extract":false},{"type":"INPUT","subtype":"LABEL","extractAnchor":{"width":150,"topOffset":-70,"text":"Signature(s) of Bank Account","leftOffset":240,"index":0,"height":20,"characterIndex":0,"anchorPoint":"BOTTOMLEFT"},"extract":false,"binding":"{approval.signed}"}]},{"role":"Signer_Agent","name":"Application_2","fields":[{"type":"SIGNATURE","subtype":"FULLNAME","extractAnchor":{"width":175,"topOffset":-100,"text":"Agent's Signature","leftOffset":150,"index":0,"height":40,"characterIndex":0,"anchorPoint":"TOPLEFT"},"extract":false},{"type":"INPUT","subtype":"LABEL","extractAnchor":{"width":150,"topOffset":-70,"text":"Agent's Signature","leftOffset":150,"index":0,"height":20,"characterIndex":0,"anchorPoint":"BOTTOMLEFT"},"extract":false,"binding":"{approval.signed}"}]}]}],"description":" ","autocomplete":true} 
B�KKKKKU�X��]�ܛP��[�\�LX��͌�ќT U��K
What is interesting about the request is the boundary at the very end; there seems to be an issue with the encoding. On other requests, the footer boundary looks normal : ------WebKitFormBoundary1bNO60n7FqP5WO4t-- In what situation would that piece not encode properly ? Thanks

0 votes
Hi Rob, I believe we may have found a fix to the issue, so I thought it might help if I shared my progress. Our testers and myself are currently able to create packages without receiving the error. The cause of our issue was linked to the encoding of the JSON payload, and not the PDF file as we originally thought. I have modified some code in the SDK to cover scenarios where the encoded JSON content ends up with '='. This was being checked with the file in the ESignLiveDocumentUtilities.encodeDocuments method , so I added the same logic to the ESignLiveDocumentUtilities.encodeContent method. BEFORE:
 /**
     * Method to encode the content passed
     */
    public static String encodeContent(String content)
    {
        String contentEncoded = EncodingUtil.base64Encode(Blob.valueOf(content + '\r\n'));
        String last4BytesForContent = contentEncoded.substring(contentEncoded.length()-4,contentEncoded.length());
        if(contentEncoded.endsWith('=='))
        {
            last4BytesForContent = last4BytesForContent.substring(0,2) + '0K';
            
            contentEncoded = contentEncoded.substring(0,contentEncoded.length()-4) + last4BytesForContent;
        }

        return contentEncoded;
    }
AFTER:
    /**
     * Method to encode the content passed
     */
    public static String encodeContent(String content)
    {
        String contentEncoded = EncodingUtil.base64Encode(Blob.valueOf(content + '\r\n'));
        String last4BytesForContent = contentEncoded.substring(contentEncoded.length()-4,contentEncoded.length());
        if(contentEncoded.endsWith('=='))
        {
            last4BytesForContent = last4BytesForContent.substring(0,2) + '0K';
            contentEncoded = contentEncoded.substring(0,contentEncoded.length()-4) + last4BytesForContent;
        } else if( last4BytesForContent.endsWith('=')) {
            last4BytesForContent =  last4BytesForContent.substring(0,3) + 'N';
            contentEncoded = contentEncoded.substring(0,contentEncoded.length()-4) + last4BytesForContent;
        }

        return contentEncoded;
    }
This might not cover all scenarios, but it's progress.

Reply to: Creating reminders through Apex SDK

0 votes
Hi, Unfortunately making a separate call through the REST API will have a large impact on our code, since we are preparing the package, document and activating it all in one call. The Reminder's REST API documentation mentions they cannot be created once the package is Sent, so we would need to modify quite a bit of our logic to make it work. Is there a way to have the request create the reminders at the same time as the package ? I could not find any example of this, and the documentation seems show that it isn't possible. For now we might have to live without the feature since our timeline is very short. For future consideration it would be nice to have it available in the same API call as the package creation (assuming it is not currently possible), or even to have some sort of default setting on the sandbox itself. Thanks for looking into this

Reply to: FULLNAME signature block format changing between English and French

0 votes
Hi Haris, After trying again with a French and English document, the issue has been resolved. I will let our administrator know that he will have to contact support to get this changed when we receive our Production licenses. Thank you for looking into this, greatly appreciated!

Subscriptions

Topics Replies Freshness Views Users
Hi, We're experiencing an issue with our Email sent from OneSpan where we select the package's language as French, the signer's language as french, but they receive it in English.
5 2 years 11 months ago 29
Hi, This issue popped up in the last couple of weeks in our testing Sandbox environment.
3 3 years ago 122
I am using a sandbox so perhaps the class definition does not match what is there. I get an invalid primitive error on the following code snippet: string pkgId = ESignLiveExamples.createPackageExam
13 4 years 10 months ago 95
We have encountered an issue where customers who have an "_x" in their Email address are not receiving their esignlive Emails. Upon investigating the code it seems the EsignLiveJSONHelper.remove_x(St
1 5 years 2 months ago 9
Hello, I am not sure if this is an issue with the APEX SDK, REST API, or bug in eSignLive. We are using the APEX SDK to create the package + documents in one call from a custom Salesforce page.
6 3 years 1 month ago 24

Code Share

This user has not submitted any code shares.