如何通过SurveyMonkey API单次调用提交多个问卷答复?
Can I submit multiple SurveyMonkey responses in a single API call?
Hey there! Great question—yes, you can submit multiple survey responses in one API call using SurveyMonkey's v3 API. The endpoint you used earlier (POST /v3/collectors/{collector_id}/responses) is for single responses, but there's a dedicated batch endpoint built exactly for this use case.
How to implement it:
Instead of sending a single response object, you'll send an array of response objects to the batch creation endpoint:
POST https://api.surveymonkey.com/v3/collectors/{collector_id}/responses/batch
Your request body will be a JSON object containing a data array, where each item follows the same structure as the single response you already submitted. Here's an example based on your original response format:
{ "data": [ { "custom_variables": { "custvar_1": "one", "custvar_2": "two" }, "response_status": "completed", "custom_value": "custom identifier for response 1", "date_created": "2015-10-06T12:56:55+00:00", "ip_address": "127.0.0.1", "recipient_id": "564728340", "pages": [ { "id": "12345678", "questions": [ { "answers": [{ "choice_id": "12345678" }], "id": "12345678" }, { "answers": [{ "row_id": "12345678", "col_id": "12345678", "choice_id": "12345678" }], "id": "12345678" } ] } ] }, { "custom_variables": { "custvar_1": "three", "custvar_2": "four" }, "response_status": "completed", "custom_value": "custom identifier for response 2", "date_created": "2015-10-06T13:00:00+00:00", "ip_address": "192.168.1.1", "recipient_id": "564728341", "pages": [ { "id": "12345678", "questions": [ { "answers": [{ "choice_id": "87654321" }], "id": "12345678" }, { "answers": [{ "row_id": "87654321", "col_id": "87654321", "choice_id": "87654321" }], "id": "12345678" } ] } ] } ] }
Important reminders:
- Each response in the
dataarray must follow the same validation rules as a single response (required fields, valid IDs, proper formatting, etc.). - There's a limit to how many responses you can send in one batch (check SurveyMonkey's API documentation for the current cap—typically it's a reasonable number like 100 per request).
- Ensure your authentication (API key/access token) has the necessary permissions to create multiple responses for the target collector.
内容的提问来源于stack exchange,提问作者noufalcep
相关产品推荐
相关产品推荐

