我正在尝试更新模板附件文档中的字段。我试图使用下面的代码更新自定义字段,但是无法看到发送给用户的文档上的任何更改。是否可以通过编程方式更改模板中的自定义字段?
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);
答案 0 :(得分:1)
我在Java中使用API进行了大量的斗争,但是最终在github链接https://github.com/docusign/docusign-csharp-client/issues/75的C#代码的帮助下,我使它工作了。
现在我的docusign模板正在使用以下代码自动填充。
仅此而已。我进入Docusign Web应用程序并在那里创建了模板。然后,我在此模板中放置了一个文档,在其中放置了自定义字段,如以下屏幕截图所示:
工作代码:
`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));
}`
答案 1 :(得分:0)
“公司”和“职务”字段(标签),以及“姓名”和“电子邮件”字段是特殊的。它们反映了接收者的属性(无论签名者与否)。
查看此答案:https://support.docusign.com/en/answers/00082402
我不知道您是否可以通过编程设置它们。我将请另一个团队也研究您的问题。您可以通过首先尝试在简单的信封定义(不涉及模板)中设置字段进行测试。如果可以,那么问题就成为通过模板设置字段值之一。
请注意,无论签名者是否拥有自己的DocuSign帐户,这些字段的处理方式都不同。