错误:Connect侦听器不能驻留在内部DocuSign站点上



目前,我可以从带有EventNotifications的模板中发送,如下所示:

var envelopeDefinition = new EnvelopeDefinition();
envelopeDefinition.Status = "sent";
envelopeDefinition.TemplateId = templateId;
envelopeDefinition.TemplateRoles = templateRoles;
envelopeDefinition.EventNotification = new EventNotification
{
RequireAcknowledgment = "true",
IncludeTimeZone = "true",
Url = "https://localhost:44357/Agreements/UpdateStatus",
RecipientEvents = new List<RecipientEvent>
{
new RecipientEvent(RecipientEventStatusCode: "Sent"),
new RecipientEvent(RecipientEventStatusCode: "Delivered"),
new RecipientEvent(RecipientEventStatusCode: "Completed"),
new RecipientEvent(RecipientEventStatusCode: "Declined"),
new RecipientEvent(RecipientEventStatusCode: "AuthenticationFailed"),
new RecipientEvent(RecipientEventStatusCode: "AutoResponded")
},
EnvelopeEvents = new List<EnvelopeEvent>
{
new EnvelopeEvent("Voided")
}
};

然而,当我试图用批量发送做类似的事情时,我在标题中得到了错误:

var signer1 = new TemplateRole();
signer1.Email = "multiBulkRecipients-signer@docusign.com";
signer1.Name = "Multi Bulk Recipient::signer";
signer1.RoleName = "signer";
signer1.Tabs = new Tabs
{
TextTabs = new List<Text>
{
new Text
{
TabLabel = "RetailerName",
Value = "Please Sign Here"  
}
}
};
var env = new EnvelopeDefinition();
env.TemplateId = templateId;
env.TemplateRoles = new List<TemplateRole> { signer1 };
env.Status = "sent";
env.EventNotification = new EventNotification
{
RequireAcknowledgment = "true",
IncludeTimeZone = "true",
Url = "https://localhost:44357/Agreements/UpdateStatus",
RecipientEvents = new List<RecipientEvent>
{
new RecipientEvent(RecipientEventStatusCode: "Sent"),
new RecipientEvent(RecipientEventStatusCode: "Delivered"),
new RecipientEvent(RecipientEventStatusCode: "Completed"),
new RecipientEvent(RecipientEventStatusCode: "Declined"),
new RecipientEvent(RecipientEventStatusCode: "AuthenticationFailed"),
new RecipientEvent(RecipientEventStatusCode: "AutoResponded")
},
EnvelopeEvents = new List<EnvelopeEvent>
{
new EnvelopeEvent("Voided")
}
};
var result = await envelopesApi.CreateEnvelopeAsync(_docuSignSettings.AccountId, env);

从模板批量发送的方法:

var bulkEnvelopesApi = new BulkEnvelopesApi(config);
var sendingList = MakeBulkSendList(retailersInfo);
var createBulkListResult = await bulkEnvelopesApi.CreateBulkSendListAsync(_docuSignSettings.AccountId, sendingList);
var envelopeId = await MakeBulkEnvelope(config, vm.TemplateId, createBulkListResult.ListId);
var bulkRequestResult = await bulkEnvelopesApi.CreateBulkSendRequestAsync(_docuSignSettings.AccountId, createBulkListResult.ListId, new BulkSendRequest { EnvelopeOrTemplateId = envelopeId });
var bulkStatus = await bulkEnvelopesApi.GetBulkSendBatchStatusAsync(_docuSignSettings.AccountId, bulkRequestResult.BatchId);

顺便说一句,如果我不包括EventNotifications,我可以批量发送。

GetBulkSendBatchStatusSync的错误图片:
https://i.stack.imgur.com/dnL6x.png

批量发送需要其他URL(连接网络挂钩(吗?

感谢阅读!

您不能将localhost用作webhook目标URL,因为该URL是由SAAS服务(DocuSign(查找的。对DocuSign来说,localhost意味着它自己的服务器。

你的webhook监听器(你的服务器(需要在公共互联网上可用。查看此博客文章。

这有点误导。"内部DocuSign";在本例中也表示localhost。https://localhost:44357/Agreements/UpdateStatus不是Connect网络挂钩的有效URL。

您可能需要考虑使用云提供商作为一个简单的选项。

如果你只是想做一些测试,你可以使用webhook.site或类似的工具。

最新更新