2017-06-06 81 views
1

我在的DocuSign模板,我需要发送到[email protected]添加多个文件使用C#SDK使用的DocuSign API

但是乔是负责管理10个客户端,而是我的发送乔10信封单独的信封让他签名我想发送包含10个文件的Joe 1信封,Joe需要在信封中签署所有10个文件。该文件除了对填充于模板

我使用的DocuSign,我提供的C#SDK的文本字段中的不同数据相同可以使用EnvelopeDefinition类和TemplateRole类在信封发送一个文件,但我失去了作为如何在信封

下面的食谱做,但它是在Python和使用REST API与我不知道如何翻译到C#SDK相当于 https://www.docusign.com/developer-center/recipes/send-multiple-docs

回答

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 = "[email protected]", 
           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 
             } 
            } 

           } 
          } 
         } 
        } 
       } 
      } 
    } 
} 
+0

请注意并标记答案为接受,如果它解决你的问题。如果您有任何其他问题,请告知我们。 –

+0

看起来像我在找什么。谢谢 – kurasa

1

还有就是创建10个文件属性类EnvelopeDefinition中的文档,您可以在其中添加乘法文档。

我使用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);` 
+0

谢谢。我看到了Document集合,但它想要一个文档,但我希望能够填充一个模板。可能?如果我可以从模板创建文档,这将工作 – kurasa

+0

你试过吗?我尝试添加另一个模板角色,但结果是只有一个文档只有来自第二个模板的信息......我不认为这是TemplateRole的作用 – kurasa

+0

我想也许您的原始答案是正确的。从我所能看到的唯一方法来做到这一点,就是将文档添加到信封中,因为模板已经定义了文档。就像我说如果我可以填充一个模板并让它返回一个文档,然后我将它添加到信封坚果的文档集合我看不到如何做到这一点 – kurasa

相关问题