Aller au contenu

Clés API utilisateur

Si vous préférez vous authentifier avec votre propre clé, émise depuis /dashboard/keys, plutôt qu'avec le secret de proxy de la marketplace RapidAPI, cette page est pour vous. Même moteur, autre porte d'entrée.

Les clients de la marketplace doivent continuer d'utiliser X-RapidAPI-Proxy-Secret avec api.qr-branding.com. La passerelle des clés utilisateur se trouve sur qr-branding.com/api/v1/* et n'interfère jamais avec le canal marketplace.

URL de base

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

Authentification

Envoyez votre clé à chaque requête :

X-API-Key: qrb_…

La clé est vérifiée en bordure de réseau (CF Pages) par rapport au hachage stocké dans notre base de données ; le moteur lui-même ne voit jamais votre clé en clair.

Si la clé est absente, mal formée ou révoquée, vous obtenez :

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

(Code de statut 401.)

Prérequis : formule Studio

L'API est une fonctionnalité de Studio. Toutes les requêtes, pas seulement celles d'IA, exigent un pack Studio actif (acheté il y a moins de 12 mois et non remboursé). Si la clé est valide mais que votre compte n'a pas Studio, la passerelle répond 402 avec des liens vers cette page et vers les tarifs :

{ "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" }

Les générations IA sur nos clés LLM (POST /api/v1/qr/ai/generate/server) décomptent en plus un crédit IA de votre pack Studio ; une fois épuisés, vous recevez 402 out_of_api_credits avec les mêmes liens. Les autres appels ne consomment pas de crédits.

Endpoints disponibles

La passerelle transmet au moteur tous les chemins sous /api/v1/*. Ainsi :

URL publiqueTransmis à
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/:typeAssistants de contenu (wifi · vcard · geo)
GET /api/v1/qr/ai/providersGET /api/qr/ai/providers
GET /api/v1/pingGET /api/ping

Les corps, les structures de réponse et les codes d'erreur sont identiques à ceux des endpoints du moteur : gardez vos favoris de documentation.

Test rapide

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"

Si vous obtenez un 200 et un qr.png sur le disque, c'est terminé.

Limites

Les clés utilisateur ont les limites par client du canal grand public :

Type d'appelPar minute
Général120
Génération (/qr/generate, /qr/templates/:id)60
IA (/qr/ai/generate/server)30

Si vous atteignez une limite, vous recevez un 429 avec l'en-tête Retry-After. Les détails et les plafonds globaux se trouvent dans la Vue d'ensemble de l'API.

Envois multipart

La passerelle n'accepte que du JSON. Pour envoyer un logo ou un fond en binaire, utilisez les champs base64 (logoBase64, backgroundImageBase64) au lieu de multipart/form-data. Nous ajouterons peut-être la prise en charge native du multipart en v2.

Rotation

Générez une nouvelle clé, déployez-la, puis révoquez l'ancienne. La clé en clair n'est affichée qu'une seule fois : conservez-la dans votre gestionnaire de secrets.

# in your CI / secrets tool
QR_BRANDING_KEY=qrb_new_key_here

Lorsque l'ancienne clé reçoit un 401 invalid_api_key de la passerelle, cela signifie que toute votre infrastructure a migré et vous pouvez confirmer que la rotation a fonctionné.