DocuSign Connect未触发信封完成通知问题咨询(C# SDK场景)
解决方案
核心问题原因
DocuSign默认将所有收件人(无论是否需要签署)纳入信封完成的判定条件,即便某个收件人无签署权限,系统仍会等待其完成“确认”类动作,导致信封无法触发完成通知。
具体解决步骤
- 区分收件人类型:将无需签署的第3个收件人设置为
carbonCopy(抄送)或certifiedDelivery(认证送达)类型,而非signer类型。这类角色仅会收到信封副本,不会被计入信封完成的必要条件。 - 配置信封完成规则:创建信封时明确设置完成规则为仅等待所有签署人完成,而非所有收件人。
- 清理无效签署人配置:确保非签署人收件人不包含任何签署相关的
tabs标签,避免系统误判其为需参与签署的角色。
C# SDK代码示例
// 构建信封定义 var envelopeDefinition = new EnvelopeDefinition { EmailSubject = "需要签署的文档", Status = "sent", Documents = new List<Document> { /* 你的文档配置 */ } }; // 添加2个带签署标签的签署人 var signers = new List<Signer> { new Signer { Email = "signer1@example.com", Name = "Signer One", RecipientId = "1", RoutingOrder = "1", Tabs = new Tabs { /* 文本匹配生成的签署标签 */ } }, new Signer { Email = "signer2@example.com", Name = "Signer Two", RecipientId = "2", RoutingOrder = "1", Tabs = new Tabs { /* 文本匹配生成的签署标签 */ } } }; // 添加第3个仅收件的抄送对象 var ccRecipient = new CarbonCopy { Email = "third_recipient@example.com", Name = "Third Recipient", RecipientId = "3", RoutingOrder = "1" // 可根据需求调整路由顺序 }; // 组装收件人列表 envelopeDefinition.Recipients = new Recipients { Signers = signers, CarbonCopies = new List<CarbonCopy> { ccRecipient } }; // 设置信封完成规则为仅所有签署人完成 envelopeDefinition.EnvelopeSettings = new EnvelopeSettings { CompletionRule = "allSigners" }; // 使用SDK发送信封 var envelopesApi = new EnvelopesApi(apiClient); var envelopeSummary = envelopesApi.CreateEnvelope(accountId, envelopeDefinition);
已悬停信封的处理
对于已经处于未完成状态的信封,可通过DocuSign API调用EnvelopesApi.UpdateRecipients接口,将第3个收件人类型从signer修改为carbonCopy,修改后系统会重新判定信封状态,触发完成通知(若2个签署人已完成)。
内容的提问来源于stack exchange,提问作者mhiggins
相关产品推荐
相关产品推荐

