我已经从模板创建了一个DocuSign信封。我已存储信封ID 以供将来操作使用。使用此信封ID ,我只能检索我创建的信封,但我也需要模板ID 。有没有办法从envelope或FolderItems中检索模板ID ?请帮忙:(
答案 0 :(得分:0)
如果templateId
在信封中的任何位置保存为元数据,我不确定您是否从模板创建信封(我不相信)。因此,您可以自行完成此操作 - 尝试使用信封自定义字段在创建时存储templateId
,然后将templateId
存储为元数据整个生命周期中的那个信封。
在DocuSign API文档中进行搜索,以了解有关“信封自定义字段”的更多信息。例如,here是如何创建它们的页面。
答案 1 :(得分:0)
谢谢@Ergin。我试图实现你的想法,它正在发挥作用。但是,无论我做了什么,还有其他一些问题。我正在分享我代码的一些部分。
//Getting available folder list of my DocuSign account.
DocuSignServiceRef.AvailableFolders folders = DocuSignHelper.GetDocuSignServiceClient().GetFolderList(new DocuSignServiceRef.FoldersFilter { AccountId = DocuSignHelper.UserID });
//Creating a FolderFilter item to get folder items using this filter.
DocuSignServiceRef.FolderFilter filter = new DocuSignServiceRef.FolderFilter();
filter.AccountId = DocuSignHelper.UserID;
filter.FolderTypeInfo = new DocuSignServiceRef.FolderTypeInfo();
filter.FolderTypeInfo = folders.Folders[1].FolderTypeInfo; //Filter Send Items
//Getting sent items
DocuSignServiceRef.FolderResults results = DocuSignHelper.GetDocuSignServiceClient().GetFolderItems(filter);
if (results != null && results.ResultSetSize > 0)
{
foreach (DocuSignServiceRef.FolderItem item in results.FolderItems)
{
foreach (DocuSignServiceRef.RecipientStatus recipient in item.RecipientStatuses)
{
//Filtering items by Recipient
if (recipient.Email.Equals(RecipientEmail))
{
//Getting envelope of the folder item
DocuSignServiceRef.Envelope sentEnvelope = DocuSignHelper.GetDocuSignServiceClient().RequestEnvelope(item.EnvelopeId, false);
if (sentEnvelope.CustomFields != null)
{
//Checking envelope's custom fields for template id
foreach (DocuSignServiceRef.CustomField customField in sentEnvelope.CustomFields)
{
if (string.Equals(customField.Name, "TemplateID"))
{
if (customField.Value == "{CurrentTemplateID}")
{
HasAlreadySignedSameTemplate = true;
//I will not request the recipient for another signature on same template.
}
}
}
}
}
}
}
}
以上代码对我有用。但是加载所有已发送的项目需要花费太多时间。我看不到在FolderFilter中设置收件人信息的任何方法。如果我在加载已发送邮件时首先在过滤器中设置收件人的电子邮件,则会为我保存时间。否则此代码将无法使用。
您对修改我的实施有什么想法吗?
答案 2 :(得分:0)
如果您要创建带有REST呼叫的信封,可以通过呼叫templatesv2/accounts/:accountId/envelopes/:envelopeId/templates
检索信息
快去in the envelope tab。我注意到使用SOAP sdk创建的信封没有填写此信息。