Опросы

Управляйте опросами, работайте со скрытыми переменными и настройками

Обзор

API позволяет получать список опросов, управлять ими, работать с ответами и скрытыми переменными. Все эндпоинты требуют авторизации через Bearer токен.

Получить список опросов

GET /api/service/quiz

Получает список всех ваших опросов.

Пример запроса
curl -X GET https://api.webask.io/api/service/quiz \
  -H "Authorization: Bearer YOUR_TOKEN"
Ответ API
[
  {
    "id": "ID опроса",
    "name": "название",
    "url_shared": "адрес опроса",
    "is_published": true,
    "folder": {
      "id": 384,
      "workspace_id": 384,
      "user_id": 12,
      "name": "Мои опросы",
      "pos": 1,
      "is_default": true,
      "created_at": "2022-04-01T08:37:14.000000Z",
      "updated_at": "2022-04-27T15:46:27.000000Z",
      "deleted_at": null
    }
  }
]

Получить данные опроса

GET /api/service/quiz/{id}

Получает детальную информацию о конкретном опросе.

Пример запроса
curl -X GET https://api.webask.io/api/service/quiz/1234567890 \
  -H "Authorization: Bearer YOUR_TOKEN"
Ответ API
{
  "id": "ID опроса",
  "answer_count": "количество ответов",
  "name": "название",
  "url_shared": "адрес опроса",
  "widgets": "виджет",
  "hidden_options": "скрытая переменная",
  "folder": {
    "id": 384,
    "workspace_id": 384,
    "user_id": 12,
    "name": "Мои опросы",
    "pos": 1,
    "is_default": true,
    "created_at": "2022-04-01T08:37:14.000000Z",
    "updated_at": "2022-04-27T15:46:27.000000Z",
    "deleted_at": null
  }
}

Скрытые переменные

Получить список скрытых переменных

GET /api/service/quiz/{id}/hidden/options

Получает список скрытых переменных для опроса.

Пример запроса
curl -X GET https://api.webask.io/api/service/quiz/1234567890/hidden/options \
  -H "Authorization: Bearer YOUR_TOKEN"

Создать скрытую переменную

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

Создает новую скрытую переменную для опроса.

Параметры запроса

Параметр Тип Обязательный Описание
name string Да Название скрытой переменной
value string Да Значение скрытой переменной
Пример запроса
curl -X POST https://api.webask.io/api/service/quiz/1234567890/hidden/options/create \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "productType",
    "value": "clientShop"
  }'

Обновить скрытую переменную

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

Обновляет существующую скрытую переменную.

Параметры запроса

Параметр Тип Обязательный Описание
name string Да Новое название скрытой переменной
value string Да Новое значение скрытой переменной
Пример запроса
curl -X POST https://api.webask.io/api/service/quiz/1234567890/hidden/options/update/123 \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "productType",
    "value": "updatedValue"
  }'

Удалить скрытую переменную

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

Удаляет скрытую переменную.

Пример запроса
curl -X POST https://api.webask.io/api/service/quiz/1234567890/hidden/options/delete/123 \
  -H "Authorization: Bearer YOUR_TOKEN"

Скрытые переменные в вопросах

Получить скрытую переменную в вопросе

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

Получает список скрытых переменных для конкретного вопроса.

Пример запроса
curl -X GET https://api.webask.io/api/service/quiz/1234567890/widgets/hidden/options \
  -H "Authorization: Bearer YOUR_TOKEN"

Отправить скрытую переменную в вопросе

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

Создает новую скрытую переменную для конкретного вопроса.

Параметр Тип Описание Обязательный
name string Название скрытой переменной Да
value string Значение скрытой переменной Да
widget_uuid string UUID вопроса Да
Пример запроса
curl -X POST https://api.webask.io/api/service/quiz/1234567890/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"
  }'

Обновить скрытую переменную в вопросе

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

Обновляет существующую скрытую переменную в вопросе.

