Autenticazione
Autenticazione
qr3.app utilizza le chiavi API (Bearer token) per l’autenticazione. Non ci sono flussi OAuth — basta generare una chiave e utilizzarla immediatamente.
Creare una chiave API
- Accedi su app.qr3.app
- Vai su Impostazioni → Chiavi API
- Fai clic su Nuova chiave
- Seleziona i permessi desiderati (scope)
- Copia la chiave — verrà mostrata una sola volta!
Tipi di chiavi
| Tipo | Prefisso | Utilizzo |
|---|---|---|
| Secret Key | qr3_sk_ | Lato server (API, backend) |
| Publishable Key | qr3_pk_ | Lato client (solo accesso in lettura) |
| Test Key | qr3_test_sk_ | Sviluppo (rate limit dedicati) |
Le Publishable Key (qr3_pk_) non ricevono dati personali. Le route che restituiscono nomi, indirizzi e-mail o ID utente di persone rispondono loro con 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.
Utilizzo
Header 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 limit
Ogni chiave API può inviare 60 richieste al minuto, in qualsiasi piano. Il limite si applica per chiave, non per area di lavoro o organizzazione.
In caso di superamento, l’API restituisce 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"}Scope
| Scope | Descrizione |
|---|---|
* | Accesso completo |
codes:read | Lettura dei codici QR |
codes:write | Creazione e modifica dei codici QR |
scans:read | Lettura delle statistiche di scansione |
webhooks:write | Configurazione dei webhook |
account:read | Lettura delle informazioni dell’account |