API de Analytics
Obtén métricas de respuestas y análisis de completitud para tus formularios.
La API de Analytics proporciona métricas agregadas sobre las respuestas de formularios, incluyendo conteos totales, tasas de completitud y desgloses diarios.
Todos los cuerpos de respuesta utilizan nombres de campo en snake_case.

Obtener Analytics del Formulario
/api/v1/forms/:id/analyticsDevuelve las analytics de respuestas para un formulario específico. Opcionalmente puedes filtrar por un rango de fechas para analizar períodos específicos.
Parámetros de Ruta
idstringEl ID del formulario
Parámetros de Consulta
sincestringFecha ISO 8601. Solo incluir respuestas enviadas en o después de esta fecha.
untilstringFecha ISO 8601. Solo incluir respuestas enviadas en o antes de esta fecha.
Campos de Respuesta
form_idstringEl ID del formulario
total_responsesintegerNúmero total de envíos (incluyendo parciales)
completed_responsesintegerNúmero de envíos completados
completion_ratenumberPorcentaje de respuestas completadas (0-100, redondeado a 2 decimales)
average_completion_time_secondsinteger or nullTiempo promedio en segundos desde la primera respuesta hasta la completitud. null si no hay respuestas completadas.
responses_by_dayarrayDesglose diario de conteos de respuestas
responses_by_day[].datestringFecha en formato YYYY-MM-DD
responses_by_day[].totalintegerTotal de respuestas enviadas en esta fecha
responses_by_day[].completedintegerRespuestas completadas en esta fecha
Respuesta
{
"form_id": "665a1b2c3d4e5f6a7b8c9d0e",
"total_responses": 342,
"completed_responses": 298,
"completion_rate": 87.13,
"average_completion_time_seconds": 194,
"responses_by_day": [
{ "date": "2026-02-22", "total": 18, "completed": 16 },
{ "date": "2026-02-23", "total": 24, "completed": 21 },
{ "date": "2026-02-24", "total": 31, "completed": 27 },
{ "date": "2026-02-25", "total": 22, "completed": 20 },
{ "date": "2026-02-26", "total": 28, "completed": 25 },
{ "date": "2026-02-27", "total": 35, "completed": 30 },
{ "date": "2026-02-28", "total": 12, "completed": 11 }
]
}
Ejemplos de Código
curl -X GET "https://api.nueform.io/api/v1/forms/665a1b2c3d4e5f6a7b8c9d0e/analytics?since=2026-02-01&until=2026-02-28" \
-H "Authorization: Bearer YOUR_API_KEY"
Consejos de Consulta
Usa los parámetros de consulta since y until para controlar el rango de fechas de las analytics.
Historial completo
Omite ambos parámetros since y until para obtener analytics de toda la vida del formulario.
Últimos 7 días
Calcula la fecha de hace 7 días y pásala como parámetro since para obtener una ventana semanal móvil.
Mes específico
Pasa el primer y último día del mes como since y until para obtener analytics de un mes calendario específico.
Historial completo
curl -X GET "https://api.nueform.io/api/v1/forms/665a1b2c3d4e5f6a7b8c9d0e/analytics" \
-H "Authorization: Bearer YOUR_API_KEY"
Últimos 7 días
const since = new Date();
since.setDate(since.getDate() - 7);
const response = await fetch(
`https://api.nueform.io/api/v1/forms/${formId}/analytics?since=${since.toISOString().split("T")[0]}`,
{ headers: { Authorization: "Bearer YOUR_API_KEY" } }
);
Mes específico
response = requests.get(
f"https://api.nueform.io/api/v1/forms/{form_id}/analytics",
params={"since": "2026-01-01", "until": "2026-01-31"},
headers={"Authorization": "Bearer YOUR_API_KEY"},
)
Respuestas de Error
Respuestas de error estándar devueltas por este endpoint.
Códigos de Error
400Bad RequestFormato de fecha inválido para since o until
401UnauthorizedAPI key faltante o inválida
403ForbiddenPermisos insuficientes para formularios de equipo
404Not FoundFormulario no encontrado
500Server ErrorError interno del servidor
Ejemplo de Error
{
"error": "Form not found"
}