2016-08-24 1 views
0

Existe-t-il un moyen d'obtenir TOUTES les réponses pour un seul jour dans une transaction pour un sondage spécifique? sur l'API doc, je sais qu'il y a l'option /surveys/{id}/responses/bulk, et même je peux envoyer la variable start_created_at.Surveymonkey: Obtenir toutes les réponses d'un seul jour sur une même transaction

Mais je pense que la réponse API a un nombre maximum d'enregistrements/données qu'elle peut envoyer, dans ce cas, quelle pourrait être la solution? Paging à travers les résultats?

J'utilise l'API .net, trouvée au this site, mais je peux créer mon propre wrapper si nécessaire.

lien de référence API doc: /Surveys/SURVEY_ID/responses/bulk

Répondre

0

Oui, vous avez raison le point final /surveys/{id}/responses/bulk est ce que vous cherchez, et vous pouvez utiliser la start_created_at et end_created_at pour filtrer les données à une plage de dates.

L'API SurveyMonkey n'autorise pas un vidage complet de toutes vos données, elles seront toujours paginées. Par défaut, il va paginer 50 à la fois, mais vous pouvez le changer en utilisant le paramètre GET per_page.

Ce max per_page varie selon le point de terminaison, pour les réponses en vrac c'est 100. Donc, vous devrez aller chercher 100 à la fois, en boucle sur les pages pour obtenir toutes vos données.

Une alternative est d'utiliser webhooks et de configurer un abonné, de cette façon vous pouvez obtenir de nouvelles réponses en temps réel et les récupérer un par un. De cette façon, vous pouvez garder vos données à jour de votre côté lorsque de nouvelles réponses arrivent, plutôt que d'exécuter un script ou un point de terminaison pour vider toutes vos données. Mais cela dépend de votre cas d'utilisation, si vous construisez quelque chose comme une fonctionnalité d'exportation, alors vous devrez passer par la route paginée.

+1

Merci pour la réponse! L'API a-t-elle le moyen d'obtenir le nombre total de pages? Ou dois-je faire défiler un nombre de pages jusqu'à ce que je reçoive un ensemble de réponses vide, c'est-à-dire la fin du jeu de résultats? – Dany

+0

Oui, il y a un en-tête de liens qui indique next/prev/first/last page. Cela pourrait aussi être dans le corps. Aussi le nombre total de réponses devrait également être dans le corps afin que vous puissiez l'utiliser pour calculer le nombre de pages. –