我在Docusign有一个模板,我需要发送到joe@acme.com
然而Joe负责管理10个客户,而不是我发送Joe 10个单独的信封给他签名我想发送Joe 1信封和10个文件,Joe需要在信封中签署所有10个文件。除了模板
的文本字段中填写的不同数据外,文档是相同的我正在使用Docusign提供的C#SDK,我可以使用EnvelopeDefinition
类和TemplateRole
类在信封中发送一个文档,但是如何在信封中创建10个文档则会丢失
以下配方可以实现,但它在python中并使用REST API,我不知道如何转换为C#SDK等价物 https://www.docusign.com/developer-center/recipes/send-multiple-docs
答案 0 :(得分:3)
您可以使用compositeTemplates并在信封中多次重复使用相同的服务器模板。下面的代码使用相同的服务器模板,并在信封中重复10次。请参阅完整示例here
public void CreateEnvelope()
{
var envDef = new EnvelopeDefinition()
{
EmailSubject = "Envelope with multiple documents",
Status = "sent",
CompositeTemplates = new List<CompositeTemplate>()
};
for (int docNumber = 1; docNumber <= 10; docNumber++)
{
var compostiteTemplate = BuildCompositeTemplate(docNumber.ToString());
envDef.CompositeTemplates.Add(compostiteTemplate);
}
EnvelopesApi envelopesApi = new EnvelopesApi();
EnvelopeSummary envelopeSummary = envelopesApi.CreateEnvelope(accountId, envDef);
Console.WriteLine(envelopeSummary);
}
public CompositeTemplate BuildCompositeTemplate(string docNumber)
{
string serverTemplateId = "";//Add your server template ID here
return new CompositeTemplate()
{
ServerTemplates = new List<ServerTemplate>()
{
new ServerTemplate()
{
TemplateId = serverTemplateId,
Sequence = docNumber
}
},
InlineTemplates = new List<InlineTemplate>()
{
new InlineTemplate()
{
Sequence = docNumber,
Recipients = new Recipients()
{
Signers = new List<Signer>()
{
new Signer()
{
Email = "Janedoe@acme.com",
Name = "Jane Doe",
RecipientId = "1",
RoleName = "Signer1",
Tabs = new Tabs()
{
TextTabs = new List<Text>()
{
new Text()
{
DocumentId = docNumber,
PageNumber = "1",
XPosition = "100",
YPosition = "100",
Width = 120,
Value = "Some Tab Value " + docNumber
}
}
}
}
}
}
}
}
}
}
答案 1 :(得分:1)
在EnvelopeDefinition类中有属性Documents,您可以在其中添加多个文档。
当我想查看如何实现功能时,我使用DocuSign中的REST API Explorer。
enDef = new EnvelopeDefinition();
doc = new Document();
doc.DocumentBase64 = System.Convert.ToBase64String(System.IO.File.ReadAllBytes(filename));
doc.Name = DocName;
doc.DocumentId = "1"; // increment this
enDef.Documents = new List<Document>();
enDef.Documents.Add(doc);
<强>加强>
对于多重模板角色,EnvelopeDefinition中还存在一个名为TemplateRoles的属性。在那里你可以添加多个。
tempRole = new TemplateRole();
tempRole.Name = Rolename;
enDef.TemplateRoles = new List<TemplateRole>();
enDef.TemplateRoles.Add(tempRole);`