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:
AI Markdown
/static/api/answers.md
AI Markdown
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 | Sí | 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 }