2017-06-06 31 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

相關問題