基于DocuSign C# Client实现分群签署体验的技术问询
我来帮你搞定用DocuSign C#客户端实现这种分群签署的需求,分两部分针对A组(代表)和B组(客户)分别配置对应的签署流程:
一、A组(代表):强制双因素认证账号的创建与签署配置
首先要给A组用户创建强制启用双因素认证的账号,之后发送信封给这类用户时,他们登录签署系统会自动触发双因素验证流程(因为账号本身已强制要求)。
创建带强制双因素的用户示例代码
// 初始化ApiClient var apiClient = new ApiClient(basePath); apiClient.Configuration.DefaultHeader.Add("Authorization", "Bearer " + accessToken); var usersApi = new UsersApi(apiClient); var newUser = new UserCreateRequest { Email = "representative@example.com", UserName = "John Representative", Password = "TempPass123!", // 建议后续引导用户自行修改初始密码 ForceChangePassword = true, // 启用强制双因素认证 TwoFactorAuthentication = new TwoFactorAuthentication { Required = "true", Methods = new List<string> { "email", "sms" } // 指定允许的双因素验证方式 } }; // 执行用户创建操作 var createdUser = usersApi.Create(accountId, newUser);
发送信封给A组用户时,只需将其作为普通签署者添加即可——由于账号已强制双因素,系统会自动要求他们完成验证后才能登录签署:
var signerA = new Signer { Email = createdUser.Email, Name = createdUser.UserName, RecipientId = "1", ClientUserId = null, // 留空表示使用DocuSign账号登录签署 RoutingOrder = "1" };
二、B组(客户):无需账号的访客签署配置
对于B组客户,我们采用访客签署模式,不需要他们创建DocuSign账号,而是通过短信验证码、邮箱链接验证等轻量化方式完成身份校验后直接签署。
配置B组签署者的示例代码
这里以短信认证为例,你也可以根据需求换成电话语音认证、知识问答(KBA)等方式:
var signerB = new Signer { Email = "customer@example.com", Name = "Jane Customer", RecipientId = "2", ClientUserId = "unique_customer_123", // 必填,用于标识访客签署者的唯一ID RoutingOrder = "2", // 配置短信认证规则 AuthenticationRequirements = new AuthenticationRequirements { AuthenticationMethod = "sms", SmsAuthentication = new SmsAuthentication { SenderProvidedNumbers = new List<string> { "+1234567890" } // 预存的客户手机号 } } };
将两组签署者整合到信封中并发送:
var envelopeDefinition = new EnvelopeDefinition { EmailSubject = "请签署这份合作文档", Documents = new List<Document> { /* 这里传入你的文档对象 */ }, Recipients = new Recipients { Signers = new List<Signer> { signerA, signerB } }, Status = "sent" // 标记信封为待发送状态 }; var envelopesApi = new EnvelopesApi(apiClient); var envelopeSummary = envelopesApi.CreateEnvelope(accountId, envelopeDefinition);
关键注意点
- 给A组用户创建账号时,务必确保
TwoFactorAuthentication.Required设为"true",否则无法触发强制双因素验证。 - B组签署者的
ClientUserId必须唯一,这是区分访客签署和账号签署的核心标志,留空则会默认走账号登录流程。 - 可以灵活调整B组的认证方式,比如用
email认证(发送验证链接到客户邮箱),只需修改AuthenticationMethod和对应的配置项即可。
内容的提问来源于stack exchange,提问作者Bleenbleeng
相关产品推荐
相关产品推荐

