> ## 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.

# Reguli de acces

> Programați un început și un sfârșit, limitați numărul de scanări, cereți o parolă și puneți în pauză, reactivați sau ștergeți un cod QR.

> [!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ă.

Controlați când se rezolvă un cod QR, de câte ori poate fi scanat, dacă solicită o parolă și dacă este pus în pauză sau șters.

## Înainte de a începe

* **Rol.** Setarea regulilor, punerea în pauză, reactivarea și ștergerea necesită acces de scriere la codurile QR din spațiul de lucru. Consultați [Autentificare](https://docs.getqr.com/ro/api/authentication.md).
* **Abonament.** Fiecare cerere API necesită un abonament activ al proprietarului spațiului de lucru, inclusiv acestea.

## Obiectul access

Trimiteți un obiect `access` când [creați](https://docs.getqr.com/ro/api/endpoints/qr-codes.md#crearea-unui-cod-qr) sau [actualizați](https://docs.getqr.com/ro/api/endpoints/qr-codes.md#actualizarea-unui-cod-qr) un cod QR:

```text theme={null}
POST  /api/v1/qrs
PATCH /api/v1/qrs/{qrId}
```

| Câmp | Tip | Descriere |
| - | - | - |
| `activeAt` | string (ISO 8601) \| null | Început programat. Înainte de acest moment, scanările afișează pagina de pauză în locul destinației. `null` înseamnă activ imediat. |
| `pauseAt` | string (ISO 8601) \| null | Sfârșit programat. În acest moment și după el, scanările afișează pagina de pauză. `null` înseamnă fără dată de încheiere. |
| `scanLimit` | integer \| null | Numărul maxim de scanări pe toată durata de viață a codului QR. Odată depășit, scanările afișează pagina de pauză. `null` înseamnă nelimitat. |
| `password` | string \| null | Parola pe care vizitatorii trebuie să o introducă înainte de a fi redirecționați. Trimiterea ei activează și protecția. |
| `passwordProtected` | boolean | Dacă codul QR solicită o parolă. `false` dezactivează protecția, dar păstrează parola stocată. `true` o reactivează. |

Câmpurile pe care le omiteți rămân neschimbate. Trimiteți `null` pentru a șterge o regulă. Un obiect `access` parțial nu resetează niciodată regulile pe care nu le-ați menționat.

> [!WARNING]
>
> Regulile de acces se trimit în `access`. Trimiterea `activeAt`, `pauseAt`, `scanLimit`, `password` sau `passwordProtected` în `link` primește `422`.

## Programați un început și un sfârșit

`activeAt` și `pauseAt` sunt independente: setați una dintre ele sau pe amândouă. Ambele acceptă date și ore ISO 8601, cu `Z` sau cu un decalaj față de UTC.

```bash theme={null}
curl -X PATCH "https://getqr.com/api/v1/qrs/qr_abc123" \
  -H "Authorization: Bearer $GETQR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "access": {
      "activeAt": "2026-08-01T09:00:00Z",
      "pauseAt": "2026-08-31T23:59:59Z"
    }
  }'
```

Trimiteți `null` pentru a șterge programarea. Astfel, codul QR devine activ imediat, iar data de încheiere este eliminată:

```json theme={null}
{
  "access": { "activeAt": null, "pauseAt": null }
}
```

## Limita de scanări

Limitați numărul total de scanări. După atingerea limitei, codul QR nu se mai rezolvă:

```json theme={null}
{
  "access": { "scanLimit": 500 }
}
```

Contorul de scanări pe toată durata de viață funcționează întotdeauna, indiferent dacă este setată o limită. Astfel, schimbarea limitei este previzibilă:

* **Creșterea limitei** eliberează exact (noua limită minus totalul scanărilor) scanări suplimentare.
* **Scăderea limitei** sub totalul actual blochează imediat codul QR.
* **Setarea ulterioară a unei limite** ia în calcul și scanările făcute cât timp nu exista nicio limită.

`scanLimit` trebuie să fie un număr întreg pozitiv, de maximum 2147483647. Trimiteți `null` pentru nelimitat.

## Protecția cu parolă

Setați o parolă prin același obiect `access`. Parola stocată este păstrată când dezactivați protecția, așa că o puteți reactiva fără să o trimiteți din nou.

**1. Setați sau schimbați parola**

Aceasta activează și protecția.

```json theme={null}
{ "access": { "password": "hunter2" } }
```

**2. Dezactivați protecția**

Parola stocată este păstrată.

```json theme={null}
{ "access": { "passwordProtected": false } }
```

**3. Reactivați protecția**

Nu este nevoie să retrimiteți parola. Funcționează doar dacă a fost setată deja o parolă. Altfel, cererea primește `422`.

```json theme={null}
{ "access": { "passwordProtected": true } }
```

* **La creare.** Trimiteți `password` pentru a activa protecția. `passwordProtected` singur nu are efect până când nu există o parolă.
* **Eliminarea parolei.** Trimiteți `"password": null`. Se dezactivează și protecția.
* **Citire.** Răspunsurile nu returnează niciodată parola, ci doar `access.passwordProtected`.

## Pauză, reactivare și ștergere

Punerea în pauză și reactivarea sunt endpointuri separate, nu câmpuri din `access`, deoarece intră în vigoare imediat, nu conform unei programări.

| Metodă | Cale | Descriere |
| - | - | - |
| `POST` | `/api/v1/qrs/{qrId}/pause` | [Puneți codul QR în pauză acum](https://docs.getqr.com/ro/api/endpoints/qr-codes.md#punerea-în-pauză-a-unui-cod-qr). Scanările afișează pagina de pauză până când îl reactivați. |
| `POST` | `/api/v1/qrs/{qrId}/activate` | [Reactivați un cod QR pus în pauză](https://docs.getqr.com/ro/api/endpoints/qr-codes.md#reactivarea-unui-cod-qr). Programarea și limita de scanări, dacă există, se aplică în continuare. |
| `DELETE` | `/api/v1/qrs/{qrId}` | [Ștergeți definitiv codul QR](https://docs.getqr.com/ro/api/endpoints/qr-codes.md#ștergerea-unui-cod-qr) și linkul său scurt. |

Pauza și activarea nu primesc corp de cerere și returnează [codul QR](https://docs.getqr.com/ro/api/endpoints/qr-codes.md#obiectul-cod-qr) actualizat:

```bash theme={null}
curl -X POST "https://getqr.com/api/v1/qrs/qr_abc123/pause" \
  -H "Authorization: Bearer $GETQR_API_KEY"
```

```json theme={null}
{
  "id": "qr_abc123",
  "archived": true,
  "…": "…"
}
```

Puteți seta starea de pauză și cu `PUT /api/v1/qrs/{qrId}` și `{ "archived": true }` sau cu `archived` într-un `PATCH`. Consultați [Setarea stării de pauză](https://docs.getqr.com/ro/api/endpoints/qr-codes.md#setarea-stării-de-pauză).

Ștergerea elimină împreună codul QR și linkul său scurt:

```json theme={null}
{ "id": "qr_abc123", "deleted": true }
```

> [!WARNING]
>
> Ștergerea nu poate fi anulată. Linkul scurt nu se mai rezolvă, așa că codurile tipărite nu mai funcționează. Puneți codul QR în pauză dacă s-ar putea să aveți nevoie de el din nou.

## Când intră în vigoare modificările

* **Următoarea scanare.** Regulile sunt verificate la scanarea codului, așa că o modificare se aplică de la următoarea scanare, nu retroactiv.
* **Pagina de pauză.** Un cod QR blocat de o programare, de o limită de scanări sau de o pauză afișează pagina de pauză. Scanarea nu este redirecționată.
* **Parolă.** Vizitatorii care au introdus deja parola își păstrează accesul până când parola se schimbă sau până când protecția este dezactivată și reactivată.
* **Ceas.** Programările folosesc ceasul serverului în UTC, nu ora locală a vizitatorului.
* **Regulile se combină.** Un cod QR se rezolvă doar dacă nu este pus în pauză, se află în intervalul programat și este sub limita de scanări.

## Probleme frecvente

> [accordion] 422 la setarea unei reguli în link
>
> Trimiteți regula în `access`, nu în `link`.

> [accordion] 422 la activarea protecției cu parolă
>
> Codul QR nu are încă o parolă. Trimiteți `password` în loc de `passwordProtected: true`.

> [accordion] Codul QR afișează în continuare pagina de pauză după reactivare
>
> Se aplică încă o programare sau o limită de scanări. Verificați `access.activeAt`, `access.pauseAt` și `access.scanLimit` în [codul QR](https://docs.getqr.com/ro/api/endpoints/qr-codes.md#obținerea-unui-cod-qr) și comparați `scans` cu limita.

> [accordion] Am nevoie ca linkul să expire
>
> `link.expiresAt` nu este disponibil în acest API. Folosiți în schimb `access.pauseAt`.

## Ce urmează

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

> [card] [Datele codurilor QR pe tipuri](https://docs.getqr.com/ro/api/guides/qr-types.md)


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