Ответы
Получайте и обрабатывайте ответы пользователей
Работа с ответами и отчетами
API позволяет получать сводки опросов, детальные отчеты, фильтровать ответы и управлять ими. Вы можете скрывать ответы, добавлять теги и получать аналитику по опросам.
Быстрая навигация
Получить список ответов опроса
GET
/api/service/quiz/{id}/answers
Получает список ответов на конкретный опрос с возможностью фильтрации по дате и пагинации.
Параметры запроса
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| limit | integer | Нет | Количество ответов (по умолчанию: 20) |
| offset | integer | Нет | Смещение для пагинации (по умолчанию: 0) |
| date | date | Нет | Фильтр по дате (формат: Y-m-d) |
| is_complete | boolean | Нет | Фильтр по статусу завершения (true/false) |
| sort | string | Нет | Поле для сортировки (date_start, date_end) |
| order | string | Нет | Направление сортировки (desc, asc) |
Пример запроса
curl -X GET "https://api.webask.io/api/service/quiz/1234567890/answers?limit=50&offset=0&date=2024-01-15&is_complete=true&sort=date_start&order=desc" \
-H "Authorization: Bearer YOUR_TOKEN"
Ответ API
{
"success": true,
"data": {
"total": 150,
"limit": 50,
"offset": 0,
"answers": [
{
"id": "answer_1234567890",
"quiz_id": "1234567890",
"submitted_at": "2024-01-15T14:30:00Z",
"is_complete": true,
"ip_address": "192.168.1.1",
"user_agent": "Mozilla/5.0...",
"answers": [
{
"question_id": "q1",
"question_text": "Как вы оцениваете наш сервис?",
"answer": "Отлично",
"answer_type": "single_choice"
}
]
}
]
}
}
Получить сводку опроса
GET
/api/service/quiz/{id}/summary
Получает сводку по опросу с основной статистикой.
Пример запроса
curl -X GET https://api.webask.io/api/service/quiz/1234567890/summary \
-H "Authorization: Bearer YOUR_TOKEN"
Ответ API
{
"status": true,
"summary": {
"all_visited": 150,
"filled_completely": 128,
"started_not_finished": 22,
"completion_rate": 85,
"geography_visits": [
{
"count": 45,
"country": "Россия"
}
],
"visits_devices": [
{
"device": "desktop",
"percent": 65.2
}
],
"all_average_transit_time": "04:18"
}
}
Получить отчет опроса
POST
/api/service/quiz/{id}/report
Получает отчет по ответам на конкретный опрос с возможностью фильтрации.
Параметры запроса
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| is_complete | boolean | Нет | Фильтр по статусу завершения (true/false) |
| dateFrom | string | Нет | Дата начала фильтрации (формат: dd.mm.yyyy) |
| dateTo | string | Нет | Дата окончания фильтрации (формат: dd.mm.yyyy) |
| filled | string | Нет | Статус заполнения: "completed", "incomplete" |
| widgets | array | Нет | Массив фильтров по вопросам с параметрами: widget_uuid, type, operator, value |
| scoreOperator | string | Нет | Оператор для фильтрации по баллам: "greater", "less", "equal" |
| scoreValue | integer | Нет | Значение баллов для фильтрации |
| answerCorrect | string | Нет | Фильтр по правильности ответов: "correct", "incorrect" |
| extraFields | array | Нет | Массив дополнительных полей с параметрами: name, value |
| ip | string | Нет | IP-адрес для фильтрации |
| country | array | Нет | Массив стран для фильтрации |
| browser | array | Нет | Массив браузеров для фильтрации |
| device | array | Нет | Массив устройств для фильтрации: "desktop", "mobile", "tablet" |
| tags | array | Нет | Массив тегов для фильтрации |
Пример запроса
curl -X POST https://api.webask.io/api/service/quiz/1234567890/report \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"is_complete": true,
"dateFrom": "01.01.2024",
"dateTo": "31.01.2024",
"filled": "completed",
"widgets": [
{
"widget_uuid": "550e8400-e29b-41d4-a716-446655440000",
"type": "choiceSingle",
"operator": "equal",
"value": ["option-uuid-1", "option-uuid-2"]
}
],
"scoreOperator": "greater",
"scoreValue": 80,
"answerCorrect": "correct",
"extraFields": [
{
"name": "field_name",
"value": "field_value"
}
],
"ip": "192.168.1.1",
"country": ["Россия", "Украина"],
"browser": ["Chrome", "Firefox"],
"device": ["desktop", "mobile"],
"tags": ["важный", "требует внимания"]
}'
Ответ API
{
"status": true,
"data": {
"report": [
{
"widget_id": "550e8400-e29b-41d4-a716-446655440000",
"title": "Как вы оцениваете наш сервис?",
"type": "rating",
"count": 150,
"average": 4.2,
"avg_filling_time": 12.5,
"answer_count": 150,
"rowId": "row-123",
"options": "{\"min\":1,\"max\":5,\"step\":1}",
"filtered_data": "{\"1\":5,\"2\":10,\"3\":25,\"4\":60,\"5\":50}"
}
],
"answer_total_count": 150,
"correct_answers": false,
"answer_moderate_count": 5,
"filters": [],
"filters_count": 0,
"answer_hide_count": 3,
"answer_hide_amount": 150.00
}
}
Получить фильтры отчетов
GET
/api/service/quiz/{id}/filters/report
Получает доступные фильтры для отчетов.
Пример запроса
curl -X GET https://api.webask.io/api/service/quiz/1234567890/filters/report \
-H "Authorization: Bearer YOUR_TOKEN"
Ответ API
{
"status": true,
"data": {
"dateFrom": "01.01.2024",
"dateTo": "31.01.2024",
"filled": "completed",
"widgets": [
{
"widget_uuid": "550e8400-e29b-41d4-a716-446655440000",
"type": "choiceSingle",
"operator": "equal",
"value": ["option-uuid-1", "option-uuid-2"]
}
]
}
}
Скрыть/показать ответ
POST
/api/service/quiz/{id}/answer/{answer_id}/hide
Скрывает или показывает конкретный ответ.
Параметры запроса
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| is_hide | boolean | Да | true - скрыть ответ, false - показать ответ |
Пример запроса
curl -X POST https://api.webask.io/api/service/quiz/1234567890/answer/answer_123/hide \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"is_hide": true
}'
Ответ API
{
"status": true,
"is_hide": true
}