Docusignapi 如何设置web钩子以检查DocuSign信封状态?
我编写了代码,使用信封请求客户签名,如本教程所示: 我的问题是,如何定义可用于更新信封状态的web钩子URL?我希望收到通知,并能够在客户签署文件后更新数据库中的信封状态。这可能吗Docusignapi 如何设置web钩子以检查DocuSign信封状态?,docusignapi,Docusignapi,我编写了代码,使用信封请求客户签名,如本教程所示: 我的问题是,如何定义可用于更新信封状态的web钩子URL?我希望收到通知,并能够在客户签署文件后更新数据库中的信封状态。这可能吗 EnvelopedDefinition类是否公开了一些允许我定义web钩子url的属性?有两种可能的方法 一种是在DS WebApp内设置帐户范围的连接配置,这将在发送/完成的每个信封上向URL发送请求的事件通知: 您还可以使用eventNotification参数定义每个信封。但是,参数不会烘焙到提供的配方中编辑
EnvelopedDefinition类是否公开了一些允许我定义web钩子url的属性?有两种可能的方法 一种是在DS WebApp内设置帐户范围的连接配置,这将在发送/完成的每个信封上向URL发送请求的事件通知:
您还可以使用eventNotification参数定义每个信封。但是,参数不会烘焙到提供的配方中编辑:我被纠正了,请参见下面拉里的回复更新 我们现在有一系列新的推荐WebHook代码示例,它们使用无服务器功能和基于云的可靠排队服务。这些示例使您能够在防火墙内接收和处理DocuSign webhook通知,而无需更改filewall 示例现在可用于节点。正在编写C#、Java、PHP和Python的示例
- AWS和Node.js示例
- Azure和Node.js示例
- googlecloud和Node.js示例
<?xml version="1.0" encoding="utf-8"?>
<DocuSignEnvelopeInformation xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.docusign.net/API/3.0">
<EnvelopeStatus>
<RecipientStatuses>
<RecipientStatus>
<Type>Signer</Type>
<Email>signer_email@example.com</Email>
<UserName>Signer's name</UserName>
<RoutingOrder>1</RoutingOrder>
<Sent>2020-05-23T12:43:07.22</Sent>
<Delivered>2020-05-23T12:43:14.767</Delivered>
<Signed>2020-05-23T12:43:18.22</Signed>
<DeclineReason xsi:nil="true"/>
<Status>Completed</Status>
<RecipientIPAddress>141.226.182.70</RecipientIPAddress>
<ClientUserId>1000</ClientUserId>
<CustomFields/>
<TabStatuses>
<TabStatus>
<TabType>SignHere</TabType>
<Status>Signed</Status>
<XPosition>427</XPosition>
<YPosition>531</YPosition>
<TabLabel>Sign Here</TabLabel>
<TabName>SignHere</TabName>
<TabValue/>
<DocumentID>1</DocumentID>
<PageNumber>1</PageNumber>
</TabStatus>
</TabStatuses>
<AccountStatus>Active</AccountStatus>
<RecipientId>56e11847-da17-43c3-95f6-d4b675af8621</RecipientId>
</RecipientStatus>
</RecipientStatuses>
<TimeGenerated>2020-05-23T12:43:38.7282968</TimeGenerated>
<EnvelopeID>cd67ff4a-6cb1-42f3-87d3-f7c149031549</EnvelopeID>
<Subject>Please sign the attached document</Subject>
<UserName>Larry Kluger</UserName>
<Email>larry@worldwidecorp.us</Email>
<Status>Completed</Status>
<Created>2020-05-23T12:43:06.753</Created>
<Sent>2020-05-23T12:43:07.253</Sent>
<Delivered>2020-05-23T12:43:14.83</Delivered>
<Signed>2020-05-23T12:43:18.22</Signed>
<Completed>2020-05-23T12:43:18.22</Completed>
<ACStatus>Original</ACStatus>
<ACStatusDate>2020-05-23T12:43:06.753</ACStatusDate>
<ACHolder>Larry Kluger</ACHolder>
<ACHolderEmail>larry@worldwidecorp.us</ACHolderEmail>
<ACHolderLocation>DocuSign</ACHolderLocation>
<SigningLocation>Online</SigningLocation>
<SenderIPAddress>208.113.165.37 </SenderIPAddress>
<EnvelopePDFHash/>
<CustomFields>
<CustomField>
<Name>Team</Name>
<Show>True</Show>
<Required>False</Required>
<Value/>
</CustomField>
<CustomField>
<Name>Office</Name>
<Show>True</Show>
<Required>False</Required>
<Value/>
</CustomField>
<CustomField>
<Name>Order ID</Name>
<Show>True</Show>
<Required>False</Required>
<Value/>
</CustomField>
<CustomField>
<Name>AccountId</Name>
<Show>false</Show>
<Required>false</Required>
<Value>4197223</Value>
<CustomFieldType>Text</CustomFieldType>
</CustomField>
<CustomField>
<Name>AccountName</Name>
<Show>false</Show>
<Required>false</Required>
<Value>World Wide Corp</Value>
<CustomFieldType>Text</CustomFieldType>
</CustomField>
<CustomField>
<Name>AccountSite</Name>
<Show>false</Show>
<Required>false</Required>
<Value>demo</Value>
<CustomFieldType>Text</CustomFieldType>
</CustomField>
</CustomFields>
<AutoNavigation>true</AutoNavigation>
<EnvelopeIdStamping>true</EnvelopeIdStamping>
<AuthoritativeCopy>false</AuthoritativeCopy>
<DocumentStatuses>
<DocumentStatus>
<ID>1</ID>
<Name>Example document</Name>
<TemplateName/>
<Sequence>1</Sequence>
</DocumentStatus>
</DocumentStatuses>
</EnvelopeStatus>
<TimeZone>Pacific Standard Time</TimeZone>
<TimeZoneOffset>-7</TimeZoneOffset>
</DocuSignEnvelopeInformation>
签字人
签字人_email@example.com
签名人姓名
1.
2020-05-23T12:43:07.22
2020-05-23T12:43:14.767
2020-05-23T12:43:18.22
完整的
141.226.182.70
1000
签名处
签署
427
531
在这里签名
签名处
1.
1.
活跃的
56e11847-da17-43c3-95f6-d4b675af8621
2020-05-23T12:43:38.7282968
cd67ff4a-6cb1-42f3-87d3-f7c149031549
请在附件上签字
拉里·克鲁格
larry@worldwidecorp.us
完整的
2020-05-23T12:43:06.753
2020-05-23T12:43:07.253
2020-05-23T12:43:14.83
2020-05-23T12:43:18.22
2020-05-23T12:43:18.22
起初的
2020-05-23T12:43:06.753
拉里·克鲁格
larry@worldwidecorp.us
记录
在线 的
208.113.165.37
团队
真的
假的
办公室
真的
假的
订单号
真的
假的
帐户ID
假的
假的
4197223
正文
帐户名
假的
假的
环球公司
正文
会计网站
假的
假的
演示
正文
真的
真的
假的
1.
示例文件
1.
太平洋标准时间
-7
测试“侦听器”的另一种方法是使用
在那里,您将看到POST请求以及信封的完整XML正文
首先测试创建信封
在测试我的侦听器之前,我想确认我的C#代码是否会触发DocuSign信封中的WebHook(通过EnvelopedeDefinition.EventNotification)
EnvelopedDefinition.EventNotification为EnvelopeeEvent和RecipientEvents设置2个对象列表。正确配置这些将触发DocuSign Connect(Webhook)中的触发器
只需设置EventNotification.Url=在上为我创建的自定义Url
我在本地运行我的C#API代码来创建一个DocuSign信封,它将触发Webhook。然后我使用DocuSign电子邮件(在创建信封后收到)对文档进行签名,这再次向我的测试侦听器触发了Webhook
获取XML
我正确配置的代码触发了DocuSign Connect(Webhook)POST事件。我可以在我的自定义URL上看到POST请求(及其XML正文)
重新发送XML
最后,复制从DocuSign发送的POST请求XML,并将该XML粘贴到PostMan中。然后我可以在本地使用PostMan“重新发送”POST请求(和XML正文),以测试我正在开发的本地侦听器API。这很好,但我看到它返回某种XML。有没有什么地方可以看到这个XML的样子?如果我看不到将要发布到我的web钩子方法中的内容,那么编写一个方法来处理这个问题就有点困难了……请参阅我的修订版answer@LarryK链接被破坏了。。。我一直在到处寻找这个XML模式。@DanBeaulieu我已经更新了链接并添加了WSDL链接。@Zander先生——谢谢你的评论。请参阅使用示例XML更新的答案。