Docusign无法更新模板文档中的表单字段或自定义字段

时间:2018-10-11 18:57:47

标签: docusignapi

我正在尝试更新模板附件文档中的字段。我试图使用下面的代码更新自定义字段,但是无法看到发送给用户的文档上的任何更改。是否可以通过编程方式更改模板中的自定义字段?

 TemplateRole tRole = new TemplateRole
            {
                Email = "senderemailid@gmail.com",
                Name = "ABHAY DHAR",
                RoleName = "Test1"
            };

            tRole.Tabs = new Tabs();
            tRole.Tabs.TextTabs = new List<Text>();
            Text textTab = new Text();
            textTab.TabLabel = "Dummy_Custom";
            textTab.Value = "RedPlanetNote2";
            tRole.Tabs.TextTabs.Add(textTab);


            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 = "964300cb-9ccf-471f-8d9d-5ad894e8d99f";
           // envDef.CustomFields = docCustomFields;
            // set envelope status to "sent" to immediately send the signature request
            envDef.Status = "sent";

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

2 个答案:

答案 0 :(得分:1)

我在Java中使用API​​进行了大量的斗争,但是最终在github链接https://github.com/docusign/docusign-csharp-client/issues/75的C#代码的帮助下,我使它工作了。

现在我的docusign模板正在使用以下代码自动填充。

仅此而已。我进入Docusign Web应用程序并在那里创建了模板。然后,我在此模板中放置了一个文档,在其中放置了自定义字段,如以下屏幕截图所示:

enter image description here

工作代码:

`EnvelopesApi EnvelopesApi =新的EnvelopesApi(apiClient);

EnvelopeDefinition envDef = new EnvelopeDefinition();
envDef.setEmailSubject("KYC XXX");
envDef.setTemplateId("xxxxxx-76cb-4226-adb4-3180358c8dec");

List<TemplateRole> templateRolesList = new ArrayList<TemplateRole>();
TemplateRole tRole = new TemplateRole();

Tabs tabs = new Tabs();
List<TemplateRole> rolesList = new ArrayList<TemplateRole>();
List<Text> textTabs = new ArrayList<>();
tRole.setRoleName("Signer");

Text textTab1 = new Text();
textTab1.setTabLabel("userinfo");
textTab1.setValue("RedPlanetNote2");

Text textTab3 = new Text();
textTab3.setTabLabel("business_activity");
textTab3.setValue("We sell cars");

textTabs.add(textTab1);
textTabs.add(textTab3);

tabs.setTextTabs(textTabs);
tRole.setTabs(tabs);
tRole.setName("xxx");
tRole.setEmail("xxx@gmail.com");

templateRolesList.add(tRole);

envDef.setTemplateRoles(templateRolesList);
envDef.setStatus("sent");

try {
    return envelopesApi.createEnvelope(accountId, envDef);
} catch (ApiException e) {
    e.printStackTrace();
    LOGGER.error(String.format("Exception occurred while sending signed KYC Template with prepopulation email %s with ", e));
}`

enter image description here

答案 1 :(得分:0)

“公司”和“职务”字段(标签),以及“姓名”和“电子邮件”字段是特殊的。它们反映了接收者的属性(无论签名者与否)。

查看此答案:https://support.docusign.com/en/answers/00082402

我不知道您是否可以通过编程设置它们。我将请另一个团队也研究您的问题。您可以通过首先尝试在简单的信封定义(不涉及模板)中设置字段进行测试。如果可以,那么问题就成为通过模板设置字段值之一。

请注意,无论签名者是否拥有自己的DocuSign帐户,这些字段的处理方式都不同。