Docusignapi Docusign无法更新模板文档中的表单字段或自定义字段
我正在尝试更新模板附加文档中的字段。我已尝试使用以下代码更新自定义字段,但无法看到发送给用户的文档的任何更改。是否可以通过编程方式更改模板中的自定义字段Docusignapi Docusign无法更新模板文档中的表单字段或自定义字段,docusignapi,Docusignapi,我正在尝试更新模板附加文档中的字段。我已尝试使用以下代码更新自定义字段,但无法看到发送给用户的文档的任何更改。是否可以通过编程方式更改模板中的自定义字段 TemplateRole tRole = new TemplateRole { Email = "senderemailid@gmail.com", Name = "ABHAY DHAR", RoleName = "Test
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);
TemplateRole tRole=新的TemplateRole
{
电子邮件=”senderemailid@gmail.com",
Name=“ABHAY DHAR”,
RoleName=“Test1”
};
tRole.Tabs=新选项卡();
tRole.Tabs.TextTabs=新列表();
Text Text tab=新文本();
textTab.TabLabel=“虚拟\自定义”;
textTab.Value=“RedPlanetNote2”;
tRole.Tabs.TextTabs.Add(textTab);
列表角色列表=新列表(){tRole};
//将角色添加到信封并从您的帐户分配有效的templateId
envDef.TemplateRoles=角色列表;
envDef.TemplateId=“964300cb-9ccf-471f-8d9d-5ad894e8d99f”;
//envDef.CustomFields=docCustomFields;
//将信封状态设置为“已发送”,以立即发送签名请求
envDef.Status=“已发送”;
//|信封API |包含与创建和发送信封(又名签名请求)相关的方法
EnvelopesApi EnvelopesApi=新的EnvelopesApi();
EnvelopesSummary EnvelopesSummary=envelopesApi.CreateEnvelope(accountId,envDef);
公司和职务字段(选项卡),加上姓名和电子邮件字段是特殊的。它们反映收件人的属性(无论是否为签名者)
看看这个答案:
我不知道你是否可以通过编程来设置它们。我会请另一个团队也来看看你的问题。您可以首先尝试在一个简单的信封定义(不涉及模板)中设置字段来进行测试。如果可以,那么问题就变成了通过模板设置字段值的问题
请注意,如果签名者是否拥有自己的DocuSign帐户,则这些字段的处理方式会有所不同。我在java中与API进行了大量的斗争,但最后在github link:的C#代码的帮助下,我成功地实现了这一点 现在,我在docusign上的模板将使用以下代码自动填充 只是一个进一步的信息。我进入docusignweb应用程序,并在那里创建了一个模板。然后,我在该模板中放置了一个文档,在其中放置了自定义字段,如以下屏幕截图所示: 工作代码: `信封API信封API=新信封API(apiClient)
EnvelopedDefinition envDef=新的EnvelopedDefinition();
envDef.setEmailSubject(“KYC XXX”);
环境定义setTemplateId(“xxxxxx-76cb-4226-adb4-3180358c8dec”);
List templateRolesList=new ArrayList();
TemplateRole tRole=新的TemplateRole();
制表符=新制表符();
列表角色列表=新建ArrayList();
List texttab=new ArrayList();
tRole.setRoleName(“签字人”);
Text Text tab1=新文本();
texttab 1.setTabLabel(“用户信息”);
textTab1.setValue(“RedPlanetNote2”);
Text Text tab3=新文本();
text表3.可设置标签(“业务活动”);
textTab3.setValue(“我们出售汽车”);
textTabs.add(textTab1);
textTabs.add(textTab3);
tabs.setTextTabs(文本选项卡);
设置选项卡(选项卡);
tRole.setName(“xxx”);
tRole.setEmail(“xxx@gmail.com");
templateRolesList.add(tRole);
envDef.setTemplateRoles(TemplateRoleList);
环境定义设置状态(“已发送”);
试一试{
返回信封API.createEnvelope(accountId,envDef);
}捕获(APIE){
e、 printStackTrace();
LOGGER.error(String.format(“发送带有预填充电子邮件%s和“、e”的签名KYC模板时发生异常”);
}`
您解决了吗?很抱歉,我无法解决,当时SDK不支持更新自定义字段。下面的答案证实了这一点。
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));
}`