Перейти до вмісту

Ключі API користувачів

Якщо ви хочете автентифікуватися власним ключем, виданим на /dashboard/keys, а не секретом проксі маркетплейсу RapidAPI, ця сторінка для вас. Той самий рушій, інші двері.

Клієнти маркетплейсу мають і далі використовувати X-RapidAPI-Proxy-Secret для api.qr-branding.com. Шлюз споживчих ключів працює на qr-branding.com/api/v1/* і ніяк не зачіпає канал маркетплейсу.

Базовий URL

https://qr-branding.com/api/v1

Автентифікація

Надсилайте свій ключ у кожному запиті:

X-API-Key: qrb_…

Ключ перевіряється на периферії (CF Pages) за хешем у нашій базі даних — сам рушій ніколи не бачить ваш ключ у відкритому вигляді.

Якщо ключ відсутній, має неправильний формат або відкликаний, ви отримаєте:

{ "success": false, "error": "Key not recognised, revoked, or malformed.", "code": "invalid_api_key" }

(Код статусу 401.)

Вимога: план Studio

API — це функція Studio. Кожен запит, а не лише запити ШІ, потребує активного пакета Studio (купленого менше ніж 12 місяців тому й не відшкодованого). Якщо ключ дійсний, але у вашому обліковому записі немає Studio, шлюз відповідає 402 з посиланнями на цю сторінку та на ціни:

{ "success": false, "error": "The QR Branding API is included with Studio. Buy a Studio pack at https://qr-branding.com/pricing to use your key.", "code": "studio_required", "docs": "https://qr-branding.com/docs/api/public-keys", "pricing": "https://qr-branding.com/pricing" }

Генерації ШІ на наших ключах LLM (POST /api/v1/qr/ai/generate/server) додатково списують один кредит ШІ з вашого пакета Studio; коли вони закінчаться, ви отримаєте 402 out_of_api_credits з тими самими посиланнями. Решта викликів кредитів не витрачає.

Доступні ендпоінти

Шлюз перенаправляє до рушія всі шляхи під /api/v1/*. Отже:

Публічний URLПеренаправляє на
POST /api/v1/qr/generatePOST /api/qr/generate
POST /api/v1/qr/ai/generate/serverPOST /api/qr/ai/generate/server
GET /api/v1/qr/templatesGET /api/qr/templates
POST /api/v1/qr/templates/:idPOST /api/qr/templates/:id
POST /api/v1/qr/content/:typeПомічники для вмісту (wifi · vcard · geo)
GET /api/v1/qr/ai/providersGET /api/qr/ai/providers
GET /api/v1/pingGET /api/ping

Тіла запитів, структури відповідей і коди помилок ідентичні ендпоінтам рушія — ваші закладки на сторінки документації лишаються чинними.

Швидка перевірка

curl -X POST https://qr-branding.com/api/v1/qr/generate \
  -H "X-API-Key: qrb_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{ "content": "https://yourbrand.com", "primaryColor": "#dcc28a", "backgroundColor": "#0a0b0e", "eccLevel": "H" }' \
  --output qr.png --silent --write-out "%{http_code}\n"

Якщо ви отримали 200 і на диску з’явився qr.png, усе готово.

Обмеження

Користувацькі ключі мають ліміти на клієнта споживчого каналу:

Тип викликуЗа хвилину
Загальні120
Генерація (/qr/generate, /qr/templates/:id)60
ШІ (/qr/ai/generate/server)30

Якщо ви досягнете ліміту, отримаєте 429 із заголовком Retry-After. Подробиці та глобальні обмеження — в Огляді API.

Завантаження multipart

Шлюз приймає лише JSON. Для двійкових файлів логотипа / фону використовуйте поля base64 (logoBase64, backgroundImageBase64) замість multipart/form-data. Можливо, у v2 ми додамо нативну підтримку multipart.

Ротація

Згенеруйте новий ключ, розгорніть його, а потім відкличте старий. Ключ у відкритому вигляді показується лише один раз — збережіть його в менеджері секретів.

# in your CI / secrets tool
QR_BRANDING_KEY=qrb_new_key_here

Коли старий ключ отримує від шлюзу 401 invalid_api_key, це означає, що всі ваші сервіси вже перейшли на новий ключ і ротацію можна вважати успішною.