-1

J'essaie d'intégrer SurveyMonkey avec mon backend.SurveyMonkey - Créer Webhook avec AWS API Gateway comme abonnement Url

C'est le flux:

(1) Nous créons un webhook (https://developer.surveymonkey.com/api/v3/#webhooks) en utilisant la méthode POST de PHP, avec l'URL d'abonnement comme une API AWS Gateway.

(2) Lorsque l'utilisateur termine un sondage, SurveyMonkey invoque l'abonnement Url (API Gateway), qui à son tour appelle une fonction Lambda pour mettre à jour la base de données. Le problème est lorsque j'essaie de donner une URL de passerelle API en tant qu'URL d'abonnement, SurveyMonkey renvoie une réponse de demande incorrecte. Si j'utilise une page .php générale, le webhook est créé avec succès. Dans la conversation avec l'équipe de support de SurveyMonkey, ils disent que la passerelle API devrait retourner une réponse 200 pour la requête HEAD. Je ne suis pas sûr de savoir comment configurer ceci dans AWS.

Quelqu'un qui a implémenté/intégré la passerelle API avec SurveyMonkey peut-il me guider sur la façon de résoudre ce problème?

Voici la conversation avec SurveyMonkey Support Team:

Merci pour reprendre contact. Je viens de parler avec mes collègues sur l'équipe de développement et ils ont noté qu'il ne devrait pas y avoir un problème en utilisant une fonction lamda pour votre abonnement_URL. Tant qu'il accepte les demandes HEAD et POST et renvoie un 200. J'espère que cela vous aide vous; bien sûr, s'il vous plaît laissez-moi savoir si je peux aider plus loin.

Merci de reprendre contact. Je voulais confirmer que la fonction lambda doit renvoyer une 200 à une demande HEAD afin que nous activer le webhook correctement. Ceci n'est pas fait après que le webhook est , mais lorsque le webhook est créé. Il semble toujours que la fonction lambda ne répond pas, ou ne répond pas correctement, car il est créé, donc il continuera à échouer. J'espère que cela aide à clarifier; s'il vous plaît laissez-moi savoir si je peux aider plus loin.

Répondre

2

D'une manière ou d'une autre, vous devez obtenir la passerelle API pour répondre aux demandes HEAD. Il y a beaucoup de façons de le faire. Vous pouvez ajouter une méthode HEAD à la ressource de votre URL. Vous pouvez le faire dans la console API Gateway sous la section des ressources lorsque vous modifiez votre API. Vous pouvez envoyer les demandes HEAD à une fonction lambda et cette fonction renvoie un code d'état 200 pour les demandes HEAD appropriées. Vous pouvez configurer un retour fictif dans la demande d'intégration de l'API, mais vous devrez configurer les détails d'intégration corrects. Vous pouvez également définir ANY intégration de proxy lambda et gérer tout ce qui concerne le côté lambda.

Une fois que vous avez configuré de quelque chose que vous devriez être en mesure de tester avec boucle:

curl -I http://yourUrl.example.com 
+0

Merci .. qui a résolu le problème .. Je viens d'utiliser l'API console Gateway AWS pour créer une méthode HEAD et par par défaut, il est retourné 200. –