我正在尝试找到一种通过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>