Vai al contenuto

Riferimento QrConfig

Il corpo che invii con POST a /api/qr/generate (e che i modelli e l'endpoint IA sovrascrivono). Tutto ciò che non imposti prende il valore predefinito del motore: l'unico campo obbligatorio è content.

Fonte di verità: Models/QrModels.cs nel backend .NET. L'elenco qui sotto copre tutti i campi pubblici; per un dump completo dello schema con tipi e nullabilità esegui pnpm docs:schema nel repository del frontend, che rigenera questa pagina dai modelli C#.

Contenuto

CampoTipoPredefinitoNote
contentstringobbligatorioURL o testo da codificare. Massimo 4296 caratteri.
eccLevelenumMCorrezione degli errori. L 7% · M 15% · Q 25% · H 30%. Passa a H quando aggiungi un logo.

Output

CampoTipoPredefinitoNote
fileFormatenumpngpng, jpg, svg, pdf, webp.
responseTypeenumbase64base64 restituisce JSON; binary restituisce il file grezzo.
outputWidthint800Pixel. Fino a 4096.
outputHeightint—Per impostazione predefinita uguale a outputWidth. Sovrascrivilo solo se ti serve un formato non quadrato.
pixelsPerModuleint10Risoluzione per modulo QR. Aumenta outputWidth se non è impostato.
qualityint90Qualità JPG/WebP 1–100.
transparentBackgroundboolfalseSolo PNG/SVG/WebP.

Colori

CampoTipoPredefinitoNote
primaryColorhex#000000Colore dei moduli. #RGB, #RRGGBB, #RRGGBBAA.
secondaryColorhex—Usato dai gradienti e dai moduli connessi.
backgroundColorhex#FFFFFFColore della zona di rispetto.
foregroundStyleenumsolidsolid, linearGradient, radialGradient, sweepGradient.
gradientTypeenumlinearForma abbreviata equivalente a foregroundStyle.
gradientDirectionenumverticalvertical, horizontal, diagonal, diagonal-reverse.
gradientColorshex[]—Da 2 a 6 punti di colore.
gradientStopsfloat[]uniformiPosizioni 0–1. Deve corrispondere a gradientColors.length.
gradientAngleint0Gradi; se impostato, sostituisce gradientDirection.

Moduli (i punti)

CampoTipoPredefinitoNote
qrShapeenumsquareTela esterna: square, roundedsquare, circle.
qrShapeRadiusint0Raggio degli angoli quando qrShape: roundedsquare.
moduleShapeenumsquareUna tra 27. Vedi Pattern.
moduleScalefloat1.00.5–1.0. Rimpicciolisce ogni modulo per un aspetto più arioso.
moduleRotationfloat0Gradi.
moduleStyleenumsolidsolid, outline, striped.
modulePatternenumstandardstandard, checker, alternating.
moduleSizeVariationfloat00–0.3 aggiunge una variazione organica a ogni modulo.
connectedStyleenumnonenone, fluid, sharp, round. Unisce i moduli adiacenti.

Pattern di posizionamento (i 3 occhi grandi)

CampoTipoPredefinitoNote
finderOuterShapeenumsquaresquare, roundedsquare, circle, diamond, octagon, target, double.
finderInnerShapeenumsquaresquare, roundedsquare, circle, diamond, star, dot.
finderOuterColorhex—Per impostazione predefinita primaryColor.
finderInnerColorhex—Per impostazione predefinita primaryColor.
finderStyleenumstandardstandard, flat, embossed.
CampoTipoPredefinitoNote
logoUrlurl—URL pubblico scaricato lato server. PNG/JPG/GIF/BMP/WebP, ≤ 10 MB.
logoBase64string—Alternativa inline con data URI.
logoFilemultipart—Parte binaria se usi multipart/form-data.
logoShapeenumsquaresquare, circle, rounded.
logoSizePercentfloat185–30. Alza sempre eccLevel a H quando è ≥ 20.
logoBorderWidthint0Spessore del bordo in pixel.
logoBorderColorhex#FFFFFF
logoShadowboolfalseOmbra sotto il logo.
logoBackgroundenumnonenone, solid, match-bg.
cleanBehindLogobooltrueCancella i moduli sotto il logo perché non entri in conflitto con il QR.

Testi sovrapposti

CampoTipoNote
centerTextobjectBanner che attraversa il centro: { text, color?, backgroundColor?, height?, fontSize?, bold?, fontFamily? }.
circularTextobjectTesto curvato intorno al QR: { text, color?, fontSize?, position? }.
ctaTextstringDidascalia sotto il QR (ad es. "SCAN ME").
ctaTextStyleobject{ color?, fontSize?, fontFamily?, bold?, italic? }.

Cornici

CampoTipoNote
frameobject{ enabled, shape, color, width, padding, cornerRadius, fillColor? }. Forme: rectangle, speech-bubble, badge, shield, circle.

Immagine di sfondo

CampoTipoNote
backgroundImageUrl / backgroundImageBase64url/stringImmagine tenue generata dietro il QR.
backgroundImageBlendModeenumnormal, multiply, screen, overlay.
backgroundImageOpacityfloat0–1.
backgroundImageBlurintPixel.
backgroundImageFitenumcover, contain, stretch.

Effetti

CampoTipoNote
shadowobject{ color, blur, offsetX, offsetY }.
glowobject{ color, blur, intensity }.
embossobject{ depth, lightAngle, lightColor?, shadowColor? }.
noisefloat0–0.3 aggiunge grana da pellicola.
blurintPixel.
edgeFadefloat0–0.5 sfuma il bordo della tela.
colorFilterenumnone, sepia, bw, cool, warm.

Specifici dell'IA (solo su /api/qr/ai/generate*)

CampoTipoNote
promptstringDescrizione in linguaggio naturale.
stylePresetenumminimal, artistic, corporate, playful, luxury, tech, nature.
creativityfloat0–1. Controlla la temperatura dell'LLM e l'audacia.
strictScannabilityboolSe true, il motore corregge in automatico ECC/contrasto.
llmProviderenumSolo marketplace: openai, anthropic, google, mistral, cohere, groq.
llmApiKeystringSolo marketplace. Inoltrata una sola volta, mai registrata nei log.
llmModelstringFacoltativo; per impostazione predefinita, il modello economico di punta del provider.

Ordine di convalida

  1. JSON ben formato → altrimenti INVALID_JSON.
  2. Tipi dei campi + limiti → VALIDATION_ERROR con details[].
  3. Contrasto dei colori → LOW_CONTRAST se < 4:1 e strictScannability: true.
  4. Dimensione del logo rispetto all'ECC → LOGO_TOO_LARGE se è troppo aggressiva.
  5. Ciclo di decodifica ISO 18004 → QR_GENERATION_FAILED se l'immagine generata non può essere riletta.

Consulta Errori per la matrice completa dei codici di errore.

Rigenerare questa pagina

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

Lo script è tools/gen-docs-schema.ts. Qualsiasi campo aggiunto al modello C# con un attributo [Description] compare qui in automatico.