Промокоды опроса

Управляйте списками промокодов и их привязкой к опросам

Промокоды опроса

Модуль промокодов позволяет ограничивать доступ к опросу, проводить акции и считать конверсии за счёт списков кодов, привязанных к конкретным опросам.

Базовый префикс для большинства эндпоинтов: /api/v3/service/quiz/{id}/promo и /api/v3/service/promo.

Скачайте markdown‑версию раздела «Промокоды» для использования в ChatGPT / других LLM:

Все эндпоинты

HTTP Endpoint Назначение
GET/quiz/{id}/promo/listПолучить списки промокодов воркспейса
POST/quiz/{id}/promo/listСоздать список промокодов
POST/quiz/{id}/promo/list/{list_id}Переименовать список
DELETE/quiz/{id}/promo/list/{list_id}Удалить список промокодов
GET/promo/codesПолучить коды выбранного списка (глобально)
POST/promo/codesДобавить коды в список
DELETE/promo/codes/{code_id}Удалить код
POST/promo/listСоздать список (через /promo/list)
POST/promo/import-fileИмпорт кодов из файла
POST/promo/attach/{list_id}Привязать список к опросам
POST/promo/detachОтвязать список от опросов
POST/quiz/{id}/promo/syncСинхронизировать привязки списка
GET/quiz/{id}/promo/codes/quizКоды привязанного к опросу списка
GET/quiz/{id}/promo/pinnedОпросы для экрана привязки

Получить списки промокодов GET /api/v3/service/quiz/{id}/promo/list

Возвращает постраничный список промокодов воркспейса с количеством кодов и привязанных опросов.

Параметр Тип По умолч. Описание
searchstringПоиск по названию списка
limitinteger20Количество (макс. 500)
offsetinteger0Смещение
sortstringupdated_atid, updated_at, name
orderstringdescasc или desc
GET/api/v3/service/quiz/123/promo/list
curl -X GET "https://api.webask.io/api/v3/service/quiz/123/promo/list?limit=20&offset=0" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"

Создать список промокодов POST /api/v3/service/promo/list

Создаёт новый список с набором кодов (до 1000 за раз).

Параметр Обяз. Описание
nameдаНазвание списка
codes[]даМассив строк с промокодами (до 1000)
POST/api/v3/service/promo/list
curl -X POST "https://api.webask.io/api/v3/service/promo/list" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Акция январь", "codes": ["PROMO001", "PROMO002", "PROMO003"] }'

Переименовать список POST /api/v3/service/quiz/{id}/promo/list/{list_id}

Параметр Обяз. Описание
nameдаНовое название списка
POST/api/v3/service/quiz/{id}/promo/list/{list_id}
curl -X POST "https://api.webask.io/api/v3/service/quiz/123/promo/list/45" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Акция февраль" }'

Удалить список DELETE /api/v3/service/quiz/{id}/promo/list/{list_id}

Удаляет список промокодов вместе со всеми кодами. Тело не требуется.

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

Получить коды списка GET /api/v3/service/promo/codes

Возвращает коды указанного списка с фильтрацией и пагинацией. Ответ включает поля stats и quizzes[].

Параметр Обяз. По умолч. Описание
list_idдаID списка промокодов
searchнетПоиск по коду
usedнет1 — использованные, 0 — неиспользованные
limitнет20Количество (макс. 500)
offsetнет0Смещение
sortнетidid, updated_at, name
orderнетdescasc или desc
GET/api/v3/service/promo/codes
curl -X GET "https://api.webask.io/api/v3/service/promo/codes?list_id=45&limit=20" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"

Добавить коды в список POST /api/v3/service/promo/codes

Параметр Обяз. Описание
list_idдаID списка
codes[]даМассив строк с промокодами
POST/api/v3/service/promo/codes
curl -X POST "https://api.webask.io/api/v3/service/promo/codes" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "list_id": 45, "codes": ["NEW001", "NEW002"] }'

Удалить код DELETE /api/v3/service/promo/codes/{code_id}

Удаляет отдельный промокод из списка. Тело не требуется.

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

Импорт кодов из файла POST /api/v3/service/promo/import-file

Загружает промокоды из файла. Формат запроса: multipart/form-data.

Параметр Обяз. Описание
fileдаФайл в формате txt, csv, xlsx, xls. Максимум 1 MB

Ответ: {"imported_count": 50, "codes": ["CODE1", ...]}

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

Привязать / отвязать список к опросам

Управление привязкой списка промокодов к нескольким опросам одновременно.

Параметр Обяз. Описание
quize_ids[]даМассив ID опросов
POST/api/v3/service/promo/attach/{list_id}
curl -X POST "https://api.webask.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.webask.io/api/v3/service/promo/detach" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "quize_ids": [123] }'

Синхронизировать привязки POST /api/v3/service/quiz/{id}/promo/sync

Атомарно обновляет привязки списка: привязывает указанные опросы и отвязывает все остальные. Возвращает списки изменений.

Параметр Обяз. Описание
list_idдаID списка промокодов
quize_ids[]даИтоговый список ID опросов для привязки
POST/api/v3/service/quiz/{id}/promo/sync
curl -X POST "https://api.webask.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] }'

Пример ответа:

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

Коды привязанного списка GET /api/v3/service/quiz/{id}/promo/codes/quiz

Возвращает промокоды из списка, привязанного к указанному опросу. Аналог GET /promo/codes, но без необходимости указывать list_id.

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

Опросы для экрана привязки GET /api/v3/service/quiz/{id}/promo/pinned

Возвращает список опросов с отметкой о том, привязан ли к ним указанный список промокодов.

Параметр Обяз. По умолч. Описание
list_idдаID списка промокодов
searchнетПоиск по названию опроса
limitнет20Количество
offsetнет0Смещение

Ответ: {"total": N, "data": [{"id": 123, "name": "Мой опрос", "attach": true, "current": false}, ...]}

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