Chaves de API do usuário
Se você prefere se autenticar com a sua própria chave — emitida em /dashboard/keys — em vez do proxy secret do marketplace da RapidAPI, esta página é para você. Mesmo motor, outra porta.
Os clientes do marketplace devem continuar usando
X-RapidAPI-Proxy-Secretcomapi.qr-branding.com. O gateway de chaves de consumidor fica emqr-branding.com/api/v1/*e nunca interfere no canal do marketplace.
URL base
https://qr-branding.com/api/v1
Autenticação
Envie a sua chave em todas as requisições:
X-API-Key: qrb_…
A chave é verificada na borda (CF Pages) contra o hash no nosso banco de dados — o próprio motor nunca vê a sua chave em texto puro.
Se a chave estiver ausente, malformada ou revogada, você recebe:
{ "success": false, "error": "Key not recognised, revoked, or malformed.", "code": "invalid_api_key" }
(código de status 401.)
Requisito: plano Studio
A API é um recurso do Studio. Todas as requisições, não só as de IA, exigem um pacote Studio ativo (comprado há menos de 12 meses e não reembolsado). Se a chave for válida, mas a sua conta não tiver Studio, o gateway responde 402 com links para esta página e para os preços:
{ "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" }
As gerações com IA nas nossas chaves de LLM (POST /api/v1/qr/ai/generate/server) também descontam um crédito de IA do seu pacote Studio; quando eles acabam, você recebe 402 out_of_api_credits com os mesmos links. As demais chamadas não gastam créditos.
Endpoints disponíveis
O gateway encaminha toda rota sob /api/v1/* para o motor. Assim:
| URL pública | Encaminha para |
|---|---|
POST /api/v1/qr/generate | POST /api/qr/generate |
POST /api/v1/qr/ai/generate/server | POST /api/qr/ai/generate/server |
GET /api/v1/qr/templates | GET /api/qr/templates |
POST /api/v1/qr/templates/:id | POST /api/qr/templates/:id |
POST /api/v1/qr/content/:type | Auxiliares de conteúdo (wifi · vcard · geo) |
GET /api/v1/qr/ai/providers | GET /api/qr/ai/providers |
GET /api/v1/ping | GET /api/ping |
Corpos, formatos de resposta e códigos de erro são idênticos aos dos endpoints do motor — pode manter os seus favoritos da documentação.
Teste rápido
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"
Se você receber um 200 e um qr.png no disco, está pronto.
Limites
As chaves de usuário têm os limites por cliente do canal de consumidor:
| Tipo de chamada | Por minuto |
|---|---|
| Geral | 120 |
Geração (/qr/generate, /qr/templates/:id) | 60 |
IA (/qr/ai/generate/server) | 30 |
Se atingir um limite, você recebe um 429 com o cabeçalho Retry-After. Os detalhes e os limites globais estão na Visão geral da API.
Envios multipart
O gateway aceita só JSON. Para enviar logo / fundo em binário, use
os campos base64 (logoBase64, backgroundImageBase64) em vez de
multipart/form-data. Talvez adicionemos suporte nativo a multipart na v2.
Rotação
Gere uma chave nova, implante-a e depois revogue a antiga. O texto puro só é mostrado uma vez — guarde-o no seu gerenciador de segredos.
# in your CI / secrets tool
QR_BRANDING_KEY=qrb_new_key_here
Quando a chave antiga passar a receber 401 invalid_api_key do gateway, isso significa
que toda a sua frota migrou e você pode confirmar que a rotação funcionou.