Pular para o conteúdo

Visão geral da API

O motor é publicado como uma pequena API HTTP. Há duas formas de autenticação.

Dois canais

1. RapidAPI Marketplace (clientes atuais)

Chame https://api.qr-branding.com com o seu proxy secret da RapidAPI. Os endpoints de IA usam a sua própria chave de LLM, ou o endpoint gerenciado, que não precisa de nenhuma. Nada muda em relação a como funcionava a Signet QR API original.

2. Pacotes de créditos para consumidores (novo)

Compre um pacote em /pricing. Os seus endpoints de IA usam chaves de LLM do servidor (Groq / Gemini / OpenAI), e os créditos são descontados a cada geração bem-sucedida. O editor do front-end usa este canal de forma transparente.

Endpoints

MétodoRotaFinalidade
POST/api/qr/generateRenderiza um QR a partir de um QrConfig explícito.
POST/api/qr/ai/generateIA do marketplace — traga a sua própria chave de LLM.
POST/api/qr/ai/generate-managedIA gerenciada do marketplace — não precisa de chave de LLM.
POST/api/qr/ai/generate/serverIA para consumidores — chave de LLM do servidor, com desconto de créditos.
GET/api/qr/templatesLista os 118 modelos prontos (opcionalmente ?category=…).
POST/api/qr/templates/{templateId}Renderiza um QR com um id de modelo e substituições opcionais.
POST/api/qr/content/wifiAuxiliar: monta o texto do conteúdo de um QR de Wi-Fi.
POST/api/qr/content/vcardAuxiliar: monta o texto do conteúdo de um vCard.
POST/api/qr/content/geoAuxiliar: monta o texto do conteúdo de uma geolocalização.
GET/api/qr/ai/providersLista os provedores de LLM e modelos suportados.
GET/api/pingVerificação de saúde (anônima).

Cabeçalhos de autenticação

RapidAPI

X-RapidAPI-Proxy-Secret: <secret>

BFF interno (site para consumidores)

X-Internal-Service-Secret: <secret>
X-Internal-Customer-Id:    <customer id>
X-Internal-Ts:             <unix seconds>
X-Internal-Signature:      <HMAC-SHA256(signing-key, "{customerId}.{ts}")>

TTL antirreplay: 60 segundos. Usado internamente pelo front-end Next.js — você nunca vai defini-los à mão.

Formato dos erros

Toda resposta não 2xx tem um formato estável:

{
  "success": false,
  "error": "Content length (5000) exceeds maximum allowed (4296 characters).",
  "code": "CONTENT_TOO_LONG",
  "field": "content"
}

field é preenchido quando a falha aponta para uma entrada específica.

Limites de requisições

NívelPor minutoObservações
RapidAPI geral60docs, ping, auxiliares
RapidAPI geração30/api/qr/generate
RapidAPI IA15chamadas a LLMs externos
Consumidor geral120por id de cliente
Consumidor geração60por id de cliente
Consumidor IA30por id de cliente

Também existem tetos globais por minuto para proteger o plano gratuito do Azure. Se você atingir um deles, recebe um 429 com o cabeçalho Retry-After.

Formatos de saída

png (padrão, base64), jpg, svg, pdf, webp. Defina "responseType": "binary" para baixar o arquivo diretamente, em vez de receber base64 no JSON.