Ajouter un logo supprime une partie de la grille de modules du QR code. La correction d'erreurs peut compenser dans certaines limites, mais un style excessif peut tout de même produire un code impossible à scanner. Ironfang Render décode l'image terminée et compare le contenu avant la livraison. Si le style ou le logo rend le code illisible, l'API renvoie 422 unscannable au lieu de le livrer.
Créer un QR code personnalisé
L'ajout d'un logo sélectionne automatiquement le niveau de correction d'erreurs le plus élevé.
curl -X POST https://api.ironfang.uk/render/v1/qr \
-H "Authorization: Bearer if_live_..." \
-H "Content-Type: application/json" \
-d '{
"data": "https://example.com/menu",
"size": 640,
"dots": "circle",
"dark": "#1b2a4a",
"logo_url": "https://example.com/logo.png",
"logo_size": 0.22
}' --output menu-qr.pngdots accepte square ou circle. eyes définit le style des trois motifs de repérage et reprend par défaut le style de point choisi. Les motifs de repérage restent pleins pour préserver leur rapport obligatoire de 1:1:3:1:1. L'API valide aussi la polarité et le contraste des couleurs avant le rendu, et renvoie une réponse 400 pour les combinaisons non valides.
Choisir une approche pour le mode sombre
Pour une compatibilité étendue avec les scanners, placez un QR code standard, sombre sur clair, sur une tuile claire au sein du design sombre. Définissez invert à true pour obtenir des modules clairs sur fond sombre. Les appareils photo des téléphones récents lisent souvent les codes inversés, mais beaucoup de scanners embarqués et intégrés aux applications n'y parviennent pas : mieux vaut donc réserver l'inversion aux écrans que vous maîtrisez. Ironfang Render vérifie la sortie inversée à l'aide de son négatif avant la livraison.
Un QR code de paiement sur une facture PDF
Tout modèle enregistré peut contenir un QR code. Ajoutez un élément image à l'endroit où le code doit apparaître, puis fournissez la spécification du QR code avec la requête de rendu.
Le modèle. {{qr.pay}} est rempli par l'appel de rendu.
<div class="invoice-footer">
<p>Scan to pay invoice {{invoice}}</p>
<img src="{{qr.pay}}" width="150" height="150">
</div>Chaque entrée qr est générée, vérifiée et injectée comme variable, sans frais supplémentaires.
curl -X POST https://api.ironfang.uk/render/v1/image/YOUR_TEMPLATE_ID \
-H "Authorization: Bearer if_live_..." \
-H "Content-Type: application/json" \
-d '{
"vars": { "invoice": "INV-2041" },
"qr": { "pay": { "data": "https://pay.example.com/INV-2041", "size": 300 } }
}' --output invoice-card.png
