Encuestas

Gestione encuestas, trabaje con variables ocultas y configuraciones

Descripción general

La API de Encuestas/Cuestionarios le permite crear encuestas mediante programación, gestionar preguntas, configurar ajustes, manejar variables ocultas, controlar el ciclo de vida de la encuesta (duplicar, renombrar, archivar, eliminar) y gestionar los textos de etiquetas predeterminados.

Descarga la versión en markdown de la sección "Encuestas" para usar en ChatGPT / otros LLMs:

Crear y editar

Esta sección cubre la creación de una nueva encuesta y el guardado de sus preguntas.

Crear encuesta

POST /quiz

Crea una nueva encuesta en la carpeta especificada y devuelve el objeto de encuesta.

Cuerpo de la solicitud (JSON)

Campo Tipo Requerido Descripción
folder_id integer ID de la carpeta en la que crear la encuesta
Ejemplo de solicitud
curl -X POST "https://api.surveyninja.io/api/v3/service/quiz" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{"folder_id": 5}'

Respuesta exitosa (201)

Campos principales
{ "id": 124, "workspace_id": 1, "name": "Survey #12", "virtual_id": "abc12xyz", "url_preview": "https://example.com/quiz/124/preview", "url_shared": "https://example.com/q/abc12xyz", "is_published": false }

Posibles errores

HTTP Código Descripción
400 workspace_not_found, folder_not_found Espacio de trabajo o carpeta no encontrado
401 user_not_authenticated Token de autorización inválido o ausente
403 quiz_limit_today Se alcanzó el límite diario de creación de encuestas para esta cuenta
422 validation_error Error de validación del cuerpo de la solicitud

Preguntas de la encuesta

Guarde el conjunto completo de preguntas de una encuesta usando el endpoint /quiz/{id}/save.

POST /quiz/{id}/save

Guarda la estructura completa de preguntas de la encuesta. Reemplaza el conjunto de preguntas existente.

Cuerpo de la solicitud (JSON)

Campo Tipo Requerido Descripción
ids array Array ordenado de identificadores de preguntas (UUIDs, "welcome", "submit")
entities object Objeto que mapea cada ID de pregunta a su objeto de datos completo

Valores de ids

El array ids contiene identificadores de preguntas en orden de visualización. Valores especiales:

Valor Descripción
welcome Pantalla de bienvenida (página de introducción)
submit Pantalla de finalización (página de agradecimiento)
UUID UUID — una pregunta regular

Campos comunes para todos los tipos de pregunta

Campo Tipo Descripción
typestringObligatorio. Identificador del tipo de pregunta (ver tabla de tipos)
titlestringTítulo / texto de etiqueta de la pregunta
withTitlebooleanMostrar el campo de título
descriptionstringTexto de descripción / subtítulo de la pregunta
withDescriptionbooleanMostrar el campo de descripción
isRequiredbooleanMarcar la pregunta como obligatoria
isBlockedbooleanBloquear la pregunta (ocultar a los encuestados)
multimediaobject \| nullObjeto multimedia (imagen, vídeo, audio) o null
filling_time_enabledbooleanHabilitar límite de tiempo por pregunta
filling_time_secondsintegerLímite de tiempo para la pregunta en segundos

Tipos de pregunta

type Nombre Descripción
welcomePantalla de bienvenidaPantalla de introducción / bienvenida
yesnoSí / NoPregunta de Sí / No
choiceOpciónSelección única o múltiple de una lista de opciones
dropdownDesplegableSelección de lista desplegable
rankingClasificaciónClasificación de opciones mediante arrastrar y soltar
sliderControl deslizanteControl deslizante con mín./máx./paso configurables
ratingValoraciónEscala de valoración con estrellas, corazones o emojis
scaleEscalaEscala numérica (p. ej. 1–10)
inputEntrada de textoEntrada de texto corto o largo
emailCorreo electrónicoCampo de entrada de correo electrónico
phoneTeléfonoCampo de entrada de número de teléfono
datetimeFecha y horaSelector de fecha y/o hora
matrixMatrizCuadrícula de matriz (filas × columnas)
messageMensajeBloque de mensaje estático o información
fileCarga de archivoCarga de archivo
htmlBloque HTMLBloque de contenido HTML personalizado
submitPantalla de envíoPantalla de finalización / agradecimiento

Estructura del objeto multimedia