Параметр Тип Описание Обязательный
name string Новое название скрытой переменной Да
value string Новое значение скрытой переменной Да
Пример запроса
curl -X POST https://api.webask.io/api/service/quiz/1234567890/widgets/hidden/options/update/123 \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "productType",
    "value": "clientShop"
  }'

Удалить скрытую переменную в вопросе

POST /api/service/quiz/{id}/widgets/hidden/delete/{opt_id}

Удаляет скрытую переменную из вопроса.

Пример запроса
curl -X POST https://api.webask.io/api/service/quiz/1234567890/widgets/hidden/delete/123 \
  -H "Authorization: Bearer YOUR_TOKEN"

Управление опросами

Добавление заметки к опросу

POST /api/service/quiz/{id}/note

Добавляет заметку к опросу (максимум 1000 символов).

Параметры запроса

Параметр Тип Обязательный Описание
notes string Да Текст заметки (максимум 1000 символов)
Пример запроса
curl -X POST https://api.webask.io/api/service/quiz/1234567890/note \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "notes": "Текст заметки (максимум 1000 символов)"
  }'
Ответ API
{
  "status": true,
  "notes": "Текст заметки"
}

Дублирование опроса

POST /api/service/quiz/{id}/duplicate

Дублирует опрос с возможностью указать новое название.

Параметры запроса

Параметр Тип Обязательный Описание
name string Нет Название копии (опционально)
Пример запроса
curl -X POST https://api.webask.io/api/service/quiz/1234567890/duplicate \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Название копии (опционально)"
  }'
Ответ API
{
  "status": true,
  "quiz": {
    "id": 123,
    "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": "Моя папка"
    }
  }
}

Переименование опроса

POST /api/service/quiz/{id}/rename

Переименовывает опрос.

Параметры запроса

Параметр Тип Обязательный Описание
name string Да Новое название опроса
Пример запроса
curl -X POST https://api.webask.io/api/service/quiz/1234567890/rename \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Новое название опроса"
  }'
Ответ API
{
  "status": true,
  "name": "Новое название опроса"
}

Создание шаблона из опроса

POST /api/service/quiz/{id}/template

Превращает опрос в шаблон для повторного использования.

Пример запроса
curl -X POST https://api.webask.io/api/service/quiz/1234567890/template \
  -H "Authorization: Bearer YOUR_TOKEN"
Ответ API
{
  "status": true
}

Архивирование опроса

POST /api/service/quiz/{id}/archive

Архивирует или разархивирует опрос.

Параметры запроса

Параметр Тип Обязательный Описание
archive boolean Да true - архивировать, false - разархивировать
Пример запроса
curl -X POST https://api.webask.io/api/service/quiz/1234567890/archive \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "archive": true
  }'
Ответ API
{
  "status": true,
  "archive_at": "2024-01-01T12:00:00Z",
  "is_archived": true
}

Перемещение опроса

POST /api/service/quiz/{id}/move

Перемещает опрос в другую папку.

Параметры запроса

Параметр Тип Обязательный Описание
folder_id integer Да ID папки для перемещения
Пример запроса
curl -X POST https://api.webask.io/api/service/quiz/1234567890/move \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "folder_id": 5
  }'
Ответ API
{
  "status": true,
  "folder_id": 5,
  "folder": {
    "id": 5,
    "name": "Новая папка"
  }
}

Удаление опроса

DELETE /api/service/quiz/{id}

Удаляет опрос и все связанные с ним данные.

Пример запроса
curl -X DELETE https://api.webask.io/api/service/quiz/1234567890 \
  -H "Authorization: Bearer YOUR_TOKEN"
Ответ API
{
  "status": true
}

Архивные опросы

GET /api/service/quiz/archived

Получает список всех архивных опросов.

Пример запроса
curl -X GET https://api.webask.io/api/service/quiz/archived \
  -H "Authorization: Bearer YOUR_TOKEN"
Ответ API
[
  {
    "id": 123,
    "name": "Архивный опрос",
    "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": "Моя папка"
    }
  }
]