Códigos promocionales

Gestione listas de códigos promocionales y vincúlelos a encuestas

Códigos promocionales de encuesta

El módulo de códigos promocionales le permite restringir el acceso a una encuesta, realizar promociones y rastrear conversiones mediante listas de códigos vinculadas a encuestas específicas.

Prefijo base para la mayoría de los endpoints: /api/v3/service/quiz/{id}/promo y /api/v3/service/promo.

Descargue la versión en markdown de la sección «Códigos Promocionales» para usar en ChatGPT / otros LLMs:

Todos los endpoints

HTTP Endpoint Propósito
GET/quiz/{id}/promo/listObtener listas de códigos promocionales del espacio de trabajo
POST/quiz/{id}/promo/listCrear una lista de códigos promocionales
POST/quiz/{id}/promo/list/{list_id}Renombrar una lista
DELETE/quiz/{id}/promo/list/{list_id}Eliminar una lista de códigos promocionales
GET/promo/codesObtener códigos de la lista seleccionada (global)
POST/promo/codesAgregar códigos a una lista
DELETE/promo/codes/{code_id}Eliminar un código
POST/promo/listCrear una lista (vía /promo/list)
POST/promo/import-fileImportar códigos desde archivo
POST/promo/attach/{list_id}Vincular una lista a encuestas
POST/promo/detachDesvincular una lista de encuestas
POST/quiz/{id}/promo/syncSincronizar vínculos de lista
GET/quiz/{id}/promo/codes/quizCódigos de la lista vinculada a una encuesta
GET/quiz/{id}/promo/pinnedEncuestas para la pantalla de vinculación

Obtener listas de códigos promocionales GET /api/v3/service/quiz/{id}/promo/list

Devuelve una lista paginada de listas de códigos promocionales del espacio de trabajo con el número de códigos y encuestas vinculadas.

Parámetro Tipo Predeterminado Descripción
searchstringBuscar por nombre de lista
limitinteger20Cantidad (máx. 500)
offsetinteger0Desplazamiento
sortstringupdated_atid, updated_at, name
orderstringdescasc or desc
GET/api/v3/service/quiz/123/promo/list
curl -X GET "https://api.surveyninja.io/api/v3/service/quiz/123/promo/list?limit=20&offset=0" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Accept: application/json"

Crear una lista de códigos promocionales POST /api/v3/service/promo/list

Crea una nueva lista con un conjunto de códigos (hasta 1000 a la vez).

Parámetro Req. Descripción
nameNombre de la lista
codes[]Arreglo de cadenas de códigos promocionales (hasta 1000)
POST/api/v3/service/promo/list
curl -X POST "https://api.surveyninja.io/api/v3/service/promo/list" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "name": "January Sale", "codes": ["PROMO001", "PROMO002", "PROMO003"] }'

Renombrar una lista POST /api/v3/service/quiz/{id}/promo/list/{list_id}

Parámetro Req. Descripción
nameNuevo nombre de la lista
POST/api/v3/service/quiz/{id}/promo/list/{list_id}
curl -X POST "https://api.surveyninja.io/api/v3/service/quiz/123/promo/list/45" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "name": "February Sale" }'

Eliminar una lista DELETE /api/v3/service/quiz/{id}/promo/list/{list_id}

Elimina una lista de códigos promocionales junto con todos sus códigos. No se requiere cuerpo de solicitud.

DELETE/api/v3/service/quiz/{id}/promo/list/{list_id}
curl -X DELETE "https://api.surveyninja.io/api/v3/service/quiz/123/promo/list/45" \ -H "Authorization: Bearer YOUR_API_TOKEN"

Obtener códigos de la lista GET /api/v3/service/promo/codes

Devuelve los códigos de la lista especificada con filtrado y paginación. La respuesta incluye los campos stats y quizzes[].

