Публічний API (v1)
REST API лише для читання: витягуйте свої квізи, ліди та аналітику у власні інструменти. Автентифікація — API-ключами воркспейсу.
Оновлено: Серпень 2026
Огляд#
API v1 дає читати дані вашого воркспейсу: список квізів із публічними URL, ліди з фільтрами й пагінацією та зведену аналітику за поточний місяць. Саме його використовує офіційний WordPress-плагін. API лише для читання — квізи створюються й редагуються в конструкторі.
Базовий URL для всіх ендпоінтів:
https://api.qwizoo.com/apiАвтентифікація#
Кожен запит має містити API-ключ у заголовку: X-Api-Key: qwz_…
- 1Відкрийте Налаштування → API-ключі в дашборді (лише власник).
- 2Натисніть «Створити ключ», дайте назву й скопіюйте ключ — він показується один раз.
- 3Зберігайте у секрет-менеджері. Для ротації створіть новий ключ і відкличте старий.
curl https://api.qwizoo.com/api/v1/quizzes \
-H "X-Api-Key: qwz_your_api_key_here"У воркспейсі може бути до 10 активних ключів. Відкликаний ключ перестає працювати одразу. Ключі зберігаються хешованими — якщо загубили, створіть новий.
Формат відповіді
Успішні відповіді загорнуті в { success: true, data }. Помилки — { success: false, statusCode, code, message }.
Ендпоінти#
GET /v1/quizzes — Список квізів
Повертає всі невидалені квізи воркспейсу (опубліковані першими) разом із тарифом і використанням квоти лідів.
{
"success": true,
"data": {
"workspace": { "name": "Acme", "plan": "comfort", "leadsThisMonth": 42, "leadLimit": 300 },
"quizzes": [
{
"id": "cmt2u9b0400a614a9svpjmm48",
"title": "Which plan fits you?",
"slug": "which-plan",
"publicId": "iyXAFBVY",
"isPublished": true,
"embedUrl": "https://www.qwizoo.com/q/iyXAFBVY",
"allowAdvancedEmbed": true,
"updatedAt": "2026-08-21T11:21:14.852Z"
}
]
}
}GET /v1/leads — Список лідів
Повертає ліди від новіших до старіших із фільтрами та offset-пагінацією.
Query-параметри
| Параметр | Тип | Опис |
|---|---|---|
| quizId | string | Фільтр за ID квізу (внутрішній id з /v1/quizzes) |
| status | string | new | contacted | qualified | disqualified | converted |
| aiScore | string | hot | warm | cold (AI-скоринг, Premium) |
| frozen | boolean | true | false — ліди понад місячну квоту |
| from | ISO date | Створені не раніше цієї дати |
| to | ISO date | Створені не пізніше цієї дати |
| limit | number | 1–100, за замовчуванням 50 |
| offset | number | Зсув пагінації, за замовчуванням 0 |
curl "https://api.qwizoo.com/api/v1/leads?status=new&from=2026-08-01&limit=20" \
-H "X-Api-Key: qwz_your_api_key_here"{
"success": true,
"data": {
"total": 3,
"limit": 20,
"offset": 0,
"data": [
{
"id": "cmt2vlmlm00fs14a94lgjxcox",
"name": "Maria",
"email": "maria@example.com",
"phone": "+380671234567",
"status": "new",
"aiScore": "hot",
"frozen": false,
"followUpStatus": "sent",
"createdAt": "2026-08-21T11:38:27.370Z",
"quiz": { "id": "cmt2u9b0400a614a9svpjmm48", "title": "Which plan fits you?", "publicId": "iyXAFBVY" }
}
]
}
}GET /v1/analytics — Зведена аналітика
Перегляди, завершення, ліди й конверсії за поточний календарний місяць — по всьому воркспейсу або одному квізу.
curl "https://api.qwizoo.com/api/v1/analytics?quizId=cmt2u9b0400a614a9svpjmm48" \
-H "X-Api-Key: qwz_your_api_key_here"{
"success": true,
"data": {
"period": { "from": "2026-08-01T00:00:00.000Z", "to": "2026-08-21T15:00:00.000Z" },
"views": 42,
"completions": 3,
"leads": 3,
"frozenLeads": 0,
"conversionRate": 7.14,
"leadCaptureRate": 100
}
}JavaScript
const res = await fetch("https://api.qwizoo.com/api/v1/leads?limit=100", {
headers: { "X-Api-Key": process.env.QWIZOO_API_KEY },
});
const { data } = await res.json();
console.log(data.total, data.data[0]?.email);Ліміти запитів#
Ліміти діють на кожен API-ключ. При перевищенні повертається 429 TOO_MANY_REQUESTS — зачекайте й повторіть.
| Ендпоінт | Ліміт |
|---|---|
| GET /v1/quizzes | 120 / min |
| GET /v1/leads | 60 / min |
| GET /v1/analytics | 60 / min |
Коди помилок#
| Код | Значення |
|---|---|
| 401 UNAUTHORIZED | Відсутній, недійсний або відкликаний X-Api-Key |
| 429 TOO_MANY_REQUESTS | Перевищено ліміт запитів |
| 400 BAD_REQUEST | Некоректний query-параметр (наприклад, дата) |
Нотатки#
- Ліди понад місячну квоту повертаються з frozen: true; їхні контакти замасковані, доки ви не оновите тариф або не докупите пакет лідів.
- API читає ті самі дані, що й дашборд — жодних прихованих фільтрів.
- Потрібні write-ендпоінти (створити лід, запустити webhook)? Використовуйте сам квіз або Zapier/Make — і напишіть на hello@qwizoo.com, що саме хочете побудувати.
Ніколи не передавайте API-ключ у браузер чи публічний репозиторій — він дає доступ на читання до всіх лідів воркспейсу.
