Change package expiry without sending email
Tuesday, May 9, 2023 at 11:57pmHi,
Is there a way to change the package expiry date without re-sending the invitation email?
My current code is
PackageId ossPackageId = new PackageId(documentSignatureResendDto.PackageId);
ossClient.ChangePackageStatusToDraft(ossPackageId);
DocumentPackage package = ossClient.GetPackage(ossPackageId);
package.Settings.DefaultTimeBasedExpiry = false;
package.ExpiryDate = documentSignatureResendDto.ExpiresOn;
ossClient.UpdatePackage(ossPackageId, package);
ossClient.SendPackage(ossPackageId);
If I don't use
ossClient.SendPackage(ossPackageId);
then the singer gets Access Denied error when link is clicked in the email.
OR
is there a way to change the package status back to InProgress after changing the expiry date?
Thanks,
Kamran
Reply to: Change package expiry without sending email
Wednesday, May 10, 2023 at 09:17amHi Kamran,
You need to keep the ossClient.SendPackage(ossPackageId); as it is the only method to change transaction status to SENT.
It's also expected that once a transaction's status changed from DRAFT/DECLINED/EXPIRED to SENT, all unfinished signers will receive "email.activate" notification.
Two suggestions to help improve the user experience:
(1)You can set signer message to help distinguish the first send with the expiry extension, it's described in "STEP 2: Customize the Email" of this blog:
https://www.onespan.com/blog/onespan-sign-developers-email-templates-part-1
(2)You can contact support team and disable the "email.activate" template entirely. Instead, you'd call below method to manually send invitation to signers. It uses a different email template "email.notify":
eslClient.PackageService.NotifySigner(packageId, "[email protected]", "HELLO SIGNER");
Duo