My understanding is that the notification email (email.notify) is the only email template that can be triggered programatically from the eSignLive system. I had a few questions on this functionality:
Question 1. When I am in the sender UI and click on the “Notify this Signer” button, it will successfully send an email to the signer using the email.notify template and include the “Email message” that I have entered in the Advanced Options in the package settings.
However, I am trying to trigger the email.notify emails programatically using the Java SDK in order to tailor specific messages to specific signers. I am using this code in order to send the notification:
eslClient.getPackageService().notifySigner( packageId, “email@example.com”, “HELLO SIGNER” );
When using an email that is already on the package, I get the following error message: “error.validation.userAddition.duplicateEmailUsage”.
When using an email that is not already on the package, I get the following error message: “error.notFound.signerNotFound”.
I guess my question ultimately is, what emails will notifySigner accept (in order to not get the aforementioned error messages)? And, what variable ($PACKAGE_MESSAGE?) in the email template will the third parameter (“HELLO SIGNER” in the example) eventually show up as in the email.notify template? Again my goal is to tailor the message differently to different signers.
Question 2. Are there any restrictions on the package status regarding when I should be able to use the notifySigner method? I tried using the notifySigner and received the previous error messages when the package was both in the DRAFT and SENT statuses.
Question 3. I didn’t see anything like this in the documentation, but I was wondering if we also would have the ability to change the text of the email.notify email subject based on who we are sending the notification email to?
Thank you so much for your time and guidance!
Q1. Can you share a package id for which you are experiencing this issue? And also, which version of the Java SDK are you using? The notifySigner() method should be used to notify a signer on the package. Hence, you should be using an email that is defined in the package. The $PACKAGE_MESSAGE variable in the email template will represent whatever you put in the third parameter in the notifySigner() method (i.e. HELLO SIGNER).
Q2. You can notify your signer for any package status. However, if your package sits in DRAFT, your signer will get an “Access Denied: Package Unavailable” error when trying to access the package. Hence, you should only be notifying your signers when the package is in SENT status.
Q3. Unfortunately, emails are on an account level. The only customization you can do on a signer level is the package message.
Thank you for the quick reply and for the answers. Q 2 and 3 make sense. For Q1, we are using 11.8 of the sdk. Though, this behavior manifests when we call the rest endpoint directly as well. The package id that I was using is “wlNfWmx0t6658giWI9HA9R4MKqg=”, though, we are using the on-premises version of eSignLive, so would that affect your ability to see the package?
Yes, this would indeed prevent me from seeing this. I would suggest you to send an email to our support team as we have a dedicated enterprise team to help with on-premise solutions. I personally can’t reproduce the issue on our cloud instance with either the Java SDK or REST API.