CampoDescripción
typeimg, video, audio
imgUrlURL de la imagen
videoUrlURL del vídeo
imgLocationPosición de la imagen: top, left, right, background
videoSettingsObjeto de configuración del reproductor de vídeo

Campos adicionales por tipo de pregunta

welcome (welcome screen): welcomeLabel, welcomeWithResponseTime, welcomeWithQuestionCount
submit (completion screen): submitLabel, submitShowText, submitNextUrl, submitTerms, submitTermsTitle, submitTermsText
choice: choiceType (text/image), choiceMultiple, choiceRandomize, choiceTextOther; choiceTextIds + choiceTextEntities (UUID → {label, score, isCorrect}); choiceImageIds + choiceImageEntities
yesno: yesNoTextIds, yesNoTextEntities (UUID → {type: yes|no, label, score, isCorrect})
dropdown: dropdownIds, dropdownEntities (UUID → text), dropdownScores
ranking: rankingIds, rankingEntities, rankingRandomize, swapActive
slider: sliderMin, sliderMax, sliderStep, sliderValue
rating: ratingCount, ratingFigure (star/heart/thumb/smile), ratingValue, ratingWithNumber, ratingScores
scale: scaleCount, scaleStartValue (0/1), scaleLabelLeft/Central/Right, scaleLabelLeftValue, scaleLabelCentralValue, scaleLabelRightValue, scaleScores
input (text): inputPlaceholder, inputIsTextarea, inputWidth, inputHeight, inputLimit, inputLimitMin, inputLimitMax
email: emailPlaceholder, emailWidth
phone: phonePlaceholder, phoneWidth, phoneIsLimit, phoneLimitMin, phoneLimitMax
datetime: dateTimeType (dateAndTime/date/time), dateTimeFormatOfDate, dateTimeFormatOfTime (12/24), dateTimeSeparator (dot/slash/dash)
matrix: matrixChoiceType (radio/checkbox/text), matrixIsAllRequired, matrixRowIds, matrixColIds, matrixRowEntities, matrixColEntities, matrixTranspose
message: messageLabel, messageWithButton
html: htmlCode, htmlIsEmbedded

Reglas de validación

  • Todos los valores en ids deben ser únicos
  • Cada valor en ids debe tener una entrada correspondiente en entities
  • Cada clave en entities debe estar presente en ids
  • Cada objeto de entidad debe tener un campo type
