API
Contenido
Información General
- Dominio de la API: https://api.surveyninja.io/service
- Formato de devolución de datos: JSON
- Autorización: oauth2, todas las solicitudes deben incluir un encabezado de Autorización con la clave de acceso
- Para acceder a la API, necesitas: Client ID y Client Secret. Se emiten bajo solicitud en soporte al cliente en el plan "Premium"
- Proporciona: una redirect_uri funcional al soporte al cliente
Autorización
https://api.surveyninja.io/oauth/authorize get
Parámetros de la Solicitud
{
"client_id": "{CLIENT_ID}",
"state": "1650379667.97685997745",
"redirect_uri": "",
"response_type": "code",
}
"client_id": "{CLIENT_ID}",
"state": "1650379667.97685997745",
"redirect_uri": "",
"response_type": "code",
}
Si la solicitud es exitosa, serás redirigido a la redirect_uri especificada con los parámetros state y code.
Para mayor seguridad, el estado debe compararse con el valor almacenado en la sesión del usuario para garantizar la autenticación.
Usa el código recibido en la solicitud para obtener un token.
https://api.surveyninja.io/oauth/token post
Parámetros de la Solicitud
{
"code": "{CODE}",
"client_id": "{CLIENT_ID}",
"client_secret": "{CLIENT_SECRET}",
"grant_type": "authorization_code",
"redirect_uri": "{REDIRECT_URI}"
}
"code": "{CODE}",
"client_id": "{CLIENT_ID}",
"client_secret": "{CLIENT_SECRET}",
"grant_type": "authorization_code",
"redirect_uri": "{REDIRECT_URI}"
}
Resultado de la Respuesta
{
"token_type": "Bearer",
"expires_in": 31536000,
"access_token": "",
"refresh_token": ""
}
"token_type": "Bearer",
"expires_in": 31536000,
"access_token": "",
"refresh_token": ""
}
Guarda el access_token recibido y utilízalo en el encabezado de Autorización para las solicitudes posteriores.
Obtener Lista de Encuestas
https://api.surveyninja.io/api/service/quiz get
Resultado de la Respuesta
{
"id": "ID de la encuesta",
"name": "nombre de la encuesta",
"url_shared": "url de la encuesta",
"is_published": true,
"folder": {
"id": 384,
"workspace_id": 384,
"user_id": 12,
"name": "Mis encuestas",
"pos": 1,
"is_default": true,
"created_at": "2024-04-01T08:37:14.000000Z",
"updated_at": "2024-04-27T15:46:27.000000Z",
"deleted_at": null
}
}
"id": "ID de la encuesta",
"name": "nombre de la encuesta",
"url_shared": "url de la encuesta",
"is_published": true,
"folder": {
"id": 384,
"workspace_id": 384,
"user_id": 12,
"name": "Mis encuestas",
"pos": 1,
"is_default": true,
"created_at": "2024-04-01T08:37:14.000000Z",
"updated_at": "2024-04-27T15:46:27.000000Z",
"deleted_at": null
}
}
Obtener Datos de una Encuesta Específica
https://api.surveyninja.io/api/service/quiz/{id} get
Resultado de la Respuesta
{
"id": "ID de la encuesta",
"answer_count": "número de respuestas",
"name": "nombre de la encuesta",
"url_shared": "url de la encuesta",
"widgets": "pregunta",
"hidden_options": "opciones ocultas :)",
"folder": {
"id": 384,
"workspace_id": 384,
"user_id": 12,
"name": "Mis encuestas",
"pos": 1,
"is_default": true,
"created_at": "2024-04-01T08:37:14.000000Z",
"updated_at": "2024-04-27T15:46:27.000000Z",
"deleted_at": null
}
}
"id": "ID de la encuesta",
"answer_count": "número de respuestas",
"name": "nombre de la encuesta",
"url_shared": "url de la encuesta",
"widgets": "pregunta",
"hidden_options": "opciones ocultas :)",
"folder": {
"id": 384,
"workspace_id": 384,
"user_id": 12,
"name": "Mis encuestas",
"pos": 1,
"is_default": true,
"created_at": "2024-04-01T08:37:14.000000Z",
"updated_at": "2024-04-27T15:46:27.000000Z",
"deleted_at": null
}
}
Obtener Lista de Respuestas de una Encuesta Específica
https://api.surveyninja.io/api/service/quiz/{id}/answers get
Parámetros de la Solicitud
limit - tipo: entero; valor predeterminado: 20;
offset - tipo: entero; valor predeterminado: 20;
date - tipo: formato de fecha: Y-m-d;
offset - tipo: entero; valor predeterminado: 20;
date - tipo: formato de fecha: Y-m-d;
Resultado de la Respuesta
[
{
"id": 4813,
"visit_id": 46139,
"date": "2024-08-24T12:51:33.466162",
"date_start": "2024-08-24T12:51:33.466162",
"date_end": "2024-08-24T12:51:28.275591",
"is_complete": true,
"extra_fields": null,
"answers": [
{
"type": "yesno",
"rowId": "3ec8521a-3af8-4fec-b11e-7409d38eab33",
"title": "¿Sí o no?",
"result": [
{
"uuid": "adbe1d5f-29e2-468c-863b-5b136a519ad1",
"label": "Sí"
}
],
"max_val": null,
"hidden_options": []
},
]
}
]
{
"id": 4813,
"visit_id": 46139,
"date": "2024-08-24T12:51:33.466162",
"date_start": "2024-08-24T12:51:33.466162",
"date_end": "2024-08-24T12:51:28.275591",
"is_complete": true,
"extra_fields": null,
"answers": [
{
"type": "yesno",
"rowId": "3ec8521a-3af8-4fec-b11e-7409d38eab33",
"title": "¿Sí o no?",
"result": [
{
"uuid": "adbe1d5f-29e2-468c-863b-5b136a519ad1",
"label": "Sí"
}
],
"max_val": null,
"hidden_options": []
},
]
}
]
Variables Ocultas
Recuperar una Variable Oculta
https://api.surveyninja.io/api/service/quiz/{id}/hidden/options get
Enviar una Variable Oculta
https://api.surveyninja.io/api/service/quiz/{id}/hidden/options/create post
Parámetros de la Solicitud
{
"name": "tipoProducto",
"value": "clienteTienda"
}
"name": "tipoProducto",
"value": "clienteTienda"
}
Actualizar una Variable Oculta
https://api.surveyninja.io/api/service/quiz/{id}/hidden/options/update/{id} post
Eliminar una Variable Oculta
https://api.surveyninja.io/api/service/quiz/{id}/hidden/options/delete/{id} post
Apreciamos sugerencias para mejorar la API, por favor contáctanos.