Docusignapi DocuSign API JAVA-如何以编程方式填充每个签名者的“公司”和“标题”字段
是否有一种编程方式来填充每个签名者的公司和标题字段?怎么做 在此示例代码中,模板中的文档将替换为定义为方法参数的其他文档:Docusignapi DocuSign API JAVA-如何以编程方式填充每个签名者的“公司”和“标题”字段,docusignapi,Docusignapi,是否有一种编程方式来填充每个签名者的公司和标题字段?怎么做 在此示例代码中,模板中的文档将替换为定义为方法参数的其他文档: public ESenderSummary sendDocumentsToSignByOrderOfSigner(List<ESigner> eSigners, String templateId, List<EDocument> eDocuments) throws ESignException { String docuS
public ESenderSummary sendDocumentsToSignByOrderOfSigner(List<ESigner> eSigners, String templateId, List<EDocument> eDocuments) throws ESignException {
String docuSignAccountId = docuSignAuthenticationProvider.getAccountId();
TemplatesApi templatesApi = docuSignAuthenticationProvider.getTemplatesApi();
List<TemplateRole> templateRoles = new ArrayList<>();
String emailSubject;
EmailSettings emailSettings;
Recipients recipients;
try {
EnvelopeTemplate envelopeTemplate = templatesApi.get(docuSignAccountId, templateId);
emailSubject = envelopeTemplate.getEmailSubject();
recipients = envelopeTemplate.getRecipients();
List<Signer> signers = recipients.getSigners();
int index = 1;
for (Signer signer : signers) {
ESigner eSigner = eSigners.get(index - 1);
// create a signer recipient to sign the document, identified by name and email
signer.setEmail(eSigner.getEmail());
signer.setName(eSigner.getFirstName() + " " + eSigner.getLastName());
// create a templateRole for each signer from recipient to sign the document
TemplateRole templateRole = new TemplateRole();
templateRole.setEmail(eSigner.getEmail());
templateRole.setName(eSigner.getFirstName() + " " + eSigner.getLastName());
templateRole.setRoleName("signer" + index);
templateRole.setRoutingOrder(String.valueOf(index)); // ordering of sign
templateRoles.add(templateRole);
index++;
}
recipients.setSigners(signers);
emailSettings = envelopeTemplate.getEmailSettings();
} catch (ApiException e) {
throw new ESignException("DocuSign API failed to retrieve envelope template " + templateId + ": " + e.getMessage());
}
// Next, create the top level envelope definition and populate it.
EnvelopeDefinition envelopeDefinition = new EnvelopeDefinition();
envelopeDefinition.setEmailSubject(emailSubject);
envelopeDefinition.setRecipients(recipients);
envelopeDefinition.setEmailSettings(emailSettings);
envelopeDefinition.setTemplateRoles(templateRoles);
envelopeDefinition.setDocuments(createDocuments(eDocuments));
return sendEnvelope(envelopeDefinition, docuSignAccountId);
}
public ESenderSummary sendDocumentsToSignByOrderOfSigner(列表设计人、字符串模板ID、列表eDocuments)引发ESignException{
字符串docuSignAccountId=docuSignAuthenticationProvider.getAccountId();
TemplatesApi TemplatesApi=docuSignAuthenticationProvider.getTemplatesApi();
List templateRoles=new ArrayList();
字符串主题;
电子邮件设置电子邮件设置;
受助人;
试一试{
EnvelopetTemplateEnvelopetTemplate=templatesApi.get(docuSignAccountId,templateId);
emailSubject=EnvelopetTemplate.getEmailSubject();
recipients=EnvelopetTemplate.getRecipients();
List signers=recipients.getSigners();
int指数=1;
for(签名者签名者:签名者){
ESigner-ESigner=eSigners.get(索引-1);
//创建一个签名者收件人来签名文档,通过名称和电子邮件进行标识
signer.setEmail(eSigner.getEmail());
signer.setName(eSigner.getFirstName()+“”+eSigner.getLastName());
//为收件人中的每个签名者创建一个templateRole来签名文档
TemplateRole TemplateRole=新的TemplateRole();
setEmail(eSigner.getEmail());
templateRole.setName(eSigner.getFirstName()+“”+eSigner.getLastName());
templateRole.setRoleName(“签名者”+索引);
templateRole.setRoutingOrder(String.valueOf(index));//符号的顺序
添加(templateRole);
索引++;
}
收件人。设置签名人(签名人);
emailSettings=EnvelopetTemplate.getEmailSettings();
}捕获(APIE){
抛出新的ESignException(“DocuSign API未能检索信封模板”+templateId+:“+e.getMessage());
}
//接下来,创建顶级封套定义并填充它。
信封定义信封定义=新信封定义();
信封定义。setEmailSubject(emailSubject);
信封定义。设置收件人(收件人);
EnvelopedDefinition.setEmailSettings(emailSettings);
包络定义。设置模板孔(模板孔);
setDocuments(createDocuments(eDocuments));
返回sendEnvelope(信封定义,DocusignAccounted);
}
只有当签名者是帐户中的DocuSign用户,然后您用他们的公司和头衔更新他们的帐户/用户信息时,才能执行此操作
“公司”和“标题”是固定的选项卡,所以您可以使用“文本”选项卡,通过编程方式更新值并使其成为只读。您将获得同样的结果。谢谢@InbarGazit!但是,当我尝试从文档模板中检索选项卡时,Tabs Tabs=templatesApi.getDocumentTabs(docusignaccount,templateId,templateDocument.getDocumentId())选项卡的所有属性列表都是空的。我想到了自定义字段的用法。但是我不明白怎么做。看这个-is有8种语言的代码示例,包括Java