获取文本自定义字段在DocuSign中返回null

时间:2017-02-20 06:05:13

标签: c# docusignapi

我有一个帐户ID和一个模板ID,但我在文本自定义和列表字段中收到public function showLoginForm() { $region=Region::all(); return view('auth.register')->with('region',$region); } 。我正在使用DocuSign的REST api getting custom fields and listed fields

null

你能帮我解决一下我的问题吗?

提前致谢

2 个答案:

答案 0 :(得分:0)

我看到您要将自定义字段添加到信封而不是模板。您应该使用 EnvelopesApi 来检索CustomFields。您错误地使用了TemplateId。

使用以下代码并传递从 envelopesApi.CreateEnvelope()调用返回的envelopeId

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

答案 1 :(得分:-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并返回其accountId     AccountId = loginApi(用户名,密码);

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