Ejemplo: agregar una pregunta de valoración
curl -X POST "https://api.surveyninja.io/api/v3/service/quiz/123/save" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "ids": ["welcome", "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "submit"], "entities": { "welcome": { "type": "welcome", "title": "Welcome", "welcomeLabel": "Start" }, "a1b2c3d4-e5f6-7890-abcd-ef1234567890": { "type": "rating", "title": "Rate the service", "ratingCount": 5, "ratingFigure": "star" }, "submit": { "type": "submit", "submitLabel": "Submit" } } }'

Errores

HTTP Descripción
400Encuesta no encontrada
401Se requiere autorización
403Acceso a la encuesta denegado
422Error de validación: ids y entities son inconsistentes
500Error interno del servidor al guardar la estructura de la encuesta

Obtener lista de encuestas

GET /quiz

Devuelve una lista paginada de todas las encuestas activas (no archivadas).

Parámetros de consulta

Parámetro Tipo Requerido Descripción
sort string No Campo por el que ordenar (p. ej. name, created_at)
order string No Dirección de ordenación: asc o desc
limit integer No Número máximo de encuestas a devolver
offset integer No Número de encuestas a omitir (desplazamiento de paginación)
Ejemplo de solicitud
curl -X GET "https://api.surveyninja.io/api/v3/service/quiz?sort=name&order=asc&limit=10&offset=0" \ -H "Authorization: Bearer YOUR_TOKEN"
Respuesta de la API
[ { "id": "survey ID", "name": "name", "url_shared": "survey URL", "is_published": true, "folder": { "id": 384, "workspace_id": 384, "user_id": 12, "name": "My Surveys", "pos": 1, "is_default": true, "created_at": "2022-04-01T08:37:14.000000Z", "updated_at": "2022-04-27T15:46:27.000000Z", "deleted_at": null } } ]

Obtener datos de la encuesta

GET /quiz/{id}

Devuelve el objeto de datos completo de una encuesta específica, incluyendo todas las preguntas y configuraciones.

Ejemplo de solicitud
curl -X GET https://api.surveyninja.io/api/v3/service/quiz/123 \ -H "Authorization: Bearer YOUR_TOKEN"
Respuesta de la API
{ "id": "survey ID", "answer_count": "number of responses", "name": "name", "url_shared": "survey URL", "widgets": "question structure (ids, entities)", "hidden_options": "hidden variable", "folder": { "id": 384, "workspace_id": 384, "user_id": 12, "name": "My Surveys", "pos": 1, "is_default": true, "created_at": "2022-04-01T08:37:14.000000Z", "updated_at": "2022-04-27T15:46:27.000000Z", "deleted_at": null } }

Configuración de la encuesta

Actualiza uno o más grupos de configuración de una encuesta. Todos los parámetros son opcionales — solo se actualizarán los campos que envíe.

POST /quiz/{id}/settings/info

Básico

Parámetro Tipo Descripción
name string Nombre / título de la encuesta
lang string Código de idioma de la interfaz de la encuesta (p. ej. en, ru)
info_title string Título interno de la encuesta (mostrado en el panel)
description string Descripción SEO meta para la página de la encuesta

Visualización

Parámetro Tipo Descripción
show_progressbar boolean Mostrar barra de progreso
show_navigate boolean Mostrar botones de navegación (Atrás / Siguiente)
numeration boolean Mostrar números de pregunta
auto_move_by_enter boolean Avanzar automáticamente a la siguiente pregunta al pulsar Enter
show_by_one boolean Mostrar una pregunta a la vez
allow_multiple_answer boolean Permitir múltiples envíos desde el mismo encuestado
show_copyright boolean Mostrar el pie de derechos de autor de SurveyNinja

Acceso y restricciones

Parámetro Tipo Descripción
close_quiz_enabled boolean Cerrar la encuesta (dejar de aceptar respuestas)
limit_time_enabled boolean Habilitar fecha límite de respuesta
limit_time_value string Fecha límite de respuesta (cadena de fecha y hora)
limit_time_timezone string Zona horaria para la fecha límite (p. ej. Europe/Madrid)
limit_answer_count_enabled boolean Limitar el número total de respuestas
limit_answer_count_value integer Maximum number of responses
use_password boolean Proteger la encuesta con contraseña
multiple_ip boolean Permitir múltiples respuestas desde la misma dirección IP
show_captcha boolean Mostrar CAPTCHA antes del envío
ip_list_enabled boolean Habilitar filtrado por dirección IP
ip_whitelist string Lista de direcciones IP permitidas separadas por comas
ip_blacklist string Lista de direcciones IP bloqueadas separadas por comas
available_devices[] array Dispositivos permitidos: desktop, mobile, tablet

Comportamiento

Parámetro Tipo Descripción
scoring_switcher boolean Habilitar modo de puntuación
question_required_mode string individual / all_required / all_optional
question_random_order boolean Aleatorizar el orden de las preguntas
disable_auto_redirect boolean Deshabilitar la redirección automática tras el envío
block_jump_to_prev_widget boolean Impedir que los encuestados vuelvan a preguntas anteriores
filling_time_enabled boolean Habilitar límite de tiempo total de la encuesta
filling_time_seconds integer Límite de tiempo de la encuesta en segundos

Analítica y código QR

Parámetro Tipo Descripción
scripts_in_head string Scripts personalizados insertados en
scripts_in_body string Scripts personalizados insertados antes de
scripts_in_head_enabled boolean Habilitar scripts en el head
scripts_in_body_enabled boolean Habilitar scripts en el body
sso_active boolean Habilitar inicio de sesión único (SSO)
qr_code_size integer Tamaño del código QR en píxeles
qr_code_color string Color de primer plano del código QR (HEX)
qr_code_background_color string Color de fondo del código QR (HEX)
qr_code_margin integer Margen del código QR en píxeles
POST /api/v3/service/quiz/{id}/settings/info
curl -X POST "https://api.surveyninja.io/api/v3/service/quiz/123/settings/info" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "name": "New survey name", "lang": "en", "show_progressbar": true, "limit_answer_count_enabled": true, "limit_answer_count_value": 500, "question_required_mode": "all_required" }'

Variables ocultas

Obtener variables ocultas

GET /quiz/{id}/hidden/options

Devuelve la lista de variables ocultas configuradas para la encuesta.

