我希望能够创建一个信封,然后将链接通过电子邮件发送给签名者。我想出的代码段是:
EnvelopesApi envelopesApi = new EnvelopesApi();
envDef.Status = "sent";
EnvelopeSummary envelopeSummary = envelopesApi.CreateEnvelope(accountId, envDef);
RecipientViewRequest viewOptions = new RecipientViewRequest()
{
ReturnUrl = "https://www.docusign.com/devcenter",
ClientUserId = signer.ClientUserId,
AuthenticationMethod = "email",
UserName = signer.Name,
Email = signer.Email // does NOT send an email
};
ViewUrl recipientView = envelopesApi.CreateRecipientView(accountId, envelopeSummary.EnvelopeId, viewOptions);
此段之前的代码获取帐户、签名者和信封定义等。
如果我设置envDef,这段代码可以正常工作。状态=“已发送”。如果我没有设置该状态,我会从该段代码的最后一行中得到一个异常。
我只想让信封进入创建状态,然后获取URL并在我自己的代码中发送电子邮件,该代码会转发电子邮件。
或者,我可以提供电子邮件地址并让Docusign发送电子邮件吗?但是,在这种情况下,如果他们的电子邮件由于某种原因失败了怎么办?
底线是,我想要一种方法来处理如果电子邮件无法发送,如何重新发送链接的问题。
我将尝试回答您的两个问题:
1) 底线是,我想找到一种方法来解决如果电子邮件无法发送,如何重新发送链接的问题。
为了将DocuSign电子邮件重新发送给收件人,您可以使用UpdateRecipient()方法(请参见下面的C示例)。这将再次触发将签名电子邮件发送给交易收件人:
RecipientsUpdateSummary recipientsUpdateSummary =
envelopeApi.UpdateRecipients(
accountId,
envelope.EnvelopeId,
envelope.Recipients,
new EnvelopesApi.UpdateRecipientsOptions { resendEnvelope = "true" });
以下是官方文件所述:
2)有没有办法在“创建”状态下创建一个信封,然后稍后将其放入“发送”?
是的,这是可能的。创建信封时,请务必指定“已创建”状态,如下所示:
Status = "created"
创建您的信封:
envelopeApi.CreateEnvelope(accountId, envelope);
然后,当您准备好时,将信封状态更改为“已发送”。这将触发发给收件人的电子邮件。瞧!
Envelope updatedEnvelope = new Envelope
{
Status = "sent"
};
envelopeApi.Update(
accountId,
envelopeId,
updatedEnvelope);
重申您的既定目标:
我只想让信封进入创建状态,然后获取URL并在我自己的代码中发送电子邮件,该代码会转发电子邮件。
不建议使用此方法,因为您通过CreateRecipientView
获取的URL将在短时间内超时(我相信是5分钟)。换句话说,如果收件人没有打开您发送给他们的电子邮件并单击链接以在该时间段内启动他们的签名会话,则该链接将无效,他们将无法使用它来访问他们的签名会话。
我建议您不要使用CreateRecipientView,而只需将收件人的信息(姓名、电子邮件等)指定为信封定义的一部分,然后DocuSign将向收件人发送一封电子邮件,其中包含一个他们可以用来访问其信封的链接。此链接的有效期为几天(而不是几分钟,就像您通过CreateRecipientView生成的链接一样),因此不要求签名者立即对其进行操作。如果由于某种原因,收件人放错了位置或没有收到DocuSign发送给他们的电子邮件,您可以通过使用DocuSign web UI或使用指定了ResendeDevelope=true的UpdateRecipientAPI操作(如Frederic在回答中所述),轻松地让DocuSign重新发送该电子邮件通知。
更新#1
无法检索收件人可以用来启动签名会话的长期链接。解决方案的常见方法如下:
>
向签名者发送一封电子邮件,其中包含一个链接,可以将他们引导到您构建的网页,并指示他们在准备审阅/签署文档时单击该链接以启动信封。(链接URL需要包含某种查询字符串参数,您的网页可以使用这些参数来标识信封和收件人。)
设计网页,使其在收到入站请求时(就像收件人单击您发送给他们的电子邮件中的链接时一样),使用querystring参数中的信息来识别信封和收件人,然后发出CreateRecipientView请求以检索将启动收件人签名会话的URL,最后,自动将用户重定向到CreateRecipientView响应返回的URL,从而打开信封供收件人审阅/签名/提交。
通过遵循这样的过程,您可以制作/发送收件人收到的电子邮件(而不是依赖DocuSign来这样做),并且可以确保您只在用户表示他们准备好签名时检索信封URL(从而避免短期链接在使用前过期的可能性)。
更新#2
有关如何使用DocuSign C#SDK将收件人添加到信封定义
对象的示例,请参阅此“配方”——具体而言,请参阅Request estSignatureOnDocumentTest方法中的代码。这基本上是一个两步过程:
1)定义每个收件人。例如:
// Add a recipient to sign the documeent
Signer signer = new Signer();
signer.Email = recipientEmail;
signer.Name = recipientName;
signer.RecipientId = "1";
2) 用您创建的收件人填充信封定义对象的收件人属性。例如:
envDef.Recipients = new Recipients();
envDef.Recipients.Signers = new List<Signer>();
envDef.Recipients.Signers.Add(signer);
我正在将accesstoken与文档数据一起发送,但收到此错误。我发送单据数据的顺序是否正确
我有一个web服务,它用需要签名的PDF创建Docusign信封。在我的测试环境中,创建信封后,我查询信封状态以及收件人状态。当使用API调用时,具有不良电子邮件地址的应答者的状态为“AutoResponse”。 现在,在我的Docusign Connect实现中,我有两个被击中的独立路由。一个用于电子邮件成功发送或请求完成时,另一个专门用于电子邮件传递失败。当我有一个路由时,没有一个收件人像返回
我想知道是否有一种方法,使通知弹出状态栏上方,像传统的祝酒词消息,当第一次收到。默认情况下,当收到通知时,通知标签会显示在状态栏中,并暂时隐藏其他通知图标(如果有的话),直到通知标签显示完毕。然后,通知图标通常被添加到等待用户交互的图标的水平列表中。我想要最初的接收报价只是上升到状态栏之上,然后添加图标与其余的他们。
如果有人能告诉我,我的推理出了什么问题,那就太棒了。谢谢!下面是我的主servlet页面中的完整代码。注意,returnURL将您带回到同一个页面,在该页面中,它发现了包含在来自payPal的HTTP请求中的payerID,并正确地输入了主if-else语句的“if”块,这生成了一些完全没有帮助的基本输出。还要注意,我已经将一些基本函数调用外包给了其他类,如AccessToken类。 } 针对我下
我试图使用DocuSign REST API创建一个包含多个文档的信封,我创建了一个C#控制台应用程序,并以JSON格式在请求中写入了信封参数。我得到了错误代码“信封不完整”,我试图将我的请求与REST API Docusign指南中的请求进行比较,但我看不到我遗漏了什么。下面是我的示例代码: POST https://demo.docusign.net/restapi/v2/accounts/2
问题内容: 我希望更改为在我的Web应用程序中实现无状态Spring Security的目的是结束,但事实并非如此。 进行了此更改后,由于(根据我的假设)Spring安全性在会话中不存储任何内容,并且无法对安全的Web请求进行身份验证,因此Spring安全性似乎无法正常工作。 我如何利用此无状态功能? 我似乎尚未找到任何有关如何为无状态Web应用程序实现无状态Spring安全的示例。 谢谢 ! 问