某些API需要webhook侦听器响应中的其他信息。例如,我正在尝试订阅Outlook.com的推送通知服务,该服务描述了以下流程:
“Outlook通知服务尝试使用侦听器服务验证通知URL。它在验证请求中包含验证令牌。
如果侦听器服务成功验证了URL,它将在5秒内返回成功响应,如下所示:
在响应标头totext \ plain中设置内容类型。 在响应正文中包含相同的验证令牌。 返回HTTP 200响应代码。监听器随后可以丢弃验证令牌。“
Zapier使用200响应代码进行响应,并在webhook网址中捕获验证令牌,但如何修改HTTP响应以在Microsoft对通知服务的POST事件的响应中包含验证令牌?
答案 0 :(得分:1)
我认为你不能改变实际的webhook输出/响应。在测试时我总是得到JSON - 类似于:
{
"status": "success"
"attempt": "578ebd7e-0831-4f9d-a5ef-b6adc72d3ba0"
"id": "18a4c58c-3257-4bc9-9bf8-7493d19b0d64"
"request_id": "fMBT1iHLOloZYRSM"
}
即使我设置了一个接受webhook数据的自定义Zapier应用程序(作为自定义触发器),然后使用Zapier scripting for catching webhooks调整了响应内容和标题:
var Zap = {
test_webhook_catch_hook: function(bundle) {
bundle.request.content = "custom response";
return bundle.request;
}
};
这实际上唯一的做法是更改发送到下一个Zapier操作的响应。