Parámetro Req. Predeterminado Descripción
list_idID de la lista de códigos promocionales
searchNoBuscar por código
usedNo1 — usados, 0 — sin usar
limitNo20Cantidad (máx. 500)
offsetNo0Desplazamiento
sortNoidid, updated_at, name
orderNodescasc or desc
GET/api/v3/service/promo/codes
curl -X GET "https://api.surveyninja.io/api/v3/service/promo/codes?list_id=45&limit=20" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Accept: application/json"

Agregar códigos a una lista POST /api/v3/service/promo/codes

Parámetro Req. Descripción
list_idID de la lista
codes[]Arreglo de cadenas de códigos promocionales
POST/api/v3/service/promo/codes
curl -X POST "https://api.surveyninja.io/api/v3/service/promo/codes" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "list_id": 45, "codes": ["NEW001", "NEW002"] }'

Eliminar un código DELETE /api/v3/service/promo/codes/{code_id}

Elimina un código promocional individual de la lista. No se requiere cuerpo de solicitud.

DELETE/api/v3/service/promo/codes/{code_id}
curl -X DELETE "https://api.surveyninja.io/api/v3/service/promo/codes/789" \ -H "Authorization: Bearer YOUR_API_TOKEN"

Importar códigos desde archivo POST /api/v3/service/promo/import-file

Sube códigos promocionales desde un archivo. Formato de la solicitud: multipart/form-data.

Parámetro Req. Descripción
fileArchivo en formato txt, csv, xlsx, xls. Máximo 1 MB

Respuesta: {"imported_count": 50, "codes": ["CODE1", ...]}

POST/api/v3/service/promo/import-file
curl -X POST "https://api.surveyninja.io/api/v3/service/promo/import-file" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -F "file=@/path/to/codes.csv"

Vincular / desvincular una lista de encuestas

Gestione la vinculación de una lista de códigos promocionales a múltiples encuestas a la vez.

Parámetro Req. Descripción
quize_ids[]Arreglo de IDs de encuestas
POST/api/v3/service/promo/attach/{list_id}
curl -X POST "https://api.surveyninja.io/api/v3/service/promo/attach/45" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "quize_ids": [123, 456] }'
POST/api/v3/service/promo/detach
curl -X POST "https://api.surveyninja.io/api/v3/service/promo/detach" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "quize_ids": [123] }'

Sincronizar vínculos POST /api/v3/service/quiz/{id}/promo/sync

Actualiza atómicamente los vínculos de la lista: vincula las encuestas especificadas y desvincula todas las demás. Devuelve listas de cambios.

Parámetro Req. Descripción
list_idID de la lista de códigos promocionales
quize_ids[]Lista final de IDs de encuestas a vincular
POST/api/v3/service/quiz/{id}/promo/sync
curl -X POST "https://api.surveyninja.io/api/v3/service/quiz/123/promo/sync" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "list_id": 45, "quize_ids": [123, 456, 789] }'

Ejemplo de respuesta:

{ "attached": [456, 789], "detached": [100, 101] }

Códigos de la lista vinculada GET /api/v3/service/quiz/{id}/promo/codes/quiz

Devuelve los códigos promocionales de la lista vinculada a la encuesta especificada. Similar a GET /promo/codes, pero sin necesidad de especificar list_id.

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

Encuestas para la pantalla de vinculación GET /api/v3/service/quiz/{id}/promo/pinned

Devuelve una lista de encuestas con un indicador que muestra si la lista de códigos promocionales especificada está vinculada a ellas.

Parámetro Req. Predeterminado Descripción
list_idID de la lista de códigos promocionales
searchNoBuscar por nombre de encuesta
limitNo20Cantidad
offsetNo0Desplazamiento

Respuesta: {"total": N, "data": [{"id": 123, "name": "My Survey", "attach": true, "current": false}, ...]}

GET/api/v3/service/quiz/{id}/promo/pinned
curl -X GET "https://api.surveyninja.io/api/v3/service/quiz/123/promo/pinned?list_id=45&limit=20" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Accept: application/json"