能否在DocuSign批量发送中使用复合模板?C# SDK实现咨询
实现DocuSign批量发送多模板组合+个性化字段需求的方案
结论
完全可以实现你的需求,Bulk Send API支持结合Composite Template来发送包含多模板组合且带个性化字段的信封,同时DocuSign的C# SDK也完全支持这个流程,不需要直接调用REST API。
具体实现思路
- 按模板组合分组处理:将收件人按模板组合(如A+B、B+C)划分成不同批次,每个批次对应一套固定的Composite Template配置
- 构建多模板组合的Composite Template:针对每个批次,创建包含对应服务器模板的Composite Template,明确各模板的顺序,同时确保模板中需要个性化的字段(Title、Salary等)有统一的标签
- 准备批量收件人数据:为每个批次的收件人准备CSV数据,包含收件人基础信息(邮箱、姓名)以及对应模板字段的个性化值,列名要和模板字段标签匹配
- 通过C# SDK发起批量发送:利用SDK封装的方法,关联Composite Template和收件人CSV数据,发起批量发送请求
C# SDK关键代码示例
1. 构建Composite Template(以A+B组合为例)
// 初始化Composite Template列表 var compositeTemplates = new List<CompositeTemplate>(); // 添加模板A,设置顺序为1 compositeTemplates.Add(new CompositeTemplate { ServerTemplates = new List<ServerTemplate> { new ServerTemplate { Sequence = "1", TemplateId = "你的模板AID" } } }); // 添加模板B,设置顺序为2 compositeTemplates.Add(new CompositeTemplate { ServerTemplates = new List<ServerTemplate> { new ServerTemplate { Sequence = "2", TemplateId = "你的模板BID" } } });
2. 创建批量发送请求
// 定义批量信封配置 var bulkEnvelopeDef = new BulkEnvelopeDefinition { Name = "A+B组合批量发送任务", EmailSubject = "请签署相关文件", CompositeTemplates = compositeTemplates, Status = "created" // 先创建草稿,后续上传收件人后再启动发送 }; // 创建批量信封草稿 var createResponse = bulkEnvelopesApi.CreateBulkEnvelope(accountId, bulkEnvelopeDef); // 上传收件人CSV数据(假设已读取CSV内容为字节数组) var bulkListResponse = bulkEnvelopesApi.UploadBulkList(accountId, createResponse.BulkEnvelopeId, new FileParameter("bulk_list.csv", csvBytes, "text/csv")); // 启动批量发送 var sendResponse = bulkEnvelopesApi.UpdateBulkEnvelopeStatus(accountId, createResponse.BulkEnvelopeId, new BulkEnvelopeStatusUpdate { Status = "sent" });
注意事项
- 字段匹配:CSV列名必须和模板中自定义字段的标签完全一致,否则无法正确填充个性化数据
- 批次规模:虽然Bulk Send支持大规模收件人,但建议单次批量控制在合理范围(如不超过10000人),避免触发API限制
- 测试先行:先用少量收件人测试每个模板组合的字段填充和发送流程,确认无误后再执行大规模发送
内容的提问来源于stack exchange,提问作者telli
相关产品推荐
相关产品推荐

