Публичный API (v1)

REST API только для чтения: выгружайте свои квизы, лиды и аналитику в собственные инструменты. Аутентификация — API-ключами воркспейса.

Обновлено: Август 2026

Обзор#

API v1 позволяет читать данные вашего воркспейса: список квизов с публичными URL, лиды с фильтрами и пагинацией и сводную аналитику за текущий месяц. Именно его использует официальный WordPress-плагин. API только для чтения — квизы создаются и редактируются в конструкторе.

Базовый URL для всех эндпоинтов:

text
https://api.qwizoo.com/api

Аутентификация#

Каждый запрос должен содержать API-ключ в заголовке: X-Api-Key: qwz_…

  1. 1Откройте Настройки → API-ключи в дашборде (только владелец).
  2. 2Нажмите «Создать ключ», задайте имя и скопируйте ключ — он показывается один раз.
  3. 3Храните в секрет-менеджере. Для ротации создайте новый ключ и отзовите старый.
bash
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Список квизов

Возвращает все неудалённые квизы воркспейса (опубликованные первыми) вместе с тарифом и использованием квоты лидов.

json
{
  "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-параметры

ПараметрТипОписание
quizIdstringФильтр по ID квиза (внутренний id из /v1/quizzes)
statusstringnew | contacted | qualified | disqualified | converted
aiScorestringhot | warm | cold (AI-скоринг, Premium)
frozenbooleantrue | false — лиды сверх месячной квоты
fromISO dateСозданные не раньше этой даты
toISO dateСозданные не позже этой даты
limitnumber1–100, по умолчанию 50
offsetnumberСмещение пагинации, по умолчанию 0
bash
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"
json
{
  "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Сводная аналитика

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

bash
curl "https://api.qwizoo.com/api/v1/analytics?quizId=cmt2u9b0400a614a9svpjmm48" \
  -H "X-Api-Key: qwz_your_api_key_here"
json
{
  "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

js
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/quizzes120 / min
GET /v1/leads60 / min
GET /v1/analytics60 / 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-ключ в браузер или публичный репозиторий — он даёт доступ на чтение ко всем лидам воркспейса.