SurveyMonkey - 使用 AWS API 网关作为订阅创建 Webhook Url
SurveyMonkey - Create Webhook with AWS API Gateway as Subscription Url
我正在尝试将 SurveyMonkey 与我的后端集成。
这是流程:
(1) 我们使用 PHP 中的 POST 方法创建一个 webhook(https://developer.surveymonkey.com/api/v3/#webhooks),订阅 url 作为 AWS API 网关。
(2) 当用户完成调查时,SurveyMonkey 会调用订阅 Url(API 网关),后者又会调用 Lambda 函数来更新数据库。
问题是当我尝试给 API 网关 url 作为订阅 Url 时,SurveyMonkey return 的错误请求响应。如果我使用一般的 .php 页面,则 Webhook 已成功创建。
在与 SurveyMonkey 支持团队的对话中,他们说,API 网关应该 return 对 HEAD 请求的 200 响应。我不确定如何在 AWS 中进行设置。
任何实施/集成 API 网关与 SurveyMonkey 的人都可以指导我如何解决这个问题吗?
以下是与 SurveyMonkey 支持团队的对话:
Thanks for getting back in touch. I just spoke with my colleagues on
the development team and they noted that there shouldn't be an issue
in using a lamda function for your subscription_URL. As long as it
accepts HEAD and POST requests and returns a 200. I hope this helps
you out; of course, please let me know if I can assist further.
Thanks for getting back in touch. I wanted to confirm that the lambda
function needs to return a 200 to a HEAD request in order for us to
enable the webhook properly. This isn't done after the webhook is
cerated, but as the webhook is created. It still seems like the
lambda function isn't responding, or responding correctly, as it is
created, so it will continue to fail. I hope this helps clarify;
please let me know if I can assist further.
无论如何,您需要让 API 网关响应 HEAD
请求。有很多方法可以做到这一点。您可以将 HEAD
方法添加到 URL 的资源中。当您编辑 api 时,您可以在资源部分下的 API 网关控制台中执行此操作。您可以将 HEAD 请求发送到 lambda 函数,并让该函数 return 为适当的 HEAD
请求提供 200
状态代码。您可以在 api 集成请求中设置模拟 return,但您需要设置正确的集成详细信息。您也可以只设置 ANY
lambda 代理集成并处理 lambda 端的所有内容。
设置完成后,您应该可以使用 curl 进行测试:
curl -I http://yourUrl.example.com
我正在尝试将 SurveyMonkey 与我的后端集成。
这是流程:
(1) 我们使用 PHP 中的 POST 方法创建一个 webhook(https://developer.surveymonkey.com/api/v3/#webhooks),订阅 url 作为 AWS API 网关。
(2) 当用户完成调查时,SurveyMonkey 会调用订阅 Url(API 网关),后者又会调用 Lambda 函数来更新数据库。
问题是当我尝试给 API 网关 url 作为订阅 Url 时,SurveyMonkey return 的错误请求响应。如果我使用一般的 .php 页面,则 Webhook 已成功创建。
在与 SurveyMonkey 支持团队的对话中,他们说,API 网关应该 return 对 HEAD 请求的 200 响应。我不确定如何在 AWS 中进行设置。
任何实施/集成 API 网关与 SurveyMonkey 的人都可以指导我如何解决这个问题吗?
以下是与 SurveyMonkey 支持团队的对话:
Thanks for getting back in touch. I just spoke with my colleagues on the development team and they noted that there shouldn't be an issue in using a lamda function for your subscription_URL. As long as it accepts HEAD and POST requests and returns a 200. I hope this helps you out; of course, please let me know if I can assist further.
Thanks for getting back in touch. I wanted to confirm that the lambda function needs to return a 200 to a HEAD request in order for us to enable the webhook properly. This isn't done after the webhook is cerated, but as the webhook is created. It still seems like the lambda function isn't responding, or responding correctly, as it is created, so it will continue to fail. I hope this helps clarify; please let me know if I can assist further.
无论如何,您需要让 API 网关响应 HEAD
请求。有很多方法可以做到这一点。您可以将 HEAD
方法添加到 URL 的资源中。当您编辑 api 时,您可以在资源部分下的 API 网关控制台中执行此操作。您可以将 HEAD 请求发送到 lambda 函数,并让该函数 return 为适当的 HEAD
请求提供 200
状态代码。您可以在 api 集成请求中设置模拟 return,但您需要设置正确的集成详细信息。您也可以只设置 ANY
lambda 代理集成并处理 lambda 端的所有内容。
设置完成后,您应该可以使用 curl 进行测试:
curl -I http://yourUrl.example.com