nhass | Posts: 23

Can Package Signer email/SMS # Be Changed After Creation via the API?

0 votes
If a package has already been created, can the email address and SMS phone # be changed via the API?

Approved Answer
harishaidary | Posts: 1812

Reply to: Can Package Signer email/SMS # Be Changed After Creation via the API?

0 votes
Yes, this is a known issue. The only workaround I have for you is when updating your signer and sending the package again, add this line to your code: eslClient.PackageService.SendSmsToSigner(packageId, sb.Build());. This will manually send a new SMS notification to your signer. I will let you know when a fix for this issue is released.

harishaidary | Posts: 1812

Reply to: Can Package Signer email/SMS # Be Changed After Creation via the API?

0 votes
There are three situations you need to consider. First, if your package has been created and is currently sitting in draft, you can update the signer by calling on your eSignLive PackageService:
Signer updatedSigner = SignerBuilder.NewSignerWithEmail("[email protected]")
                .WithFirstName("John")
                .WithLastName("Doe")
                .WithCustomId("your_signer_id")
                .WithSMSSentTo("8195564578")
.Build();

 eslClient.PackageService.UpdateSigner(packageId, signer2);
If on the other hand, you've sent your package and the signer hasn't signed the document, you'll have to change the status of your package to draft before updating your signer. eslClient.ChangePackageStatusToDraft(packageId); Lastly, if the signer has already signed the document, then you will not be able to edit the signer. Hope this helps.

nhass | Posts: 23

Reply to: Can Package Signer email/SMS # Be Changed After Creation via the API?

0 votes
Haris What does the API use as the key for updating the signer? Is it email or the custom id? I ask because say we are updating the email addresses. In your example if you provide only the new email address how does the API know which signer's old email address to update? Is this where the custom id comes into play? Thanks, Nathan

harishaidary | Posts: 1812

Reply to: Can Package Signer email/SMS # Be Changed After Creation via the API?

0 votes
Hey Nathan, The API uses the signer id as key to update the signer. Once you've specified the signer id, you can update your signer's email, first name, last name, sms, etc.

nhass | Posts: 23

Reply to: Can Package Signer email/SMS # Be Changed After Creation via the API?

0 votes
Haris, I'm still a little confused, I don't see a Signer Id property of SignerBuilder object. The SignerBuilder doesn't appear to offer a method for instantiating a Signer from an Id. Here is our current signer code:
SignerBuilder sb = SignerBuilder.NewSignerWithEmail(email);
sb.WithCustomId(customId);
sb.WithFirstName(firstName);
sb.WithLastName(lastName);
sb.WithTitle(role);
sb.WithSMSSentTo(mobileNumber);
So which one of these properties is the Signer Id? Is it "WithCustomId" ? Thanks, Nathan

harishaidary | Posts: 1812

Reply to: Can Package Signer email/SMS # Be Changed After Creation via the API?

1 votes
Hey Nathan, Yes, .WithCustomId is indeed where you specify the signer id. I've setup a quick example to show you how updating a signer works:
//Create package with two signers
DocumentPackage package = PackageBuilder.NewPackageNamed("name")
            .DescribedAs("description")
            .WithSigner(SignerBuilder.NewSignerWithEmail("[email protected]")
                .WithFirstName("John")
                .WithLastName("Smith")
                .WithCustomId("Signer1"))
            .WithSigner(SignerBuilder.NewSignerWithEmail("[email protected]")
                .WithFirstName("Mary")
                .WithLastName("Doe")
                .WithCustomId("Signer2"))
            .Build();

PackageId packageId = eslClient.CreatePackage(package);

//Updated signer
string email = "[email protected]";
string customId = "Signer2";
string firstName = "Sam";
string lastName = "Taylor";
string role = "Seller";
string mobileNumber = "8887774444";

SignerBuilder sb = SignerBuilder.NewSignerWithEmail(email);
sb.WithCustomId(customId);
sb.WithFirstName(firstName);
sb.WithLastName(lastName);
sb.WithTitle(role);
sb.WithSMSSentTo(mobileNumber);

eslClient.PackageService.UpdateSigner(packageId, sb.Build());
From the sample code above, I've created a package with two signers with ids "Signer1" and "Signer2" respectively. Now let's say I want to update "Signer2". At the bottom, I've created my SignerBuilder object with customId = "Signer2"; . When I call on my eSignLive PackageService to update my signer, eSignLive will look in my package for a signer with id "Signer2" and update the information if a signer has been found with that specified id. If I failed to specify the id or gave an incorrect id when building my updated signer, eSignLive will not update my signer because it will not be able find my signer. Let me know if you have any questions :)

nhass | Posts: 23

Reply to: Can Package Signer email/SMS # Be Changed After Creation via the API?

0 votes
Thanks Haris. This clears it up for me. One follow up question on this. If we have two signers and the first one completes the signing, but the second one hasn't started yet; can we change the info for the second signer? Or is it once any signer starts the signing process no info for any of the signers is allowed to be changed? Thanks for all your help. Nathan

harishaidary | Posts: 1812

Reply to: Can Package Signer email/SMS # Be Changed After Creation via the API?

0 votes
Hey Nathan, My pleasure. As long as a signer hasn't started signing, you can edit his information. In your scenario, you will be able to edit the second signer's info. Though, you'll have to change the status of your package to draft first.

nhass | Posts: 23

Reply to: Can Package Signer email/SMS # Be Changed After Creation via the API?

0 votes
Haris, I updated a signer using the PackageService.UpdateSigner command following the example you outlined. I immediately then resend the package using SendPackage(pkgId) command. I get the email as expected. But I do not get a new sms passcode sent to me. I technically never changed the value of the WithSMSSentTo parm; I sent the same number as before. I was expecting to get a new text with a new passcode. I think tried using the original passcode but get an error saying it's invalid. Do I need to issue some other command to get a new passcode? Thanks Nathan

dlukic | Posts: 46

Reply to: Can Package Signer email/SMS # Be Changed After Creation via the API?

0 votes
This is exactly what I did but no SMS is sent. Actually truth to be told this works partially. If I don't change the signer phone number SendSmsToSigner works but in the case that phone number has been changed there is no message sent. i'm using sandbox on : https://sandbox.e-signlive.ca packageId : z5NvcA4IE3bhkuj9isxk5xGRylA=

harishaidary | Posts: 1812

Reply to: Can Package Signer email/SMS # Be Changed After Creation via the API?

0 votes
Hi Dejan, The behavior of the SMS pin code a changed slightly since. Now, the SMS pin code is only sent when the signer access the signing ceremony. I ran a quick test: 1. Create package with one signer with sms authentication 2. Change status to draft 3. Updated signer with new info and new number 4. Resent package And I did receive the new sms pin code.

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