lchhabriya | Posts: 2

Upload a handwritten signature

0 votes
Hello, Is there any way to browse and upload an image file with handwritten signature in eSignLive account using any tool or API? I checked there's one tool using 'JAVA' but I am looking for '.NET SDK'. Thank you.

Duo_Liang | Posts: 3776

Reply to: Upload a handwritten signature

0 votes
Hi there, First I'd review the steps to upload a handdrawn value together with you: 1.you need to retrieve the base64 string of your image. As you may notice, OneSpan Sign doesn't use a usual encoding way like you can find on the Internet 2.you can update your account owner or senders by following api call:
POST /api/account/senders/{senderId}
payload:
{
    "signature": {
        "handdrawn": "your handdrawn value",
        "textual": null
    }
}
3.have a check on your web ui, and remember to log out and log in again to see the effect. Then, your problem would be how to retrieve the handdrawn value of a image. You must have checked with this import tool written in Java. For temporary, I would suggest to run shell commands from C# to execute this jar to retrieve the output value as long as you installed the JDK environment. The attachment is the snippet of code I created for you in C#. At the mean time, I would try to contact our developer. Maybe we can create a C# version of import tool for you guys. Would let you know if I got any news. Hope this could help you! Duo

Attachments
Program.zip633 bytes
Ryan_Coleman | Posts: 258

Reply to: Upload a handwritten signature

0 votes
Duo, I came across this topic as I am trying to do this very same thing for my notaries. Is this something I can accomplish for them as well?

Duo_Liang | Posts: 3776

Reply to: Upload a handwritten signature

0 votes
Hi Ryan, Yes, I have tested for you and it works in the case when having notary. When you create the package, in "roles" block, add your prepared handdrawn value into the JSON:
{
   "id":"signer1ID",
   "type":"SIGNER",
   "index":0,
   "signers":[
      {
         "language":"en",
         "signature":{
            "textual":null,
            "handdrawn":"your handdrawn value"
         },
         "id":"signer1ID",
         "company":"ABC Bank",
         "email":"[email protected]",
         "firstName":"1.firstname",
         "lastName":"1.lastname",
         "title":"CEO",
         "created":"2018-08-08T15:16:22Z",
         "address":null,
         "name":""
      }
   ],
   "name":"Signer1"
}
And if you are asking about how to use C# to generate the handdrawn value, I am working on a C# version import tool and it would be finished within one week. Just for my information, how did you create your notary packages? by WebUI or by REST Json? Duo

Ryan_Coleman | Posts: 258

Reply to: Upload a handwritten signature

0 votes
Duo, Thanks for the response. That makes sense and answered my question because I was trying to figure out the sender id when I know the notary id is relative to the package that I'm sending. So, for my Json package creation, I am doing it in C#. I've created all of the object classes that we need that are specific to our requests and build them dynamically.

Ryan_Coleman | Posts: 258

Reply to: Upload a handwritten signature

0 votes
Duo, So adding in the base64 string to the handdrawn setting isn't enough to make this work? I will still need to upload the file to the system? Is that correct?

Duo_Liang | Posts: 3776

Reply to: Upload a handwritten signature

0 votes
Hi Ryan, No, base64 string is enough for the picture(the string itself is enough to interpret to the picture). I got a question for you, you want to upload signature for senders or signers? If you want to upload signature for senders(all senders under your main account), you don't need to upload anything, OneSpan Sign would record your signature for you. And if you are talking about uploading signatures for signers, you can also refer to my blog: Upload signature for your signer. Duo

Ryan_Coleman | Posts: 258

Reply to: Upload a handwritten signature

0 votes
Duo, I'll check the blog here in a bit but the signature block is really only for our notaries which would be a signer. As far as the base64 string goes, this is very easy to accomplish in c#. From what I'm reading, right now it can only be done with the java converter tool, correct? I have my own personal method that I've been using to create base64 strings for the handdrawn object. If this will not work, please let me know.

Duo_Liang | Posts: 3776

Reply to: Upload a handwritten signature

0 votes
Hi Ryan, As I mentioned above, if you want to upload a signature for a sender, OneSpan Sign would record this signature at the account level for you. So the import operation is really a one-time thing and you can refer to the above two solutions. And if you want to upload signatures for an unknown signer in further, you need to upload it within your request payload for everytime you create the package. And for the base64 string, OneSpan Sign is performing a "transfer to vector picture" algorithm before encoding the byte[] into the string. So for currently, we only have a Java version import tool for this. Duo

Ryan_Coleman | Posts: 258

Reply to: Upload a handwritten signature

0 votes
Duo, That makes sense. My base64 string would be different from the one created in the java tool because I am only get the base64 conversion from the image itself and not doing the transfer to vector conversion. Now, I've gotten the long string of characters from the java tool and inserted it into the signature section like shown above. I should be seeing this on any field in the approval for this role that has a type of SIGNATURE and a subtype of CAPTURE, correct? I'm not having any luck with getting my image displayed on the pdf when signing.

Duo_Liang | Posts: 3776

Reply to: Upload a handwritten signature

0 votes
Hi Ryan, Yes, if handdrawn value has been passed to the specific role, it should work properly. To notice, you could already have a signature for your sender stored at the account level and overwrite this signature by uploading handdrawn when creating the package. But it's may not be the problem for you here. If you still encountering problem about seeing the image you upload, you can share the package ID and environment here. Or you can directly send your package JSON to [email protected]( via callingGET /api/packages/{packageID} api) Duo

Ryan_Coleman | Posts: 258

Reply to: Upload a handwritten signature

0 votes
Duo, While trying to just push the converted base64 string up using the POST method to the account/senders/ + senderId url, I keep getting the same error. code: 401 message: Failed to retrieve Session name: Unauthorized Any idea?