Ejemplo de solicitud
curl -X GET https://api.surveyninja.io/api/v3/service/quiz/123/hidden/options \ -H "Authorization: Bearer YOUR_TOKEN"

Crear variable oculta

POST /quiz/{id}/hidden/options/create

Crea una nueva variable oculta para la encuesta.

Parámetros de la solicitud

Parámetro Tipo Requerido Descripción
name string Nombre de la variable
value string Valor predeterminado de la variable
Ejemplo de solicitud
curl -X POST https://api.surveyninja.io/api/v3/service/quiz/123/hidden/options/create \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "name": "productType", "value": "clientShop" }'

Actualizar variable oculta

POST /quiz/{id}/hidden/options/update/{opt_id}

Actualiza el nombre y el valor predeterminado de una variable oculta.

Parámetros de la solicitud

Parámetro Tipo Requerido Descripción
name string Nuevo nombre de la variable
value string Nuevo valor de la variable
Ejemplo de solicitud
curl -X POST https://api.surveyninja.io/api/v3/service/quiz/123/hidden/options/update/123 \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "name": "productType", "value": "updatedValue" }'

Eliminar variable oculta

POST /quiz/{id}/hidden/options/delete/{opt_id}

Elimina una variable oculta de la encuesta.

Ejemplo de solicitud
curl -X POST https://api.surveyninja.io/api/v3/service/quiz/123/hidden/options/delete/123 \ -H "Authorization: Bearer YOUR_TOKEN"

Variables ocultas en preguntas

Obtener variables ocultas en preguntas

GET /quiz/{id}/widgets/hidden/options

Devuelve la lista de variables ocultas integradas en las preguntas de la encuesta.

Ejemplo de solicitud
curl -X GET https://api.surveyninja.io/api/v3/service/quiz/123/widgets/hidden/options \ -H "Authorization: Bearer YOUR_TOKEN"

Agregar variable oculta a la pregunta

POST /quiz/{id}/widgets/hidden/options/create

Agrega una variable oculta a una pregunta específica.

Parámetro Tipo Descripción Requerido
name string Nombre de la variable
value string Valor predeterminado de la variable
widget_uuid string UUID de la pregunta (widget) a la que adjuntar la variable
Ejemplo de solicitud
curl -X POST https://api.surveyninja.io/api/v3/service/quiz/123/widgets/hidden/options/create \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "name": "productType", "value": "clientShop", "widget_uuid": "c63b9a88-2f1b-4735-a7ab-0b5fd84c90c2" }'

Actualizar variable oculta en pregunta

POST /quiz/{id}/widgets/hidden/options/update/{opt_id}

Actualiza el nombre y valor de una variable oculta adjunta a una pregunta.

Parámetro Tipo Descripción Requerido
name string Nuevo nombre de la variable
value string Nuevo valor de la variable
Ejemplo de solicitud
curl -X POST https://api.surveyninja.io/api/v3/service/quiz/123/widgets/hidden/options/update/123 \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "name": "productType", "value": "clientShop" }'

Eliminar variable oculta de la pregunta

POST /quiz/{id}/widgets/hidden/options/delete/{opt_id}

Elimina una variable oculta de una pregunta específica.

Ejemplo de solicitud
curl -X POST https://api.surveyninja.io/api/v3/service/quiz/123/widgets/hidden/options/delete/123 \ -H "Authorization: Bearer YOUR_TOKEN"

Gestión de encuestas

Los siguientes endpoints le permiten gestionar el ciclo de vida de las encuestas: agregar notas, duplicar, renombrar, convertir en plantilla, archivar, mover y eliminar.

Ciclo de vida de la encuesta

POST /quiz/{id}/save

Guarda la estructura completa de preguntas de la encuesta (reemplaza las preguntas existentes).

Ejemplo de solicitud
curl -X POST "https://api.surveyninja.io/api/v3/service/quiz/123/save" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "ids": ["welcome", "question-1", "submit"], "entities": { "welcome": { "type": "welcome", "...": "..." }, "question-1": { "type": "choice", "title": "...", "...": "..." }, "submit": { "type": "submit", "...": "..." } } }'
POST /quiz/{id}/applyTheme/{theme_id}

Aplica un tema de diseño a la encuesta.

Ejemplo de solicitud
curl -X POST "https://api.surveyninja.io/api/v3/service/quiz/123/applyTheme/925" \ -H "Authorization: Bearer YOUR_API_TOKEN"
POST /quiz/{id}/publish

