Aller au contenu

POST /api/qr/generate

Génère un QR code à partir d'une configuration explicite. C'est l'endpoint de rendu principal : l'interface de l'éditeur comme l'endpoint IA passent par lui.

Requête

Content-Type: application/json ou multipart/form-data (pour envoyer un logo ou un fond en binaire).

Structure du corps : un objet QrConfig.

Exemple minimal :

Envoi multipart (logo en fichier)

curl -X POST https://api.qr-branding.com/api/qr/generate \
  -H "X-RapidAPI-Proxy-Secret: <secret>" \
  -F 'config={"content":"https://yourbrand.com","logoSizePercent":18,"eccLevel":"H"}' \
  -F "logoFile=@./brand-mark.png"

Le champ config est une chaîne encodée en JSON. logoFile et backgroundFile sont des parties binaires (PNG / JPG / GIF / BMP / WebP jusqu'à 10 MB).

Réponse (mode base64, par défaut)

{
  "success": true,
  "qrBase64": "iVBORw0KGgoAAAANSUhEUgAA…",
  "format": "png",
  "contentType": "image/png",
  "sizeBytes": 38291
}

Réponse (mode binaire)

{ "responseType": "binary" }

Renvoie les octets bruts du fichier avec le Content-Type approprié et Content-Disposition: attachment; filename="qrcode.png".

Validation

Le moteur exécute toute la chaîne de la garantie de scan. Motifs de rejet courants :

CodeSignificationSolution
CONTENT_TOO_LONGChaîne encodée > 4296 caractèresRaccourcissez / utilisez un raccourcisseur d'URL
LOW_CONTRASTpremier plan vs arrière-plan < 4:1Choisissez un premier plan plus foncé ou un fond plus clair
LOGO_TOO_LARGElogoSizePercent > 25 avec un ECC < HPassez en H ou réduisez le logo
INVALID_HEXCouleur qui n'est pas au format #RGB, #RRGGBB, #RRGGBBAACorrigez la couleur
INVALID_LLM_MODELUniquement sur l'endpoint IAVoir le mode IA

Voir aussi