分配给其他人在 Docusign 中启用,但不显示为收件人的选项
Assign to someone else is enabled in Docusign, but not appearing as an option for recipients
我们在首选项中启用了“分配给其他人”。
通过 UI 创建的信封使收件人能够分配给其他人。
我们在通过 API 创建的信封上明确设置 AllowReassign = "true"。
通过 API 创建的信封不提供此选项。
注意:我们不使用 docusign 生成的电子邮件:我们发送我们自己的电子邮件,然后使用基于唯一令牌的 API CreateRecipientView 调用。
如果我使用“正确”编辑已发送的信封并添加新的收件人,这确实会生成一封文档签名电子邮件,并且这个新的收件人确实可以选择“分配给其他人”点击 link.
是什么阻止了“分配给其他人”功能的工作?可能是我们对 CreateRecipientView 的使用?有错误吗?如果做不到,我还可以检查哪些其他内容?
编辑 - 正如我们创建信封的建议示例代码
var envDefinition = new EnvelopeDefinition { EmailSubject = emailSubject) };
envDefinition.Documents = new List<Document>();
//Add the email text
envDefinition.EmailSubject = HttpUtility.HtmlDecode(Title);
envDefinition.EmailBlurb = HttpUtility.HtmlDecode(Message);
//Add the documents
envDefinition.Documents = PopulateDocuments(documentList, Envelope);
EventNotification evenNotification = new EventNotification
{
LoggingEnabled = "true",
RequireAcknowledgment = "true",
UseSoapInterface = "false",
IncludeCertificateWithSoap = "false",
SignMessageWithX509Cert = "false",
IncludeDocuments = "true",
IncludeEnvelopeVoidReason = "true",
IncludeTimeZone = "true",
IncludeSenderAccountAsCustomField = "true",
IncludeDocumentFields = "true",
IncludeHMAC = "true",
IncludeCertificateOfCompletion = "false",
};
evenNotification.Url = docusignBaseUrl;
var envelopeEvents = new List<EnvelopeEvent>();
// In this case we only add a single envelope event, we can add multiple events based on requirement
envelopeEvents.Add(new EnvelopeEvent { EnvelopeEventStatusCode = EnvelopeEventStatusCompleted, IncludeDocuments = "true" });
envelopeEvents.Add(new EnvelopeEvent { EnvelopeEventStatusCode = EnvelopeEventStatusVoided, IncludeDocuments = "false" });
envelopeEvents.Add(new EnvelopeEvent { EnvelopeEventStatusCode = EnvelopeEventStatuDeclined, IncludeDocuments = "false" });
evenNotification.EnvelopeEvents = envelopeEvents;
List<RecipientEvent> rEvents = new List<RecipientEvent>();
rEvents.Add(new RecipientEvent { RecipientEventStatusCode = RecipientEventStatusDeclined, IncludeDocuments = "false" });
rEvents.Add(new RecipientEvent { RecipientEventStatusCode = RecipientEventStatusCompleted, IncludeDocuments = "false" });
evenNotification.RecipientEvents = rEvents;
envDefinition.EventNotification = evenNotification;
//Add the recipients
envDefinition.Recipients = PopulateRecipients(Envelope);
//envDefinition.RecipientsLock = "true"; //cannot add new receipients at docusign
envDefinition.AllowReassign = "true";
envDefinition.Status = "created";
//submit the envelope
envelopesApi = new EnvelopesApi(apiClient);
envelopeSummary = envelopesApi.CreateEnvelope(_docuSignAccountId, envDefinition);
和收件人(签名者)
Signer signer = new Signer();
signer.Name = Recipient.GetRecipientName(recipient.TheRecipient);
signer.Email = Recipient.GetRecipientEmail(recipient.TheRecipient);
signer.RecipientId = recipient.Id.ToString();
signer.TemplateLocked = "true"; //cannot be edited as docusign
signer.TemplateRequired = "true"; //cannot be removed at docusign
signer.EmailNotification = new RecipientEmailNotification()
{
SupportedLanguage = GetLanguage(recipient),
EmailSubject = string.Format(WebDisplayHelper.GetText(typeof(DocuSignFileHandler), DocuSignFileHandlerResources.EmailSubject),
HttpUtility.HtmlDecode(Envelope.Title),
HttpUtility.HtmlDecode(Envelope.Reference)),
EmailBody = HttpUtility.HtmlDecode(Envelope.Blurb)
};
signer.RoutingOrder = recipient.RoutingOrder.ToString();
此代码一般有效 - 除了在“设置”中启用“允许收件人更改签名责任”之外,唯一的代码更改是我们注释掉了锁定收件人的代码,并添加了显式调用
envDefinition.AllowReassign = "true";
理想情况下,我们会保留锁定,以便无法添加新的收件人,同时允许指定的收件人将签名重新分配给其他人
签名者重新分配功能在某些情况下会消失。如果您自己发送电子邮件通知并使用 recipientViewTokens,这意味着您很可能使用的是专属收件人。使俘虏收件人俘虏的是 clientUserId 的存在,它启用 recipientViewTokens 并阻止初始电子邮件通知发出。
它做的另一件事是将信封绑定到通用 DocuSign 帐户,而不是任何特定用户的个人 DS 帐户。因为 DS 帐户/用户席位需要 才能重新分配签名者,因此删除了该选项。
随时在支持门户上开工单进行实时讨论,我或我团队中的某个人可以与您会面以解决问题。
此致,
马特
我们在首选项中启用了“分配给其他人”。
通过 UI 创建的信封使收件人能够分配给其他人。
我们在通过 API 创建的信封上明确设置 AllowReassign = "true"。
通过 API 创建的信封不提供此选项。
注意:我们不使用 docusign 生成的电子邮件:我们发送我们自己的电子邮件,然后使用基于唯一令牌的 API CreateRecipientView 调用。
如果我使用“正确”编辑已发送的信封并添加新的收件人,这确实会生成一封文档签名电子邮件,并且这个新的收件人确实可以选择“分配给其他人”点击 link.
是什么阻止了“分配给其他人”功能的工作?可能是我们对 CreateRecipientView 的使用?有错误吗?如果做不到,我还可以检查哪些其他内容?
编辑 - 正如我们创建信封的建议示例代码
var envDefinition = new EnvelopeDefinition { EmailSubject = emailSubject) };
envDefinition.Documents = new List<Document>();
//Add the email text
envDefinition.EmailSubject = HttpUtility.HtmlDecode(Title);
envDefinition.EmailBlurb = HttpUtility.HtmlDecode(Message);
//Add the documents
envDefinition.Documents = PopulateDocuments(documentList, Envelope);
EventNotification evenNotification = new EventNotification
{
LoggingEnabled = "true",
RequireAcknowledgment = "true",
UseSoapInterface = "false",
IncludeCertificateWithSoap = "false",
SignMessageWithX509Cert = "false",
IncludeDocuments = "true",
IncludeEnvelopeVoidReason = "true",
IncludeTimeZone = "true",
IncludeSenderAccountAsCustomField = "true",
IncludeDocumentFields = "true",
IncludeHMAC = "true",
IncludeCertificateOfCompletion = "false",
};
evenNotification.Url = docusignBaseUrl;
var envelopeEvents = new List<EnvelopeEvent>();
// In this case we only add a single envelope event, we can add multiple events based on requirement
envelopeEvents.Add(new EnvelopeEvent { EnvelopeEventStatusCode = EnvelopeEventStatusCompleted, IncludeDocuments = "true" });
envelopeEvents.Add(new EnvelopeEvent { EnvelopeEventStatusCode = EnvelopeEventStatusVoided, IncludeDocuments = "false" });
envelopeEvents.Add(new EnvelopeEvent { EnvelopeEventStatusCode = EnvelopeEventStatuDeclined, IncludeDocuments = "false" });
evenNotification.EnvelopeEvents = envelopeEvents;
List<RecipientEvent> rEvents = new List<RecipientEvent>();
rEvents.Add(new RecipientEvent { RecipientEventStatusCode = RecipientEventStatusDeclined, IncludeDocuments = "false" });
rEvents.Add(new RecipientEvent { RecipientEventStatusCode = RecipientEventStatusCompleted, IncludeDocuments = "false" });
evenNotification.RecipientEvents = rEvents;
envDefinition.EventNotification = evenNotification;
//Add the recipients
envDefinition.Recipients = PopulateRecipients(Envelope);
//envDefinition.RecipientsLock = "true"; //cannot add new receipients at docusign
envDefinition.AllowReassign = "true";
envDefinition.Status = "created";
//submit the envelope
envelopesApi = new EnvelopesApi(apiClient);
envelopeSummary = envelopesApi.CreateEnvelope(_docuSignAccountId, envDefinition);
和收件人(签名者)
Signer signer = new Signer();
signer.Name = Recipient.GetRecipientName(recipient.TheRecipient);
signer.Email = Recipient.GetRecipientEmail(recipient.TheRecipient);
signer.RecipientId = recipient.Id.ToString();
signer.TemplateLocked = "true"; //cannot be edited as docusign
signer.TemplateRequired = "true"; //cannot be removed at docusign
signer.EmailNotification = new RecipientEmailNotification()
{
SupportedLanguage = GetLanguage(recipient),
EmailSubject = string.Format(WebDisplayHelper.GetText(typeof(DocuSignFileHandler), DocuSignFileHandlerResources.EmailSubject),
HttpUtility.HtmlDecode(Envelope.Title),
HttpUtility.HtmlDecode(Envelope.Reference)),
EmailBody = HttpUtility.HtmlDecode(Envelope.Blurb)
};
signer.RoutingOrder = recipient.RoutingOrder.ToString();
此代码一般有效 - 除了在“设置”中启用“允许收件人更改签名责任”之外,唯一的代码更改是我们注释掉了锁定收件人的代码,并添加了显式调用
envDefinition.AllowReassign = "true";
理想情况下,我们会保留锁定,以便无法添加新的收件人,同时允许指定的收件人将签名重新分配给其他人
签名者重新分配功能在某些情况下会消失。如果您自己发送电子邮件通知并使用 recipientViewTokens,这意味着您很可能使用的是专属收件人。使俘虏收件人俘虏的是 clientUserId 的存在,它启用 recipientViewTokens 并阻止初始电子邮件通知发出。
它做的另一件事是将信封绑定到通用 DocuSign 帐户,而不是任何特定用户的个人 DS 帐户。因为 DS 帐户/用户席位需要 才能重新分配签名者,因此删除了该选项。
随时在支持门户上开工单进行实时讨论,我或我团队中的某个人可以与您会面以解决问题。
此致,
马特