API de Respuestas
Obtén, filtra, elimina y exporta las respuestas de formularios.
La API de Respuestas te permite obtener, filtrar, eliminar y exportar los envíos recopilados por tus formularios. Todas las respuestas están asociadas a un formulario específico.
Todos los cuerpos de solicitud y respuesta utilizan nombres de campo en snake_case.
Listar Respuestas
/api/v1/forms/:id/responsesDevuelve una lista paginada de respuestas de un formulario, ordenadas por fecha de envío (más recientes primero).
Parámetros de Ruta
idstringobligatorioEl ID del formulario
Parámetros de Consulta
pageintegerNúmero de página (por defecto: 1)
per_pageintegerResultados por página (por defecto: 50)
sincestringFecha ISO 8601. Solo devolver respuestas enviadas en o después de esta fecha.
untilstringFecha ISO 8601. Solo devolver respuestas enviadas en o antes de esta fecha.
completedbooleanFiltrar por estado de completitud. true devuelve solo respuestas completadas, false devuelve solo respuestas parciales.
Tipos de Valor de Respuesta
short_textstringEjemplo: "Jane Smith"
long_textstringEjemplo: "I really enjoyed the product..."
multiple_choicestringEjemplo: "Option A"
multiple_choice (multi)array of stringsEjemplo: ["Option A", "Option C"]
ratingnumberEjemplo: 4
opinion_scalenumberEjemplo: 8
numbernumberEjemplo: 42
emailstringEjemplo: "jane@example.com"
datestring (ISO 8601)Ejemplo: "2026-03-15"
yes_nobooleanEjemplo: true
file_uploadobjectEjemplo: { "url": "...", "name": "doc.pdf" }
dropdownstringEjemplo: "United States"
Respuesta
{
"responses": [
{
"id": "667a1b2c3d4e5f6a7b8c9d01",
"form_id": "665a1b2c3d4e5f6a7b8c9d0e",
"visitor_id": "v_8f2k3j4l5m6n",
"submitted_at": "2026-02-27T15:42:00.000Z",
"completed_at": "2026-02-27T15:45:30.000Z",
"metadata": {
"user_agent": "Mozilla/5.0",
"referrer": "https://example.com"
},
"answers": [
{
"question_id": "66a1b2c3d4e5f6a7b8c9d001",
"value": "Jane Smith"
},
{
"question_id": "66a1b2c3d4e5f6a7b8c9d002",
"value": "Social media"
},
{
"question_id": "66a1b2c3d4e5f6a7b8c9d003",
"value": 5
}
],
"quiz_results": null
}
],
"total": 142,
"page": 1,
"per_page": 50
}
Ejemplos de Código
curl -X GET "https://api.nueform.io/api/v1/forms/665a1b2c3d4e5f6a7b8c9d0e/responses?page=1&per_page=25&completed=true" \
-H "Authorization: Bearer YOUR_API_KEY"
Obtener Respuesta
/api/v1/forms/:id/responses/:responseIdObtiene una respuesta individual por ID.
Parámetros de Ruta
idstringobligatorioEl ID del formulario
responseIdstringobligatorioEl ID de la respuesta
Resultados de Quiz
Para formularios que usan modos de quiz (knowledge_quiz, lead_qualification, match_quiz), el campo quiz_results contiene datos de puntuación.
Respuesta
{
"id": "667a1b2c3d4e5f6a7b8c9d01",
"form_id": "665a1b2c3d4e5f6a7b8c9d0e",
"visitor_id": "v_8f2k3j4l5m6n",
"submitted_at": "2026-02-27T15:42:00.000Z",
"completed_at": "2026-02-27T15:45:30.000Z",
"metadata": {
"user_agent": "Mozilla/5.0",
"referrer": "https://example.com"
},
"answers": [
{
"question_id": "66a1b2c3d4e5f6a7b8c9d001",
"value": "Jane Smith"
},
{
"question_id": "66a1b2c3d4e5f6a7b8c9d002",
"value": "Social media"
},
{
"question_id": "66a1b2c3d4e5f6a7b8c9d003",
"value": 5
}
],
"quiz_results": null
}
Ejemplo de Resultados de Quiz
{
"quiz_results": {
"score": 8,
"correct_answers": 4,
"total_scorable_questions": 5,
"max_score": 10,
"matched_ending_id": null,
"form_mode": "knowledge_quiz"
}
}
Ejemplos de Código
curl -X GET "https://api.nueform.io/api/v1/forms/665a1b2c3d4e5f6a7b8c9d0e/responses/667a1b2c3d4e5f6a7b8c9d01" \
-H "Authorization: Bearer YOUR_API_KEY"
Eliminar Respuesta
/api/v1/forms/:id/responses/:responseIdElimina permanentemente una respuesta individual.
Esta acción es irreversible. Los datos de la respuesta no se pueden recuperar después de la eliminación.
Parámetros de Ruta
idstringobligatorioEl ID del formulario
responseIdstringobligatorioEl ID de la respuesta
Respuesta
{
"success": true
}
Ejemplos de Código
curl -X DELETE "https://api.nueform.io/api/v1/forms/665a1b2c3d4e5f6a7b8c9d0e/responses/667a1b2c3d4e5f6a7b8c9d01" \
-H "Authorization: Bearer YOUR_API_KEY"
Eliminación Masiva de Respuestas
/api/v1/forms/:id/responses/bulk-deleteElimina múltiples respuestas en una sola solicitud. Máximo de 100 respuestas por solicitud. Todos los IDs de respuesta especificados deben pertenecer al formulario indicado.
Parámetros de Ruta
idstringobligatorioEl ID del formulario
Cuerpo de Solicitud
response_idsarray of stringsobligatorioIDs de las respuestas a eliminar (máx. 100)
Ejemplo de Solicitud
{
"response_ids": [
"667a1b2c3d4e5f6a7b8c9d01",
"667a1b2c3d4e5f6a7b8c9d02",
"667a1b2c3d4e5f6a7b8c9d03"
]
}
Respuesta
{
"deleted": 3
}
Ejemplos de Código
curl -X POST "https://api.nueform.io/api/v1/forms/665a1b2c3d4e5f6a7b8c9d0e/responses/bulk-delete" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"response_ids": [
"667a1b2c3d4e5f6a7b8c9d01",
"667a1b2c3d4e5f6a7b8c9d02"
]
}'
Exportar Respuestas (CSV)
/api/v1/forms/:id/responses/exportExporta todas las respuestas de un formulario como archivo CSV. El CSV incluye columnas para responseId, submittedAt, completedAt y una columna por pregunta (usando el título de la pregunta como encabezado de columna).
Para preguntas de grupo (question_group, multi_question_page, contact_info, address), cada subcampo obtiene su propia columna.
Parámetros de Ruta
idstringobligatorioEl ID del formulario
Respuesta
Devuelve un archivo CSV con Content-Type: text/csv.
responseId,submittedAt,completedAt,What is your name?,How did you hear about us?,How would you rate your overall experience?
667a1b2c3d4e5f6a7b8c9d01,2026-02-27T15:42:00.000Z,2026-02-27T15:45:30.000Z,Jane Smith,Social media,5
667a1b2c3d4e5f6a7b8c9d02,2026-02-26T10:15:00.000Z,2026-02-26T10:18:22.000Z,Bob Johnson,Search engine,4
667a1b2c3d4e5f6a7b8c9d03,2026-02-25T08:30:00.000Z,,Alex Chen,Friend or colleague,
Ejemplos de Código
curl -X GET "https://api.nueform.io/api/v1/forms/665a1b2c3d4e5f6a7b8c9d0e/responses/export" \
-H "Authorization: Bearer YOUR_API_KEY" \
-o responses.csv
Respuestas de Error
Todos los endpoints devuelven respuestas de error estándar:
Códigos de Estado
400Bad RequestParámetros inválidos, eliminación masiva excede 100 elementos
401UnauthorizedAPI key faltante o inválida
403ForbiddenPermisos de equipo insuficientes
404Not FoundFormulario o respuesta no encontrados
500Internal Server ErrorError interno del servidor
Ejemplo de Error
{
"error": "Response not found"
}