2017-02-20 54 views
0

我有一個帳戶ID和一個模板ID,但我在文本自定義和列表字段中獲得null。我正在使用DocuSign的REST API for getting custom fields and listed fields在DocuSign中獲取文本自定義字段返回空

configureApiClient("https://demo.docusign.net/restapi"); 

// Step 1: Login() 
// call the Login() API which sets the user's baseUrl and returns their accountId 
AccountId = loginApi(username, password); 

TemplatesApi envelopesApi2 = new TemplatesApi(); 
CustomFields cfe = envelopesApi2.ListCustomFields(AccountId, templateId); 

Console.WriteLine("Get Custom Fields Information:\n{0}", 
          JsonConvert.SerializeObject(cfe)); 

你能幫我解決我的問題嗎?

在此先感謝

+0

使用的DocuSign的REST API返回這個 –

+0

什麼是你所指定templateId的價值envelopeId? –

+0

您是否驗證了您的AccountId和templateId? –

回答

-1

請參閱我的下面的代碼來創建模板中的自定義字段。

public EnvelopeSummary requestSignatureFromTemplateTest(DocuSignData data) 
    { 


     // instantiate api client with appropriate environment (for production change to www.docusign.net/restapi) 
     configureApiClient("https://demo.docusign.net/restapi"); 

     //=========================================================== 
     // Step 1: Login() 
     //=========================================================== 

     // call the Login() API which sets the user's baseUrl and returns their accountId 
     AccountId = loginApi(username, password); 

     //=========================================================== 
     // Step 2: Signature Request from Template 
     //=========================================================== 

     EnvelopeDefinition envDef = new EnvelopeDefinition(); 
     envDef.EmailSubject = "Please sign this sample template document11111111111"; 

     // assign recipient to template role by setting name, email, and role name. Note that the 
     // template role name must match the placeholder role name saved in your account template. 
     TemplateRole tRole = new TemplateRole(); 
     tRole.Email = recipientEmail; 
     tRole.Name = recipientName; 
     tRole.RoleName = templateRoleName; 

     List<TemplateRole> rolesList = new List<TemplateRole>() { tRole }; 

     // add the role to the envelope and assign valid templateId from your account 
     envDef.TemplateRoles = rolesList; 
     envDef.TemplateId = templateId; 

     // set envelope status to "sent" to immediately send the signature request 
     envDef.Status = "sent"; 


     List<TextCustomField> customFieldsTextList = new List<TextCustomField>(); 

     if (data.CustomFieldsText != null) 
     { 
      //custom text fields 
      foreach (DocuSignCustomField customField in data.CustomFieldsText) 
      { 
       TextCustomField newField = new TextCustomField(); 
       newField.Name = customField.Name; 
       newField.Value = customField.Value; 
       newField.Show = customField.Show; 
       newField.Required = customField.Required; 

       customFieldsTextList.Add(newField); 
      } 
     } 

     CustomFields customFields = new CustomFields(); 
     customFields.TextCustomFields = customFieldsTextList; 


     envDef.CustomFields = customFields; 


     // |EnvelopesApi| contains methods related to creating and sending Envelopes (aka signature requests) 
     EnvelopesApi envelopesApi = new EnvelopesApi(); 
     EnvelopeSummary envelopeSummary = envelopesApi.CreateEnvelope(AccountId, envDef); 

     // print the JSON response 
     //Console.WriteLine("Envelope Template Summary:\n{0}", JsonConvert.SerializeObject(envelopeSummary)); 

     return envelopeSummary; 

    } // end requestSignatureFromTemplateTest() 

這個代碼從模板獲得自定義字段

configureApiClient("https://demo.docusign.net/restapi"); 

//第1步:登錄() //調用Login()API,它用於在用戶的baseUrl並返回其帳戶ID ACCOUNTID = loginApi(用戶名,密碼);

TemplatesApi envelopesApi2 = new TemplatesApi(); 
CustomFields cfe = envelopesApi2.ListCustomFields(AccountId, templateId); 
Console.WriteLine("Get Custom Fields Information:\n{0}", 
         JsonConvert.SerializeObject(cfe)); 
+0

歡迎來到stackoverflow。這是作爲答案發布的,但它並不試圖回答這個問題。它應該可能是編輯,評論,另一個問題,或者完全刪除。 –

0

我看到您將自定義字段添加到信封而不是模板。您應該使用EnvelopesApi來檢索CustomFields。您錯誤地使用了TemplateId。

使用下面的代碼並傳遞從envelopesApi.CreateEnvelope()調用

var envelopesApi2 = new EnvelopesApi(); 
CustomFields cfe = envelopesApi2.ListCustomFields(AccountId, envelopeId); 
Console.WriteLine("Get Custom Fields Information:\n{0}", 
        JsonConvert.SerializeObject(cfe));