Publica el borrador actual de la encuesta para que los encuestados puedan acceder a él.

Ejemplo de solicitud
curl -X POST "https://api.surveyninja.io/api/v3/service/quiz/123/publish" \ -H "Authorization: Bearer YOUR_API_TOKEN"
POST /quiz/{id}/conditions

Guarda la lógica de ramificación (condiciones de omisión/salto) para la encuesta.

Ejemplo de solicitud
curl -X POST "https://api.surveyninja.io/api/v3/service/quiz/123/conditions" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "conditions": { "...": "logic structure, same as in the builder" } }'

Agregar nota

POST /quiz/{id}/note

Agrega o actualiza una nota (comentario interno) adjunta a la encuesta.

Parámetros de la solicitud

Parámetro Tipo Requerido Descripción
notes string Texto de la nota (máximo 1000 caracteres)
Ejemplo de solicitud
curl -X POST https://api.surveyninja.io/api/v3/service/quiz/123/note \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "notes": "Note text (maximum 1000 characters)" }'
Respuesta de la API
{ "status": true, "notes": "Note text" }

Duplicar encuesta

POST /quiz/{id}/duplicate

Crea una copia completa de la encuesta incluyendo todas las preguntas y configuraciones.

Parámetros de la solicitud

Parámetro Tipo Requerido Descripción
name string No Nombre para la encuesta duplicada (opcional; por defecto es una copia del nombre original)
Ejemplo de solicitud
curl -X POST https://api.surveyninja.io/api/v3/service/quiz/123/duplicate \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "name": "Copy name (optional)" }'
Respuesta de la API
{ "status": true, "quiz": { "id": 123, "name": "Copy: Survey Name", "url_shared": "https://example.com/abc123", "is_published": false, "created_at": "2024-01-01T12:00:00Z", "updated_at": "2024-01-01T12:00:00Z", "folder": { "id": 1, "name": "My Folder" } } }

Renombrar encuesta

POST /quiz/{id}/rename

Cambia el nombre de la encuesta.

Parámetros de la solicitud

Parámetro Tipo Requerido Descripción
name string Nuevo nombre de la encuesta
Ejemplo de solicitud
curl -X POST https://api.surveyninja.io/api/v3/service/quiz/123/rename \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "name": "New survey name" }'
Respuesta de la API
{ "status": true, "name": "New survey name" }

Convertir en plantilla

POST /quiz/{id}/template

Marca la encuesta como plantilla reutilizable disponible en la galería de plantillas.

Ejemplo de solicitud
curl -X POST https://api.surveyninja.io/api/v3/service/quiz/123/template \ -H "Authorization: Bearer YOUR_TOKEN"
Respuesta de la API
{ "status": true }

Archivar encuesta

POST /quiz/{id}/archive

Archiva o desarchiva una encuesta. Las encuestas archivadas no aceptan nuevas respuestas.

Parámetros de la solicitud

Parámetro Tipo Requerido Descripción
archive boolean true — archivar la encuesta, false — desarchivar
Ejemplo de solicitud
curl -X POST https://api.surveyninja.io/api/v3/service/quiz/123/archive \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "archive": true }'
Respuesta de la API
{ "status": true, "archive_at": "2024-01-01T12:00:00Z", "is_archived": true }

Mover encuesta

POST /quiz/{id}/move

Mueve la encuesta a una carpeta diferente dentro del mismo espacio de trabajo.

Parámetros de la solicitud

Parámetro Tipo Requerido Descripción
folder_id integer ID de la carpeta de destino
Ejemplo de solicitud
curl -X POST https://api.surveyninja.io/api/v3/service/quiz/123/move \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "folder_id": 5 }'
Respuesta de la API
{ "status": true, "folder_id": 5, "folder": { "id": 5, "name": "New Folder" } }

Eliminar encuesta

DELETE /quiz/{id}

Elimina permanentemente una encuesta junto con todas sus respuestas. Esta acción no se puede deshacer.

Ejemplo de solicitud
curl -X DELETE https://api.surveyninja.io/api/v3/service/quiz/123 \ -H "Authorization: Bearer YOUR_TOKEN"
Respuesta de la API
{ "status": true }

Encuestas archivadas

GET /quiz/archived

Devuelve la lista de encuestas archivadas.

