API ülevaade
API ülevaade
qr3.app REST-API on kättesaadav aadressil https://qr3.app/v1/.
Versioonihaldus
API on versioonitud URL-tee kaudu (/v1/). Murrangulised muudatused viivad alati uue peaversioonini.
Päringu vorming
- Content-Type:
application/json - Autentimine:
Authorization: Bearer qr3_sk_xxx - Idempotentsus: POST-päringuid saab muuta idempotentseks päisega
Idempotency-Key: <uuid>
Vastuse vorming
Kõik edukad vastused tagastavad JSON-i:
{ "id": "qr_abc123", "type": "url", "url": "https://example.com", "short_url": "https://qr3.app/r7f3Kx", "created_at": "2026-03-15T10:00:00.000Z"}Nimekirjavastustel on alati meta.pagination struktuur:
{ "data": [...], "meta": { "request_id": "req_xxx", "pagination": { "has_more": true, "next_cursor": "qr_abc", "total_count": 142 } }}Veavorming (RFC 7807)
Kõik vead järgivad standardit 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"}| Olek | Veatüüp | Kirjeldus |
|---|---|---|
| 400 | bad-request | Vigane JSON või puuduvad kohustuslikud väljad |
| 401 | authentication | Puuduv või vigane API-võti |
| 403 | forbidden | Puudub õigus sellele ressursile juurdepääsuks |
| 404 | not-found | Ressurssi ei leitud |
| 409 | conflict | Idempotency-Key konflikt |
| 422 | validation-error | Vigased sisendandmed (koos errors-massiiviga) |
| 429 | rate-limited | Päringupiirang on ületatud |
| 500 | internal | Serveri sisemine viga |
Pagineerimine
API kasutab kursoripõhist pagineerimist:
# Erste SeiteGET /v1/codes?limit=20
# Nächste SeiteGET /v1/codes?limit=20&cursor=qr_lastidPäringupiirangud
Iga vastus sisaldab:
X-RateLimit-Limit: 30X-RateLimit-Remaining: 28X-RateLimit-Reset: 1742040120Interaktiivne API viide
Testi kõiki lõpppunkte otse brauseris:
→ Ava API viide (Scalar, interaktiivne, koos Try-it-out funktsiooniga)
DPP-Contract (Faas 4a)
Aku töövoo jaoks dokumenteerib qr3.app lisaks järgmised teekonnad:
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=...
Töölaua (Dashboard) lehed, SDK-d ja see dokumentatsioon kasutavad sama andmelepingut.