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

Довідник QrConfig

Тіло, яке ви надсилаєте методом POST на /api/qr/generate (і яке перевизначають шаблони та ендпоінт ШІ). Усе, що не задано, бере значення рушія за замовчуванням — крім content, обов’язкових полів немає.

Джерело істини: Models/QrModels.cs у бекенді .NET. Наведений нижче список охоплює всі публічні поля; щоб отримати повну схему з типами й допустимістю null, виконайте pnpm docs:schema у репозиторії фронтенду — команда заново згенерує цю сторінку з моделей C#.

Вміст

ПолеТипЗа замовчуваннямПримітки
contentstringобов’язковеURL або текст для кодування. Максимум 4296 символів.
eccLevelenumMКорекція помилок. L 7% · M 15% · Q 25% · H 30%. Підвищуйте до H, коли додаєте логотип.

Вивід

ПолеТипЗа замовчуваннямПримітки
fileFormatenumpngpng, jpg, svg, pdf, webp.
responseTypeenumbase64base64 повертає JSON; binary повертає сирий файл.
outputWidthint800Пікселі. До 4096.
outputHeightint—За замовчуванням дорівнює outputWidth. Перевизначайте, лише якщо потрібен неквадратний формат.
pixelsPerModuleint10Роздільна здатність на один модуль QR. Збільшує outputWidth, якщо його не задано.
qualityint90Якість JPG/WebP, 1–100.
transparentBackgroundboolfalseЛише PNG/SVG/WebP.

Кольори

ПолеТипЗа замовчуваннямПримітки
primaryColorhex#000000Колір модулів. #RGB, #RRGGBB, #RRGGBBAA.
secondaryColorhex—Використовується градієнтами та з’єднаними модулями.
backgroundColorhex#FFFFFFКолір тихої зони.
foregroundStyleenumsolidsolid, linearGradient, radialGradient, sweepGradient.
gradientTypeenumlinearСкорочений відповідник foregroundStyle.
gradientDirectionenumverticalvertical, horizontal, diagonal, diagonal-reverse.
gradientColorshex[]—2–6 опорних кольорів.
gradientStopsfloat[]рівномірноПозиції 0–1. Мають відповідати gradientColors.length.
gradientAngleint0Градуси; якщо задано, перевизначає gradientDirection.

Модулі (точки)

ПолеТипЗа замовчуваннямПримітки
qrShapeenumsquareЗовнішнє полотно: square, roundedsquare, circle.
qrShapeRadiusint0Радіус кутів, коли qrShape: roundedsquare.
moduleShapeenumsquareОдна з 27 форм. Див. Візерунки.
moduleScalefloat1.00.5–1.0. Зменшує кожен модуль для легшого вигляду.
moduleRotationfloat0Градуси.
moduleStyleenumsolidsolid, outline, striped.
modulePatternenumstandardstandard, checker, alternating.
moduleSizeVariationfloat00–0.3 додає органічну варіацію розміру кожного модуля.
connectedStyleenumnonenone, fluid, sharp, round. З’єднує сусідні модулі.

Шукачі (finder patterns) — 3 великі «очі»

ПолеТипЗа замовчуваннямПримітки
finderOuterShapeenumsquaresquare, roundedsquare, circle, diamond, octagon, target, double.
finderInnerShapeenumsquaresquare, roundedsquare, circle, diamond, star, dot.
finderOuterColorhex—За замовчуванням primaryColor.
finderInnerColorhex—За замовчуванням primaryColor.
finderStyleenumstandardstandard, flat, embossed.

Логотип

ПолеТипЗа замовчуваннямПримітки
logoUrlurl—Публічний URL, який завантажує сервер. PNG/JPG/GIF/BMP/WebP, ≤ 10 MB.
logoBase64string—Альтернатива: вбудований data URI.
logoFilemultipart—Двійкова частина, якщо використовується multipart/form-data.
logoShapeenumsquaresquare, circle, rounded.
logoSizePercentfloat185–30. Якщо ≥ 20, завжди підвищуйте eccLevel до H.
logoBorderWidthint0Товщина рамки в пікселях.
logoBorderColorhex#FFFFFF
logoShadowboolfalseТінь під логотипом.
logoBackgroundenumnonenone, solid, match-bg.
cleanBehindLogobooltrueПрибирає модулі під логотипом, щоб він не конфліктував із QR.

Текстові накладки

ПолеТипПримітки
centerTextobjectБанер через центр: { text, color?, backgroundColor?, height?, fontSize?, bold?, fontFamily? }.
circularTextobjectТекст, вигнутий навколо QR: { text, color?, fontSize?, position? }.
ctaTextstringПідпис під QR (наприклад, «SCAN ME»).
ctaTextStyleobject{ color?, fontSize?, fontFamily?, bold?, italic? }.

Рамки

ПолеТипПримітки
frameobject{ enabled, shape, color, width, padding, cornerRadius, fillColor? }. Форми: rectangle, speech-bubble, badge, shield, circle.

Фонове зображення

ПолеТипПримітки
backgroundImageUrl / backgroundImageBase64url/stringМ’яке зображення позаду QR.
backgroundImageBlendModeenumnormal, multiply, screen, overlay.
backgroundImageOpacityfloat0–1.
backgroundImageBlurintПікселі.
backgroundImageFitenumcover, contain, stretch.

Ефекти

ПолеТипПримітки
shadowobject{ color, blur, offsetX, offsetY }.
glowobject{ color, blur, intensity }.
embossobject{ depth, lightAngle, lightColor?, shadowColor? }.
noisefloat0–0.3 додає плівкове зерно.
blurintПікселі.
edgeFadefloat0–0.5 розчиняє краї полотна.
colorFilterenumnone, sepia, bw, cool, warm.

Лише для ШІ (тільки в /api/qr/ai/generate*)

ПолеТипПримітки
promptstringОпис звичайною мовою.
stylePresetenumminimal, artistic, corporate, playful, luxury, tech, nature.
creativityfloat0–1. Керує temperature LLM і сміливістю.
strictScannabilityboolЯкщо true, рушій автоматично виправляє ECC/контраст.
llmProviderenumЛише маркетплейс: openai, anthropic, google, mistral, cohere, groq.
llmApiKeystringЛише маркетплейс. Пересилається один раз, ніколи не журналюється.
llmModelstringНеобов’язкове; за замовчуванням дешева флагманська модель провайдера.

Порядок перевірки

  1. Коректність JSON → інакше INVALID_JSON.
  2. Типи й межі полів → VALIDATION_ERROR з details[].
  3. Контраст кольорів → LOW_CONTRAST, якщо < 4:1 і strictScannability: true.
  4. Розмір логотипа відносно ECC → LOGO_TOO_LARGE, якщо надто агресивно.
  5. Цикл декодування ISO 18004 → QR_GENERATION_FAILED, якщо відрендерений результат не вдається прочитати знову.

Повну таблицю кодів помилок див. у розділі Помилки.

Повторна генерація цієї сторінки

cd frontend
pnpm docs:schema   # reads ../Models/QrModels.cs and rewrites this file

Скрипт — tools/gen-docs-schema.ts. Будь-яке поле, додане до моделі C# з атрибутом [Description], автоматично з’являється тут.