API apžvalga
API apžvalga
qr3.app REST API yra pasiekiamas adresu https://qr3.app/v1/.
Versijų kūrimas
API versijos nustatomos per URL kelią (/v1/). Kritiniai pakeitimai (breaking changes) visada lemia naują pagrindinę versiją.
Užklausos formatas
- Content-Type:
application/json - Autentifikavimas:
Authorization: Bearer qr3_sk_xxx - Idempotentiškumas: POST užklausos gali būti padarytos idempotentinėmis naudojant
Idempotency-Key: <uuid>
Atsakymo formatas
Visi sėkmingi atsakymai grąžina JSON:
{ "id": "qr_abc123", "type": "url", "url": "https://example.com", "short_url": "https://qr3.app/r7f3Kx", "created_at": "2026-03-15T10:00:00.000Z"}Sąrašų atsakymai visada turi meta.pagination struktūrą:
{ "data": [...], "meta": { "request_id": "req_xxx", "pagination": { "has_more": true, "next_cursor": "qr_abc", "total_count": 142 } }}Klaidų formatas (RFC 7807)
Visos klaidos atitinka standartą 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"}| Būsena | Klaidos tipas | Aprašymas |
|---|---|---|
| 400 | bad-request | Neteisingas JSON arba trūksta privalomų laukų |
| 401 | authentication | Trūksta arba neteisingas API raktas |
| 403 | forbidden | Nėra teisių pasiekti šį išteklių |
| 404 | not-found | Išteklius nerastas |
| 409 | conflict | Idempotency-Key konfliktas |
| 422 | validation-error | Įvesties duomenų klaida (su errors masyvu) |
| 429 | rate-limited | Viršytas užklausų ribojimas |
| 500 | internal | Vidinė serverio klaida |
Puslapiavimas
API naudoja puslapiavimą pagal žymeklį (cursor):
# Erste SeiteGET /v1/codes?limit=20
# Nächste SeiteGET /v1/codes?limit=20&cursor=qr_lastidUžklausų ribojimai (Rate Limits)
Kiekviename atsakyme yra:
X-RateLimit-Limit: 30X-RateLimit-Remaining: 28X-RateLimit-Reset: 1742040120Interaktyvi API nuoroda
Išbandykite visus pabaigos taškus (endpoints) tiesiogiai naršyklėje:
→ Atidaryti API nuorodą (Scalar, interaktyvi, su „Try-it-out“)
DPP sutartis (4a etapas)
Akumuliatorių darbo eigai (battery workflow) qr3.app papildomai dokumentuoja šiuos maršrutus:
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=...
Valdymo skydelio (dashboard) puslapiai, SDK ir ši dokumentacija naudoja tą pačią duomenų sutartį.