Prehľad API
Prehľad API
REST API pre qr3.app je dostupná na adrese https://qr3.app/v1/.
Verziovanie
API je verziovaná prostredníctvom cesty URL (/v1/). Zmeny spôsobujúce nekompatibilitu (breaking changes) vždy vedú k novej hlavnej verzii.
Formát požiadaviek
- Content-Type:
application/json - Autentifikácia:
Authorization: Bearer qr3_sk_xxx - Idempotencia: POST požiadavky môžu byť zabezpečené ako idempotentné pomocou hlavičky
Idempotency-Key: <uuid>
Formát odpovedí
Všetky úspešné odpovede vracajú JSON:
{ "id": "qr_abc123", "type": "url", "url": "https://example.com", "short_url": "https://qr3.app/r7f3Kx", "created_at": "2026-03-15T10:00:00.000Z"}Zoznamové odpovede majú vždy štruktúru meta.pagination:
{ "data": [...], "meta": { "request_id": "req_xxx", "pagination": { "has_more": true, "next_cursor": "qr_abc", "total_count": 142 } }}Formát chýb (RFC 7807)
Všetky chyby sa riadia štandardom RFC 7807 Problem Details:
{ "type": "https://docs.qr3.app/errors/not-found", "title": "Not Found", "status": 404, "detail": "QR code qr_xxx not found", "instance": "/v1/codes/qr_xxx"}| Status | Typ chyby | Popis |
|---|---|---|
| 400 | bad-request | Neplatný JSON alebo chýbajúce povinné polia |
| 401 | authentication | Chýbajúci alebo neplatný API kľúč |
| 403 | forbidden | Chýbajúce oprávnenie pre tento zdroj |
| 404 | not-found | Zdroj nebol nájdený |
| 409 | conflict | Konflikt v Idempotency-Key |
| 422 | validation-error | Chybné vstupné údaje (s polom errors) |
| 429 | rate-limited | Prekročený limit požiadaviek (Rate-Limit) |
| 500 | internal | Interná chyba servera |
Stránkovanie
API používa stránkovanie založené na kurzore (cursor-based pagination):
# Erste SeiteGET /v1/codes?limit=20
# Nächste SeiteGET /v1/codes?limit=20&cursor=qr_lastidLimity požiadaviek (Rate Limits)
Každá odpoveď obsahuje:
X-RateLimit-Limit: 30X-RateLimit-Remaining: 28X-RateLimit-Reset: 1742040120Interaktívna API referencia
Otestujte všetky koncové body (endpoints) priamo v prehliadači:
→ Otvoriť API referenciu (Scalar, interaktívne, s možnosťou vyskúšania Try-it-out)
DPP-Contract (Fáza 4a)
Pre pracovný postup batérií (battery workflow) qr3.app dodatočne dokumentuje tieto trasy:
POST /v1/dppGET /v1/dppGET /v1/dpp/:idPOST /v1/dpp/validateGET /v1/dpp/:id/qr.svgGET /v1/dpp/:id/qr.pngGET /v1/dpp/:id/qr.pdfGET /v1/dpp/:id/qr.epsGET /01/...GET /dpp/:gtin/:serial?lot=...
Stránky nástenky (Dashboard), SDKs a táto dokumentácia používajú rovnakú dátovú zmluvu (data contract).