Autenticação
Autenticação
A qr3.app utiliza API-Keys (Bearer tokens) para autenticação. Não existem fluxos OAuth — basta gerar a chave e usar imediatamente.
Criar uma API-Key
- Faça login em app.qr3.app
- Vá para Configurações → API-Keys
- Clique em Nova Chave
- Selecione as permissões (scopes) desejadas
- Copie a chave — ela só será exibida uma vez!
Tipos de chave
| Tipo | Prefixo | Utilização |
|---|---|---|
| Secret Key | qr3_sk_ | No lado do servidor (API, backend) |
| Publishable Key | qr3_pk_ | No lado do cliente (apenas leitura) |
| Test Key | qr3_test_sk_ | Desenvolvimento (rate limits próprios) |
As Publishable Keys (qr3_pk_) não recebem dados pessoais. As rotas que retornam nomes, endereços de e-mail ou IDs de usuário de pessoas respondem a elas com 403: GET /v1/members, GET /v1/workspace/stats/code-creators, GET /v1/audit-logs, GET /v1/organizations, GET /v1/organizations/:id, GET /v1/codes/:id/comments.
Utilização
Cabeçalho HTTP
Authorization: Bearer qr3_sk_your_key_herecURL
curl https://qr3.app/v1/codes \ -H "Authorization: Bearer qr3_sk_your_key_here"SDK TypeScript
import { QR3 } from "@qr3/sdk";
const client = new QR3({ apiKey: "qr3_sk_your_key_here" });const codes = await client.codes.list();CLI
qr3 login# or:export QR3_API_KEY=qr3_sk_your_key_hereRate Limits
Cada chave de API pode enviar 60 requisições por minuto, em todos os planos. O limite aplica-se por chave, não por espaço de trabalho ou organização.
Se o limite for excedido, a API retornará HTTP 429:
{ "type": "https://docs.qr3.app/errors/rate-limited", "title": "Too Many Requests", "status": 429, "detail": "Rate limit of 60 requests/minute exceeded for this API key"}Scopes
| Scope | Descrição |
|---|---|
* | Acesso total |
codes:read | Ler códigos QR |
codes:write | Criar e editar códigos QR |
scans:read | Ler estatísticas de leitura |
webhooks:write | Configurar webhooks |
account:read | Ler informações da conta |