Skip to content

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ūsenaKlaidos tipasAprašymas
400bad-requestNeteisingas JSON arba trūksta privalomų laukų
401authenticationTrūksta arba neteisingas API raktas
403forbiddenNėra teisių pasiekti šį išteklių
404not-foundIšteklius nerastas
409conflictIdempotency-Key konfliktas
422validation-errorĮvesties duomenų klaida (su errors masyvu)
429rate-limitedViršytas užklausų ribojimas
500internalVidinė serverio klaida

Puslapiavimas

API naudoja puslapiavimą pagal žymeklį (cursor):

Terminal window
# Erste Seite
GET /v1/codes?limit=20
# Nächste Seite
GET /v1/codes?limit=20&cursor=qr_lastid

Užklausų ribojimai (Rate Limits)

Kiekviename atsakyme yra:

X-RateLimit-Limit: 30
X-RateLimit-Remaining: 28
X-RateLimit-Reset: 1742040120

Interaktyvi 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/dpp
  • GET /v1/dpp
  • GET /v1/dpp/:id
  • POST /v1/dpp/validate
  • GET /v1/dpp/:id/qr.svg
  • GET /v1/dpp/:id/qr.png
  • GET /v1/dpp/:id/qr.pdf
  • GET /v1/dpp/:id/qr.eps
  • GET /01/...
  • GET /dpp/:gtin/:serial?lot=...

Valdymo skydelio (dashboard) puslapiai, SDK ir ši dokumentacija naudoja tą pačią duomenų sutartį.