在使用复合模板时,有没有一种方法可以控制呈现给签名者的文档的顺序?
Is there a way I could control the order of the documents presented to a signer when using composite templates?
在使用复合模板时,有什么方法可以控制呈现给签名者的文档的顺序吗?
例如,如果我有 3 个要发送的模板,并且我希望签名者首先看到(不一定要签名)一个特定的模板,我将如何设置它。
所有模板只有一个文档。
据我了解,服务器和内联模板的序列 属性 更多地与特定组合中的文档和选项卡的顺序有关,而不是与整个信封有关。
这是我现在拥有的 c# 代码(不完美,有点像初稿)。我有一些模板 ID 存储在字符串列表中,我循环遍历它们分配几乎随机的排序值,因为我只关心内联模板序列值是否高于服务器模板。
我想问的是,如果我有一个我想首先展示的模板文档,有没有办法做到这一点?它不必实现循环。我只想知道有没有办法
List<CompositeTemplate> compositeTemplates = new List<CompositeTemplate>();
Recipients recipientsServerTemplate = new Recipients();
List<Signer> signers = new List<Signer>();
List<CarbonCopy> carbonCopies = new List<CarbonCopy>();
List<Text> textControlsInTemplate = SetTemplateFields();
Tabs tabs = new Tabs
{
TextTabs = textControlsInTemplate
};
Signer signer1 = new Signer();
signer1.Email = signerEmail;
signer1.Name = signerName;
signer1.RoleName = "signer";
signer1.RecipientId = "1";
signer1.Tabs = tabs;
signers.Add(signer1);
CarbonCopy cc1 = new CarbonCopy();
cc1.Email = ccEmail;
cc1.Name = ccName;
cc1.RoleName = "cc";
cc1.RecipientId = "2";
carbonCopies.Add(cc1);
recipientsServerTemplate.Signers = signers;
recipientsServerTemplate.CarbonCopies = carbonCopies;
int i = 1;
foreach (string templateId in templateIds)
{
List<ServerTemplate> ServerTemplates = new List<ServerTemplate>();
List<InlineTemplate> InlineTemplates = new List<InlineTemplate>();
CompositeTemplate CT = new CompositeTemplate
{
CompositeTemplateId = i.ToString()
};
ServerTemplate ST = new ServerTemplate
{
Sequence = i.ToString(),
TemplateId = templateId
};
InlineTemplate IT = new InlineTemplate
{
Recipients = recipientsServerTemplate,
Sequence = (i+1).ToString()
};
InlineTemplates.Add(IT);
ServerTemplates.Add(ST);
CT.ServerTemplates = ServerTemplates;
CT.InlineTemplates = InlineTemplates;
compositeTemplates.Add(CT);
i++;
}
EnvelopeDefinition env = new EnvelopeDefinition
{
Status = "sent",
CompositeTemplates = compositeTemplates
};
假设每个服务器模板包含一个文档,序列号最小的复合模板应该首先显示其模板的文档。
如果序列号不起作用,则更改数组中复合模板项的顺序。请注意,信封定义的 compositeTemplates
属性采用 数组 复合模板对象。
我建议您首先使用 API Request Builder 来尝试排序。然后可以使用该工具生成匹配的 C# 代码。
这是一个 live example,其中一个服务器模板在一个信封中使用了两次。您可以轻松修改图表以使用两个不同的服务器模板。
在使用复合模板时,有什么方法可以控制呈现给签名者的文档的顺序吗? 例如,如果我有 3 个要发送的模板,并且我希望签名者首先看到(不一定要签名)一个特定的模板,我将如何设置它。 所有模板只有一个文档。 据我了解,服务器和内联模板的序列 属性 更多地与特定组合中的文档和选项卡的顺序有关,而不是与整个信封有关。 这是我现在拥有的 c# 代码(不完美,有点像初稿)。我有一些模板 ID 存储在字符串列表中,我循环遍历它们分配几乎随机的排序值,因为我只关心内联模板序列值是否高于服务器模板。 我想问的是,如果我有一个我想首先展示的模板文档,有没有办法做到这一点?它不必实现循环。我只想知道有没有办法
List<CompositeTemplate> compositeTemplates = new List<CompositeTemplate>();
Recipients recipientsServerTemplate = new Recipients();
List<Signer> signers = new List<Signer>();
List<CarbonCopy> carbonCopies = new List<CarbonCopy>();
List<Text> textControlsInTemplate = SetTemplateFields();
Tabs tabs = new Tabs
{
TextTabs = textControlsInTemplate
};
Signer signer1 = new Signer();
signer1.Email = signerEmail;
signer1.Name = signerName;
signer1.RoleName = "signer";
signer1.RecipientId = "1";
signer1.Tabs = tabs;
signers.Add(signer1);
CarbonCopy cc1 = new CarbonCopy();
cc1.Email = ccEmail;
cc1.Name = ccName;
cc1.RoleName = "cc";
cc1.RecipientId = "2";
carbonCopies.Add(cc1);
recipientsServerTemplate.Signers = signers;
recipientsServerTemplate.CarbonCopies = carbonCopies;
int i = 1;
foreach (string templateId in templateIds)
{
List<ServerTemplate> ServerTemplates = new List<ServerTemplate>();
List<InlineTemplate> InlineTemplates = new List<InlineTemplate>();
CompositeTemplate CT = new CompositeTemplate
{
CompositeTemplateId = i.ToString()
};
ServerTemplate ST = new ServerTemplate
{
Sequence = i.ToString(),
TemplateId = templateId
};
InlineTemplate IT = new InlineTemplate
{
Recipients = recipientsServerTemplate,
Sequence = (i+1).ToString()
};
InlineTemplates.Add(IT);
ServerTemplates.Add(ST);
CT.ServerTemplates = ServerTemplates;
CT.InlineTemplates = InlineTemplates;
compositeTemplates.Add(CT);
i++;
}
EnvelopeDefinition env = new EnvelopeDefinition
{
Status = "sent",
CompositeTemplates = compositeTemplates
};
假设每个服务器模板包含一个文档,序列号最小的复合模板应该首先显示其模板的文档。
如果序列号不起作用,则更改数组中复合模板项的顺序。请注意,信封定义的 compositeTemplates
属性采用 数组 复合模板对象。
我建议您首先使用 API Request Builder 来尝试排序。然后可以使用该工具生成匹配的 C# 代码。
这是一个 live example,其中一个服务器模板在一个信封中使用了两次。您可以轻松修改图表以使用两个不同的服务器模板。