> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getqr.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Introducere în API

> Gestionați codurile QR, șabloanele, statisticile și rapoartele din propriul cod.

> [!NOTE]
>
> API-ul GetQR este în versiune beta și este disponibil pentru anumite spații de lucru. Detaliile se pot schimba înainte de lansarea generală.

API-ul GetQR este un API REST pentru ceea ce faceți în panoul de control: creați și actualizați coduri QR, descărcați imaginile lor, citiți statisticile scanărilor și exportați rapoarte. Autentificați-vă cu cheia API a contului și apelați endpointurile versionate de sub `/api/v1`.

## Ce puteți face

> [card] [Coduri QR](https://docs.getqr.com/ro/api/endpoints/qr-codes.md)
>
> Creați, listați, actualizați, puneți în pauză, duplicați, ștergeți și descărcați coduri QR.

> [card] [Statistici](https://docs.getqr.com/ro/api/endpoints/analytics.md)
>
> Totaluri și defalcări ale scanărilor pentru un cod QR sau pentru întregul spațiu de lucru.

> [card] [Rapoarte](https://docs.getqr.com/ro/api/endpoints/reports.md)
>
> Exportați un raport unic sau programați e-mailuri periodice cu rapoarte.

> [card] [Șabloane](https://docs.getqr.com/ro/api/endpoints/templates.md)
>
> Salvați designuri și aplicați-le codurilor QR noi.

> [card] [Creare QR în masă](https://docs.getqr.com/ro/api/endpoints/bulk-qr-creations.md)
>
> Creați până la 100 de coduri QR deodată, din JSON sau dintr-un fișier CSV.

> [card] [Fișiere](https://docs.getqr.com/ro/api/endpoints/files.md)
>
> Încărcați PDF-uri, imagini, videoclipuri și logouri pentru codurile QR.

> [card] [Verificarea stării](https://docs.getqr.com/ro/api/endpoints/health.md)
>
> Verificați dacă API-ul funcționează. Nu este nevoie de cheie API.

## Ghiduri

> [card] [Tipuri de coduri QR](https://docs.getqr.com/ro/api/guides/qr-types.md)
>
> Formatul datelor pentru fiecare dintre cele 16 tipuri de coduri QR.

> [card] [Personalizare](https://docs.getqr.com/ro/api/guides/customization.md)
>
> Stiluri de puncte, colțuri, culori, cadre și logouri.

> [card] [Reguli de acces](https://docs.getqr.com/ro/api/guides/access-rules.md)
>
> Programări, limite de scanări, parole, punere în pauză și ștergere.

## URL de bază

Toate endpointurile se află sub un singur URL de bază:

```text theme={null}
https://getqr.com/api/v1
```

## Versionare

Versiunea API face parte din cale: toate endpointurile se află sub `/api/v1/`.

* Modificările incompatibile apar sub un nou prefix de versiune, de exemplu `/api/v2/`, iar `/api/v1/` continuă să funcționeze.
* Adăugirile compatibile, cum ar fi câmpuri opționale noi sau endpointuri noi, pot apărea și în v1. Ignorați câmpurile din răspuns pe care codul dvs. nu le recunoaște.

## Pornire rapidă

**1. Obțineți cheia API**

Generați sau afișați cheia în setările contului. Consultați [Autentificare](https://docs.getqr.com/ro/api/authentication.md).

**2. Verificați dacă API-ul este accesibil**

```bash theme={null}
curl https://getqr.com/api/v1/health
```

Răspunsul este `{ "status": "ok", "version": "v1" }`.

**3. Creați primul cod QR**

```bash theme={null}
curl -X POST "https://getqr.com/api/v1/qrs" \
  -H "Authorization: Bearer $GETQR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: first-qr-0001" \
  -d '{
    "qrType": "website",
    "data": "https://example.com",
    "title": "Landing page"
  }'
```

API-ul răspunde cu `201` și noul cod QR, inclusiv `id` și `shortLink`.

**4. Descărcați imaginea**

```bash theme={null}
curl "https://getqr.com/api/v1/qrs/{qrId}/download?format=png&resolution=1024" \
  -H "Authorization: Bearer $GETQR_API_KEY" \
  --output qr-code.png
```

## Cereri și răspunsuri

* **Format.** Trimiteți corpul cererilor în format JSON, cu `Content-Type: application/json`. Excepția este încărcarea CSV pentru [crearea în masă](https://docs.getqr.com/ro/api/endpoints/bulk-qr-creations.md), care folosește `multipart/form-data`.
* **Răspunsuri.** Răspunsurile sunt în format JSON. Descărcările, cum ar fi imaginile QR și arhivele ZIP în masă, returnează fișierul propriu-zis.
* **Date.** Datele sunt șiruri ISO 8601 în UTC, de exemplu `2026-08-01T10:00:00.000Z`.
* **Parametri de interogare.** Parametrii booleeni primesc șirurile `true` sau `false`.
* **Actualizări parțiale.** Endpointurile `PATCH` modifică doar câmpurile pe care le trimiteți.
* **Date secrete.** Răspunsurile nu includ niciodată parole sau identificatori interni. Un cod QR protejat cu parolă raportează doar `passwordProtected: true`.
* **Spațiu de lucru.** Fiecare cerere rulează în spațiul de lucru căruia îi aparține cheia API. Nu trimiteți un ID de spațiu de lucru. Consultați [Acces și roluri](https://docs.getqr.com/ro/api/authentication.md#acces-și-roluri).
* **Erori.** Cererile eșuate returnează un obiect `error` cu un `code` stabil. Consultați [Erori](https://docs.getqr.com/ro/api/errors.md).

## Paginare

Endpointurile de listă (coduri QR, șabloane și rapoarte programate) primesc doi parametri de interogare:

| Parametru | Descriere |
| - | - |
| `page` | Pagina returnată. Implicit `1`. |
| `pageSize` | Rezultate pe pagină, maximum `100`. Implicit `100`. |

Ele răspund cu un array `data` și un obiect `pagination`:

```json theme={null}
{
  "data": [ … ],
  "pagination": { "page": 1, "pageSize": 50, "total": 128, "hasMore": true }
}
```

| Câmp | Descriere |
| - | - |
| `page` | Pagina primită. |
| `pageSize` | Dimensiunea paginii primite. |
| `total` | Numărul de rezultate din toate paginile. |
| `hasMore` | `true` cât timp mai există o pagină. |

Cereți pagina următoare cât timp `hasMore` este `true`. Un `pageSize` mai mare de `100` returnează [`422`](https://docs.getqr.com/ro/api/errors#erori-de-validare).

## Idempotență

O eroare de rețea vă poate lăsa în incertitudine dacă cererea a ajuns sau nu. Pentru a reîncerca în siguranță [crearea unui cod QR](https://docs.getqr.com/ro/api/endpoints/qr-codes.md#crearea-unui-cod-qr), trimiteți un antet `Idempotency-Key` cu o valoare unică aleasă de dvs.:

```bash theme={null}
-H "Idempotency-Key: order-4821-qr"
```

* Dacă repetați cererea cu aceeași cheie în decurs de 24 de ore, primiți răspunsul inițial în loc să se creeze un al doilea cod QR.
* Antetul de răspuns `x-idempotent-replay` este `true` pentru un răspuns reluat și `false` pentru unul nou.
* Dacă prima cerere cu acea cheie încă rulează, API-ul răspunde cu `409 conflict`. Reîncercați după ce se termină.
* Dacă refolosiți o cheie cu un alt corp al cererii, primiți `422 unprocessable_entity`.
* Fără antet, un corp de cerere identic trimis în decurs de 30 de secunde este tratat ca duplicat.

Crearea în masă primește în schimb un câmp `idempotencyKey` în corpul cererii. Consultați [Creare QR în masă](https://docs.getqr.com/ro/api/endpoints/bulk-qr-creations.md).

## Limite de cereri

Fiecare cheie API poate trimite până la 600 de cereri pe minut. Consultați [Limite de cereri](https://docs.getqr.com/ro/api/rate-limits.md).

## Planificat pentru mai târziu

Pachetele gata de tipar sunt planificate pentru o versiune ulterioară.

## Ce urmează

> [card] [Autentificare](https://docs.getqr.com/ro/api/authentication.md)

> [card] [Coduri QR](https://docs.getqr.com/ro/api/endpoints/qr-codes.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.