REST API

REST API для интеграции QR в ваш продукт

Создавайте, обновляйте и анализируйте QR-коды через REST. Bearer-токен, JSON, webhooks. SDK для Node.js, Python, PHP скоро.

Live

6 возможностей API

Полный CRUD над QR-кодами, ссылками и мини-сайтами. Webhooks, статистика, управление доменами.

Создание QR-кода

POST /qr-codes — на вход тип контента и параметры дизайна, на выход URL картинки в PNG/SVG/PDF и ID для статистики.

Массовая генерация

До 1 000 QR-кодов одним вызовом /qr-codes/batch — пайплайн прогоняет очередь и возвращает ZIP со всеми файлами.

Webhook на скан

Подпишите URL — будем слать HMAC-SHA256 подписанные POST на каждый скан или клик: время, гео, устройство, реферер.

Аналитика и статистика

GET /qr-codes/:id/stats — агрегаты по дням, странам, устройствам и UTM. /events — сырой поток сканов с пагинацией.

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

POST /domains — подключите свой домен через CNAME. Мы выпустим Let's Encrypt сертификат и пропишем редирект.

Bearer-аутентификация

Токены формата qrcw_<24-символьный nonce>. Создание и отзыв в кабинете. Хранятся в БД как SHA-256 — увидите ключ один раз.

Пример запроса

Создание динамического QR одним curl

Отправьте POST на /qr-codes — получите готовый динамический QR-код, короткую ссылку и URL для скачивания PNG/SVG/PDF.

ЗапросPOST
curl -X POST https://qrcw-app.cacatoo.ru/api/v1/qr-codes \
  -H "Authorization: Bearer qrcw_..." \
  -H "Content-Type: application/json" \
  -d '{
    "type": "URL",
    "content": "https://example.com",
    "dynamic": true,
    "design": {
      "foreground": "#7c3aed",
      "background": "#ffffff",
      "logo": "https://cdn.example.com/logo.png"
    }
  }'
Ответ201 Created
{
  "id": "qr_8FzNb6Vk9Yp2X7Lq",
  "short_url": "https://qrcw.cacatoo.ru/r/abc123",
  "type": "URL",
  "dynamic": true,
  "downloads": {
    "png": "https://cdn.qrcw.cacatoo.ru/qr/qr_8Fz.../qr.png",
    "svg": "https://cdn.qrcw.cacatoo.ru/qr/qr_8Fz.../qr.svg",
    "pdf": "https://cdn.qrcw.cacatoo.ru/qr/qr_8Fz.../qr.pdf"
  },
  "created_at": "2026-05-14T10:23:45Z"
}

Полная документация — OpenAPI 3.1 спецификация на https://qrcw-app.cacatoo.ru/api/v1/openapi.json. Интерактивный Swagger UI и Postman-коллекция — в кабинете в разделе «API».

Кому нужен наш API

Маркетплейсы и e-commerce

Генерируйте уникальный QR-код для каждой карточки товара. На упаковке — QR ведёт на инструкцию, сертификат, страницу сопутствующих товаров. Меняйте URL без перепечатки этикетки.

Event-платформы и сервисы

Каждому участнику свой динамический QR — на бейдже, билете, SMS-приглашении. После события QR можно перенаправить на фотогалерею мероприятия одним обновлением.

Внутренние корпоративные системы

Бирка на оборудование с QR на страницу с инструкцией, журналом обслуживания, контактом ответственного. CMMS-системы интегрируют наш API за пару дней.

SaaS-агрегаторы

Встраивайте QR-генерацию в свой продукт как white-label фичу. Через Enterprise-тариф — без бренда QRcw, на вашем домене, отдельная биллинг-аналитика по вашим клиентам.

Частые вопросы

Где взять API-ключ?

Зарегистрируйтесь, в кабинете откройте раздел «API» — кнопка «Создать ключ». Ключ показывается ОДИН раз, скопируйте и сохраните. В БД хранится только SHA-256 хэш.

Какой лимит запросов?

Бесплатный тариф — 60 запросов в минуту и 1 000 в сутки. Pro — 600 req/min, Enterprise — без лимита. Лимит rate limiting возвращается в заголовках X-RateLimit-Remaining и X-RateLimit-Reset.

Можно ли тестировать API без оплаты?

Да. На бесплатном тарифе доступны все endpoints — отличие только в лимитах и количестве созданных объектов (50 QR-кодов, 100 коротких ссылок). Песочница не требует оплаты.

Поддерживаются ли webhooks?

Поддерживаются. На каждый скан/клик мы шлём POST с JSON-телом на ваш URL и заголовком X-Webhook-Signature (HMAC-SHA256 от тела + ваш secret). Retry с экспоненциальной задержкой до 24 часов.

Будет ли SDK для Node.js, Python, PHP?

В работе. Открытая OpenAPI 3.1 спецификация уже опубликована — генерируйте клиент из неё на любом языке (openapi-generator или Speakeasy). Официальные SDK: Node.js — Q3 2026, Python — Q3 2026, PHP — Q4 2026.

Получите тестовый API-ключ за 30 секунд

Бесплатный тариф включает 60 запросов в минуту и до 50 QR-кодов. Документация открыта без регистрации.