【发布时间】:2019-11-12 02:36:28
【问题描述】:
我正在尝试找出一种通过docusign api在docusign表单中预先填写表单字段数据的方法。目前,我可以通过以下方式成功创建我的信封(没有预填充数据):
private EnvelopeDefinition CreateEvelope(ApplicationUser user)
{
string recipientName = user.Name;
string recipientEmail = user.Email;
// file we want signed
string templateId = "e19f3966-2c3e-4c47-a997-278e937dc85c";
var envDef = new EnvelopeDefinition();
envDef.TemplateId = templateId;
envDef.EmailSubject = "Some Email Subject";
//null reference exception - envDef.Recipients is null
var texttabs = envDef.Recipients.Signers.First().Tabs.TextTabs;
//student role
TemplateRole trole1 = new TemplateRole();
trole1.Email = recipientEmail;
trole1.Name = recipientName;
trole1.RoleName = "Taxpayer";
trole1.ClientUserId = user.Id;
List<TemplateRole> roleList = new List<TemplateRole>() { trole1 };
envDef.TemplateRoles = roleList;
envDef.Status = "sent";
return envDef;
}
似乎通过 templateId,我应该能够实际检索和填写模板,但我还没有看到这样做的方法。如何填写表单字段数据?表单签名后,将返回到我们的 Connect 侦听器的选项卡/字段数据示例如下:
<Type>Signer</Type>
<Email>test-signer@test.com</Email>
<UserName>Some User</UserName>
<RoutingOrder>1</RoutingOrder>
<Sent>2019-11-10T17:57:21.853</Sent>
<Delivered>2019-11-10T17:57:40.443</Delivered>
<Signed>2019-11-10T17:58:35.367</Signed>
<DeclineReason xsi:nil="true" />
<Status>Completed</Status>
<RecipientIPAddress>72.213.98.254</RecipientIPAddress>
<ClientUserId>1000</ClientUserId>
<CustomFields />
<TabStatuses>
<TabStatus>
<TabType>FirstName</TabType>
<Status>Signed</Status>
<XPosition>96</XPosition>
<YPosition>288</YPosition>
<TabLabel>First Name</TabLabel>
<TabName>First Name</TabName>
<TabValue>Rick</TabValue>
<DocumentID>1</DocumentID>
<PageNumber>1</PageNumber>
</TabStatus>
</TabStatuses>
<RecipientAttachment>
<Attachment>
<Data>IiPjx2YWx1ZT48L3ZhbHVlPjwvZmllbGQ+PG...</Data>
<Label>DSXForm</Label>
</Attachment>
</RecipientAttachment>
<AccountStatus>Active</AccountStatus>
<FormData>
<xfdf>
<fields>
<field name="FirstName">
<value>Rick</value>
</field>
</fields>
</xfdf>
</FormData>
【问题讨论】:
标签: c# asp.net asp.net-mvc docusignapi