Duo_Liang | Posts: 3776

Reply to: Upload a handwritten signature

0 votes
Hi Ryan, POST /api/account/senders/{senderId} this API is actually only for the account matching your API key in request header(I understand that from the literal meaning, it should work on all senders under the main account while it's not). So if you want to update the specific sender, you should retrieve your sender's API key first by using:
GET /api/account/senders/{senderId}/apiKey 
Authorization: account owner's apiKey
And use this api key in your request header. Duo

Ryan_Coleman | Posts: 258

Reply to: Upload a handwritten signature

0 votes
Duo, I get the same message while trying to hit the GET request for the sender's apiKey. Also, just FYI, the apikey that I've been using is the one from the sender, since we are just doing the sandbox testing.

Duo_Liang | Posts: 3776

Reply to: Upload a handwritten signature

0 votes
Hi Ryan, If I understand you correctly, you are saying you are using a sender's apikey not the account owner's? So if in this way, you'd need the account owner's apikey to retrieve other sender's apikey and to update other sender's signature(It's a one time thing) or you can use your apikey and upload signature handdrawn everytime you create the package. Duo

Ryan_Coleman | Posts: 258

Reply to: Upload a handwritten signature

0 votes
Duo,. Sorry for the miscommunication. I am using the owner's api key and still getting that error.

Ryan_Coleman | Posts: 258

Reply to: Upload a handwritten signature

0 votes
Duo, Just curious. Were you able to finish the c# coding for the conversion of the image?

Duo_Liang | Posts: 3776

Reply to: Upload a handwritten signature

0 votes
Hi Ryan, Yes, I have finished the image converter in C#. Theoretically, it can output the same result as the Java version. Please let me know if it doesn't work properly in some cases. Here's the same usage of the dll:
using Silanis.ESL.SDK;
var code = new ImageConverter().convertImage("yourpath\\test1.png", 0);

Attachments
mwilliams | Posts: 957

Reply to: Upload a handwritten signature

0 votes
Hey Ryan, Sahana from support reached out to me that you needed help with this for .NET 4.5.2. Duo is the only one with the source to what he built and is on vacation. I have made an attempt to rebuild the tool against 4.5.2. Try this and let me know if it works for you.

Attachments
Ryan_Coleman | Posts: 258

Reply to: Upload a handwritten signature

0 votes
mwilliams That worked and produced the exact same results. I do appreciate you guys getting this for us. On a side note, I am surprised there is not an API call that will take an image and do the exact same thing this application does.

mwilliams | Posts: 957

Reply to: Upload a handwritten signature

0 votes
Great to hear. Also, not a problem, at all. I think it would be nice to build this conversion capability into the product, as well. Please submit an Enhancement Request for this with our support team ([email protected]). Have a great day!

Chris-Svprx | Posts: 9

Reply to: Upload a handwritten signature

0 votes

HI, am struggling to make the sig upload work using .Net Sdk rather than REST.  Is this doable?  


Duo_Liang | Posts: 3776

Reply to:

0 votes

Hi Chris,

 

Thanks for your post! And could you elaborate a bit more about your use case? Are you introducing this capability to your application, or it's just an one time operation? Are you uploading hand-drawn signatures to your sender profiles so that the captured signatures are stored and reused in any subsequent transactions, or specific signers during a package creation? 

In general, there's known limitations in .NET SDK in regards to uploading handdrawn, so very likely you will still have to create a hybrid style combing SDK and RESTful code. If you can share more background information, I would create some sample codes to facilitate your integration.

 

Duo


Chris-Svprx | Posts: 9

Reply to: Upload a handwritten signature

0 votes

Thanks for the quick reply!  Our (Blazor) app presents the doc to be signed in an Iframe.  We we have signature graphics on file for all our potential signers, and we just wanted that to appear when they click to sign.  Hunted hard for .Net Sdk that exposed the part of the payload we'd need to build.  Generally SDk is just a convenience for us in C#, so Rest is not too bad if we have to go that way.  Do you have a nice API Models lib for C#?


Duo_Liang | Posts: 3776

Reply to:

0 votes

Hi Chris,

 

Here you go! I've made an example including a simplified API modelling with the most commonly used properties. I also leveraged Newtonsoft to serialize the object. Although it's a simplified API modelling, it's very easy to extend it based on your requirement.

On top of that, not sure whether you are currently developing with New Signer Experience. We've found that turning on New Signer Experience could affect the existing integrations which involves uploading signer hand-drawn signatures, and is actively reporting it to R&D team. I will follow up with the existing cases and even create a new support ticket on your organization's behalf if it's necessary.

 

Duo


Chris-Svprx | Posts: 9

Reply to:

0 votes

Awesome, thank you.  You actually hit right on my next question...that being the new UI experience.  Not really related to this topic, but pretty sure we are using the old one.  Our contract "kicks in" in a few weeks, so doing our sandbox deving now.  Could you kindly direct me to how I ask to have the New turned on?  Thanks again. 


Duo_Liang | Posts: 3776

Reply to:

0 votes

Hi Chris,

 

If you simply want to turn on the feature, you can contact support team([email protected]).

Otherwise if you needs extra layout, string customizations, you can choose to fill in a branding form (https://apps.esignlive.com/ft?token=WldmQ3d3T3J1Mi14WFhpUTZ2aF92Vms5STR3PSZmYWxzZQ), after selecting your options and completing signing this form, it automatically creates you a support ticket.

 

Duo

 


Chris-Svprx | Posts: 9

Reply to: Upload a handwritten signature

0 votes

Than you, sir.  Cheers.


Hello! Looks like you're enjoying the discussion, but haven't signed up for an account.

When you create an account, we remember exactly what you've read, so you always come right back where you left off