我有一个信封,里面有 2 个收件人和 5 个文件。我正在使用 Docusign 的 Apex Toolkit 发送签名信封。最近,我收到一项要求,要求强制签名者可见性,以向签名者 1 展示信封中的一组文档,并向签名者 2 展示信封中的一组文档。 我能够通过 DocusignAPI 的“enforceSignerVisibility”属性来实现这一点。 我想使用 Apex Toolkit 完成同样的任务(我们必须使用 apex 工具包,因为我们正在自动发送信封)。 关于如何使用 Apex Toolkit 实现这一目标的任何帮助都将是巨大的帮助
public static EnvelopeSendResponse sendEnvelope(final Id mySourceId) {
EnvelopeSendResponse response;
try {
// Capture customer details
Contact myCustomer = [SELECT Id, Name, Email FROM Contact WHERE Id =:mySourceId];
// Create an empty envelope
dfsle.Envelope myEnvelope = dfsle.EnvelopeService.getEmptyEnvelope
(new dfsle.Entity(mySourceId));
// Setup recipient data
dfsle.Recipient myRecipient = dfsle.Recipient.fromSource
(myCustomer.Name, myCustomer.Email, null, 'Signer 1', new dfsle.Entity(mySourceId));
// Add Recipient to the Envelope
myEnvelope = myEnvelope.withRecipients(new List<dfsle.Recipient> { myRecipient });
// myTemplateId contains the DocuSign Id of the DocuSign Template
dfsle.UUID myTemplateId1 = dfsle.UUID.parse('bf7ca600-XXXX-XXXX-XXXX-06e7f3b9e8ce');
// Create a new document for the Envelope
dfsle.Document myDocument1 = dfsle.Document.fromTemplate(
myTemplateId1, // templateId in dfsle.UUID format
'myTemplate1'); // The name of the template
// myTemplateId contains the DocuSign Id of the DocuSign Template
dfsle.UUID myTemplateId2 = dfsle.UUID.parse('bf7ca600-XXXX-XXXX-XXXX-XXXXXXX');
// Create a new document for the Envelope
dfsle.Document myDocument2 = dfsle.Document.fromTemplate(
myTemplateId2, // templateId in dfsle.UUID format
'myTemplate2'); // The name of the template
dfsle.UUID myTemplateId3 = dfsle.UUID.parse('bf7ca600-XXXX-XXXX-XXXX-XXXXXXX');
dfsle.Document myDocument3 = dfsle.Document.fromTemplate(
myTemplateId3, // templateId in dfsle.UUID format
'myTemplate3'); // The name of the template
dfsle.UUID myTemplateId4 = dfsle.UUID.parse('bf7ca600-XXXX-XXXX-XXXX-XXXXXXX');
dfsle.Document myDocument4 = dfsle.Document.fromTemplate(
myTemplateId4, // templateId in dfsle.UUID format
'myTemplate4'); // The name of the template
dfsle.UUID myTemplateId5 = dfsle.UUID.parse('bf7ca600-XXXX-XXXX-XXXX-XXXXXXX');
dfsle.Document myDocument5 = dfsle.Document.fromTemplate(
myTemplateId5, // templateId in dfsle.UUID format
'myTemplate5'); // The name of the template
// Add document to the Envelope
myEnvelope = myEnvelope.withDocuments(new List<dfsle.Document> { myDocument, myDocument2, myDocument3 , myDocument4 , myDocument5 });
// Send the envelope
myEnvelope = dfsle.EnvelopeService.sendEnvelope(
myEnvelope, // The envelope to send
true); // Send now?
response = new EnvelopeSendResponse('Envelope sent successfully', true);
}
catch(Exception ex) {
response = new EnvelopeSendResponse(ex.getMessage(), false);
}
return response;
}
管理部分中的此设置(Docusign Web 应用程序中的“设置”)控制文档可见性。 如果您对从此帐户发送的所有信封有相同的要求,则无需指定文档可见性,只需按照您想要的方式标记文档即可。 因此,假设您有签名者 A、B 和文档 1、2,如果您仅在文档 1 上放置签名者 A 的标签,在文档 2 上放置签名者 B 的标签 - 那么签名者 A 将仅看到文档 1,而签名者 B 将仅请参阅文档 2 无需对您的 Apex 代码进行任何更改! 为此,只需根据您的需求将此下拉列表更改为适当的选项(如果您的签名者是您帐户的成员,或不是等)
注意:目前,Apex 工具包尚不支持信封的
excludedDocuments
属性。