Ejemplo de solicitud
curl -X GET https://api.surveyninja.io/api/v3/service/quiz/archived \ -H "Authorization: Bearer YOUR_TOKEN"
Respuesta de la API
[ { "id": 123, "name": "Archived survey", "url_shared": "https://example.com/abc123", "is_published": false, "created_at": "2024-01-01T12:00:00Z", "updated_at": "2024-01-01T12:00:00Z", "archive_at": "2024-01-02T12:00:00Z", "folder": { "id": 1, "name": "My Folder" } } ]

Variables URL ocultas

Las variables URL ocultas se añaden al enlace de la encuesta como parámetros de consulta y se capturan automáticamente cuando un encuestado abre la encuesta.

Listar variables URL ocultas GET /api/v3/service/quiz/{id}/hidden/variables

Devuelve la lista de variables URL ocultas configuradas para la encuesta.

GET /api/v3/service/quiz/{id}/hidden/variables
curl -X GET "https://api.surveyninja.io/api/v3/service/quiz/123/hidden/variables" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Accept: application/json"

Response example:

[ { "id": "550e8400-e29b-41d4-a716-446655440000", "name": "utm_source" }, { "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8", "name": "user_id" } ]

Crear variable URL oculta POST /api/v3/service/quiz/{id}/hidden/variables/create

Parámetro Requerido Descripción
name yes Nombre de la variable usado como clave del parámetro de consulta
id no UUID personalizado para la variable (se genera automáticamente si no se proporciona)
Errores: 422 si el nombre ya existe o es inválido; 400 si la encuesta no se encuentra.
POST /api/v3/service/quiz/{id}/hidden/variables/create
curl -X POST "https://api.surveyninja.io/api/v3/service/quiz/123/hidden/variables/create" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "name": "utm_source" }'

Actualizar variable URL oculta POST /api/v3/service/quiz/{id}/hidden/variables/update/{field_id}

Parámetro Requerido Descripción
name yes Nuevo nombre de la variable
POST /api/v3/service/quiz/{id}/hidden/variables/update/{field_id}
curl -X POST "https://api.surveyninja.io/api/v3/service/quiz/123/hidden/variables/update/550e8400-e29b-41d4-a716-446655440000" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "name": "utm_campaign" }'

Eliminar variable URL oculta POST /api/v3/service/quiz/{id}/hidden/variables/delete/{field_id}

No se requiere cuerpo de solicitud.

POST /api/v3/service/quiz/{id}/hidden/variables/delete/{field_id}
curl -X POST "https://api.surveyninja.io/api/v3/service/quiz/123/hidden/variables/delete/550e8400-e29b-41d4-a716-446655440000" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Accept: application/json"

Textos predeterminados

Los textos predeterminados son los botones y etiquetas de interfaz que se muestran a los encuestados (p. ej. Siguiente, Atrás, Enviar). Recupere los valores actuales y personalícelos por encuesta.

Obtener textos predeterminados GET /api/v3/service/quiz/{id}/default-texts

Parámetro Tipo Predeterminado Descripción
lang string ru Código de idioma para el que recuperar las etiquetas (p. ej. ru, en)

Devuelve un array de objetos de etiqueta, cada uno con code, standard_text y user_text (personalización o null).

GET /api/v3/service/quiz/{id}/default-texts
curl -X GET "https://api.surveyninja.io/api/v3/service/quiz/123/default-texts?lang=ru" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Accept: application/json"

Ejemplo de respuesta

[ { "code": "btn_next", "standard_text": "Next", "user_text": null }, { "code": "btn_back", "standard_text": "Back", "user_text": "Go Back" }, { "code": "btn_submit", "standard_text": "Submit", "user_text": null } ]

Actualizar textos predeterminados POST /api/v3/service/quiz/{id}/default-texts

Actualiza los textos de etiquetas personalizados para la encuesta. Envíe text: null para restablecer al texto estándar.

Parámetro Tipo Descripción
texts[] array Array de objetos con los campos code y text
texts[].code string Código de etiqueta de la respuesta GET
texts[].text string|null Nuevo texto; null restablece al valor estándar
Error 400 blocked_by_tariff — la funcionalidad no está disponible en el plan actual.
POST /api/v3/service/quiz/{id}/default-texts
curl -X POST "https://api.surveyninja.io/api/v3/service/quiz/123/default-texts" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "texts": [ { "code": "btn_next", "text": "Forward" }, { "code": "btn_back", "text": null } ] }'