我在模板中有一个发件人/预先填充的选项卡。我正在尝试使用C#api发送这个模板。现在我使用下面的代码来填写这个标签,同时使用这个模板发送信封
`var env=new EnvelopeDefinition{TemplateId=TemplateId};
var prefillTabs = new PrefillTabs()
{
TextTabs = new List<Text>()
{
new Text()
{
DocumentId = "1",
TabLabel = "business-details.BusinessInformation.BusinessName",
Value = "PreFill: BusinessName"
}
}
};
var tabs = new Tabs()
{
PrefillTabs = prefillTabs
};
var signerRole = new TemplateRole
{
Email = signer.Email,
Name = signer.Email,
RoleName = templateRoleName,
Tabs = tabs
};
env.TemplateRoles = new List<TemplateRole> { signerRole };
env.Status = "sent";
// send this envelop using EnvelopApiClient
await envelopesApi.CreateEnvelopeAsync(accountId, env);`
信封已发送,但问题是未填充预填充选项卡,并且SignHere字段在发送的信封中不可见。我花了很多时间弄清楚,但没能弄清楚。任何帮助都将不胜感激。
DocuSign预填充选项卡与收件人或角色无关。因此,您的代码无法工作,因为您已将它们分配给模板中的收件人(角色(。你需要做的是:
-
在模板本身中创建所需的字段/选项卡。它们将被传递到根据模板创建的任何信封中。(下行-根据此模板创建的每个信封都将具有它们(。
-
在信封已经创建后,添加带有类似代码的预填充字段(Downside-需要两个API调用,而不是一个(:[![在此输入图像描述][2]][2]
var apiClient = new ApiClient(basePath);
apiClient.Configuration.DefaultHeader.Add(
"Authorization", "Bearer " + accessToken);
EnvelopesApi envelopesApi = new EnvelopesApi(apiClient);
PrefillTabs prefillTabs = new PrefillTabs();
prefillTabs.TextTabs = new List<Text>();
prefillTabs.TextTabs.Add(
new Text { PageNumber = "1", DocumentId = "1", Value = "MyValue" });
Tabs tabs = new Tabs();
tabs.PrefillTabs = prefillTabs;
envelopesApi.CreateDocumentTabs(accountId, envelopeId, "1", tabs);