DocuSign 向请求的 URL 发送通知,但我无法收到它
DocuSign sends notification to requested URL, but I am not able to receive it
我已将信封设置为接收信封事件通知。我正在使用 Rails 和 Docusign_REST
gem。
通过查看DocuSign系统上的连接日志,我看到DocuSign已经发送了通知,但我的服务器还没有处理它。任何其他信息都会有所帮助。
event_notification: {
url: "<MY_REQUEST_URL>",
logging: true,
envelope_events: [
{
include_documents: false,
envelope_event_status_code: "Sent"
},
{
include_documents: false,
envelope_event_status_code: "Completed"
},
{
include_documents: false,
envelope_event_status_code: "Delivered"
}
]
},
基础知识
您正在使用 "webhook." 您使用 DocuSign 注册了 url。当您的信封更改状态时,DocuSign 平台将调用您的 webhook url。
诊断问题
您知道 DocuSign 正试图通过查看 DocuSign 管理工具中的 "Connect" 消息日志向您(在您的 "webhook_url" 处)发送通知消息。 -- 您可以使用管理工具的 "Resend" 按钮轻松重新发送通知作为测试。
既然您知道 DocuSign 正在尝试发送给您,那么问题出在您系统的某个地方。我将执行以下操作来诊断问题:
- 假设您的 webhook_address 类似于“http://my-server.com/my_app/webhook” 您是否使用 DocuSign 注册了 整个 url?不要遗漏 http 或 https! (生产环境需要 https 但开发者沙箱不需要)
- 查看您的传入服务器日志。您应该会看到来自 DocuSign 的 POST 请求。如果您不这样做,请检查防火墙、您的 webhook 地址在互联网上的可用性等。
- 您的 webhook_url 可以从 public 互联网上获得吗?您可以使用 www.hurl.it 服务进行测试。由于 hurl.it 将发送一个空的请求正文,您的侦听器可能会窒息。当然,如果您对侦听器进行防火检查以检查空请求体,那对您有好处。
- 如果您是 运行 webbrick 或您自己的开发机器上的另一个 Ruby 网络服务器,那么您需要一个 public 互联网上的地址,因为 DocuSign 无法直接发送到你的开发机器。 ngrok(和类似的应用程序)是一个很好的解决方案。 运行 ngrok 在你的本地机器上,并给它你的 Ruby 服务器的本地主机端口号。然后 ngrok 将在 public 互联网上为您提供一个 url,您可以将其与 DocuSign 一起使用。
- 对于开发,您的 webhook 侦听器 url 可以使用 http 或 https。您的 SSL 证书必须具有通向通常受信任的根证书之一的信任路径。 (Mozilla 列表)。使用 4 美元的证书是可以的。无需使用扩展验证证书或类似证书。不要使用自签名证书。它不会被 DocuSign 平台信任,您将不会通过您的 webhook 收到通知。
我已将信封设置为接收信封事件通知。我正在使用 Rails 和 Docusign_REST
gem。
通过查看DocuSign系统上的连接日志,我看到DocuSign已经发送了通知,但我的服务器还没有处理它。任何其他信息都会有所帮助。
event_notification: {
url: "<MY_REQUEST_URL>",
logging: true,
envelope_events: [
{
include_documents: false,
envelope_event_status_code: "Sent"
},
{
include_documents: false,
envelope_event_status_code: "Completed"
},
{
include_documents: false,
envelope_event_status_code: "Delivered"
}
]
},
基础知识
您正在使用 "webhook." 您使用 DocuSign 注册了 url。当您的信封更改状态时,DocuSign 平台将调用您的 webhook url。
诊断问题
您知道 DocuSign 正试图通过查看 DocuSign 管理工具中的 "Connect" 消息日志向您(在您的 "webhook_url" 处)发送通知消息。 -- 您可以使用管理工具的 "Resend" 按钮轻松重新发送通知作为测试。
既然您知道 DocuSign 正在尝试发送给您,那么问题出在您系统的某个地方。我将执行以下操作来诊断问题:
- 假设您的 webhook_address 类似于“http://my-server.com/my_app/webhook” 您是否使用 DocuSign 注册了 整个 url?不要遗漏 http 或 https! (生产环境需要 https 但开发者沙箱不需要)
- 查看您的传入服务器日志。您应该会看到来自 DocuSign 的 POST 请求。如果您不这样做,请检查防火墙、您的 webhook 地址在互联网上的可用性等。
- 您的 webhook_url 可以从 public 互联网上获得吗?您可以使用 www.hurl.it 服务进行测试。由于 hurl.it 将发送一个空的请求正文,您的侦听器可能会窒息。当然,如果您对侦听器进行防火检查以检查空请求体,那对您有好处。
- 如果您是 运行 webbrick 或您自己的开发机器上的另一个 Ruby 网络服务器,那么您需要一个 public 互联网上的地址,因为 DocuSign 无法直接发送到你的开发机器。 ngrok(和类似的应用程序)是一个很好的解决方案。 运行 ngrok 在你的本地机器上,并给它你的 Ruby 服务器的本地主机端口号。然后 ngrok 将在 public 互联网上为您提供一个 url,您可以将其与 DocuSign 一起使用。
- 对于开发,您的 webhook 侦听器 url 可以使用 http 或 https。您的 SSL 证书必须具有通向通常受信任的根证书之一的信任路径。 (Mozilla 列表)。使用 4 美元的证书是可以的。无需使用扩展验证证书或类似证书。不要使用自签名证书。它不会被 DocuSign 平台信任,您将不会通过您的 webhook 收到通知。