Respuestas

Recupere y procese las respuestas de las encuestas

Respuestas e informes

La API le permite obtener resúmenes de encuestas, informes detallados, filtrar y gestionar respuestas. Puede ocultar respuestas, añadir etiquetas y obtener analíticas de la encuesta.

Descargue la versión en markdown de la sección "Respuestas e informes" para usarla en ChatGPT u otros LLMs:

Obtener lista de respuestas de la encuesta

GET /quiz/{id}/answers

Devuelve una lista de respuestas para una encuesta específica con filtrado por fecha y paginación.

Parámetros de la solicitud

Parámetro Tipo Requerido Descripción
limit integer No Número de respuestas (predeterminado: 20)
offset integer No Desplazamiento de paginación (predeterminado: 0)
date date No Filtro de fecha (formato: Y-m-d)
is_complete boolean No Filtro de estado de finalización (true/false)
sort string No Campo de ordenación (date_start, date_end)
order string No Dirección de ordenación (desc, asc)
Ejemplo de solicitud
curl -X GET "https://api.surveyninja.io/api/v3/service/quiz/123/answers?limit=50&offset=0&is_complete=true&sort=date_end&order=desc" \ -H "Authorization: Bearer YOUR_TOKEN"
Respuesta de la API
{ "success": true, "data": { "total": 150, "limit": 50, "offset": 0, "answers": [ { "id": "answer_1234567890", "quiz_id": "1234567890", "submitted_at": "2024-01-15T14:30:00Z", "is_complete": true, "ip_address": "192.168.1.1", "user_agent": "Mozilla/5.0...", "answers": [ { "question_id": "q1", "question_text": "How do you rate our service?", "answer": "Excellent", "answer_type": "single_choice" } ] } ] } }

Obtener resumen de la encuesta

GET /quiz/{id}/summary

Devuelve el resumen de la encuesta con estadísticas clave.

Ejemplo de solicitud
curl -X GET https://api.surveyninja.io/api/v3/service/quiz/123/summary \ -H "Authorization: Bearer YOUR_TOKEN"
Respuesta de la API
{ "status": true, "summary": { "all_visited": 150, "filled_completely": 128, "started_not_finished": 22, "completion_rate": 85, "geography_visits": [ { "count": 45, "country": "Russia" } ], "visits_devices": [ { "device": "desktop", "percent": 65.2 } ], "all_average_transit_time": "04:18" } }

Obtener informe de la encuesta

POST /quiz/{id}/report

Devuelve el informe de respuestas de una encuesta específica con filtrado.

Parámetros de la solicitud

Parámetro Tipo Requerido Descripción
is_complete boolean No Filtro de estado de finalización (true/false)
dateFrom string No Fecha de inicio del filtro (formato: dd.mm.yyyy)
dateTo string No Fecha de fin del filtro (formato: dd.mm.yyyy)
filled string No Estado de completado: "completed", "incomplete"
widgets array No Array de filtros de preguntas con parámetros: widget_uuid, type, operator, value
scoreOperator string No Operador de filtro de puntuación: "greater", "less", "equal"
scoreValue integer No Valor de puntuación para el filtrado
answerCorrect string No Filtro de corrección de respuesta: "correct", "incorrect"
extraFields array No Array de campos adicionales con parámetros: name, value
ip string No Dirección IP para el filtrado
country array No Array de países para el filtrado
browser array No Array de navegadores para el filtrado
device array No Array de dispositivos para el filtrado: "desktop", "mobile", "tablet"
tags array No Array de etiquetas para el filtrado
Ejemplo de solicitud
curl -X POST https://api.surveyninja.io/api/v3/service/quiz/123/report \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "is_complete": true, "dateFrom": "01.01.2024", "dateTo": "31.01.2024", "filled": "completed", "widgets": [ { "widget_uuid": "550e8400-e29b-41d4-a716-446655440000", "type": "choiceSingle", "operator": "equal", "value": ["option-uuid-1", "option-uuid-2"] } ], "scoreOperator": "greater", "scoreValue": 80, "answerCorrect": "correct", "extraFields": [ { "name": "field_name", "value": "field_value" } ], "ip": "192.168.1.1", "country": ["Russia", "Ukraine"], "browser": ["Chrome", "Firefox"], "device": ["desktop", "mobile"], "tags": ["important", "needs attention"] }'
Respuesta de la API
{ "status": true, "data": { "report": [ { "widget_id": "550e8400-e29b-41d4-a716-446655440000", "title": "How do you rate our service?", "type": "rating", "count": 150, "average": 4.2, "avg_filling_time": 12.5, "answer_count": 150, "rowId": "row-123", "options": "{\"min\":1,\"max\":5,\"step\":1}", "filtered_data": "{\"1\":5,\"2\":10,\"3\":25,\"4\":60,\"5\":50}" } ], "answer_total_count": 150, "correct_answers": false, "answer_moderate_count": 5, "filters": [], "filters_count": 0, "answer_hide_count": 3, "answer_hide_amount": 150.00 } }

Obtener filtros del informe

GET /quiz/{id}/filters/report

Devuelve los filtros de informe disponibles.

Ejemplo de solicitud
curl -X GET https://api.surveyninja.io/api/v3/service/quiz/123/filters/report \ -H "Authorization: Bearer YOUR_TOKEN"
Respuesta de la API
{ "status": true, "data": { "dateFrom": "01.01.2024", "dateTo": "31.01.2024", "filled": "completed", "widgets": [ { "widget_uuid": "550e8400-e29b-41d4-a716-446655440000", "type": "choiceSingle", "operator": "equal", "value": ["option-uuid-1", "option-uuid-2"] } ] } }

Ocultar/mostrar respuesta

POST /quiz/{id}/answer/{answer_id}/hide

Oculta o muestra una respuesta específica.

Parámetros de la solicitud

Parámetro Tipo Requerido Descripción
is_hide boolean true — ocultar respuesta, false — mostrar respuesta
Ejemplo de solicitud
curl -X POST https://api.surveyninja.io/api/v3/service/quiz/123/answer/answer_123/hide \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "is_hide": true }'
Respuesta de la API
{ "status": true, "is_hide": true }

Añadir etiquetas a una respuesta

POST /quiz/{id}/answer/{answer_id}/tags

Añade etiquetas a una respuesta específica para su organización y filtrado.

Parámetros de la solicitud

Parámetro Tipo Requerido Descripción
tags array Array de etiquetas a añadir a la respuesta
Ejemplo de solicitud
curl -X POST https://api.surveyninja.io/api/v3/service/quiz/123/answer/answer_123/tags \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "tags": ["important", "needs attention", "problem"] }'
Respuesta de la API
{ "status": true, "result": { "created": [ { "id": 1, "name": "important" } ], "attached": [ { "id": 1, "name": "important" }, { "id": 2, "name": "needs attention" }, { "id": 3, "name": "problem" } ], "detached": [], "deleted": [] } }