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

# Statistici

> Statistici de scanare pentru un cod QR sau pentru întregul spațiu de lucru.

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

Obțineți totalurile scanărilor și defalcări pe țări, dispozitive, browsere și altele, pentru un singur cod QR sau pentru întregul spațiu de lucru.

| Metodă | Cale | Descriere |
| - | - | - |
| `GET` | `/api/v1/qrs/{qrId}/analytics` | [Statistici pentru un cod QR](#statistici-pentru-un-cod-qr) |
| `GET` | `/api/v1/analytics` | [Statistici pentru spațiul de lucru](#statistici-pentru-spațiul-de-lucru) |

Pentru un rezumat gata făcut pentru fiecare cod QR, consultați [Rapoarte](https://docs.getqr.com/ro/api/endpoints/reports.md).

## Ce înseamnă cifrele

* **Scanări.** Fiecare număr se află în câmpul `clicks`. O scanare este numărată de fiecare dată când cineva deschide linkul scurt al codului QR.
* **Scanări unice.** Cu `unique=true`, fiecare vizitator este numărat o singură dată în intervalul de date.
* **Domeniu.** Cifrele provin din linkul scurt al codului QR. Un cod QR fără link scurt nu are scanări de numărat.
* **Istoric.** Statisticile nu pot fi resetate prin API. Ștergerea unui cod QR nu elimină datele istorice ale scanărilor sale.

## Anteturi

**Authorization** `string` *required*

`Bearer` urmat de cheia dvs. API. Consultați [Autentificare](https://docs.getqr.com/ro/api/authentication.md).

## Parametri de interogare

Ambele endpointuri primesc acești parametri. Toți sunt opționali.

**groupBy** `string` (default: count)

Dimensiunea defalcării. `count` returnează totalul. Consultați [Defalcări](#defalcări) pentru toate valorile și forma răspunsului fiecăreia.

**interval** `string` (default: 30d)

Interval de date prestabilit: `24h`, `7d`, `30d`, `90d`, `1y`, `mtd`, `qtd`, `ytd` sau `all`. Consultați [Intervale de date](#intervale-de-date). Ignorat când trimiteți `start`.

**start** `string`

Începutul unui interval personalizat, ISO 8601, de exemplu `2026-08-01` sau `2026-08-01T00:00:00Z`. Are prioritate față de `interval`. Trebuie să fie anterior lui `end`.

**end** `string`

Sfârșitul unui interval personalizat, ISO 8601. Implicit, sfârșitul zilei de azi. Se folosește împreună cu `start` sau cu `interval=all` și este ignorat cu celelalte intervale.

**timezone** `string` (default: UTC)

Fusul orar IANA folosit pentru alinierea intervalelor `timeseries`, de exemplu `America/New_York`. Un fus orar necunoscut returnează `422`.

**unique** `boolean` (default: false)

`true` numără scanările unice în locul totalului scanărilor.

Puteți trimite și [filtre pe dimensiuni](#filtre-pe-dimensiuni).

## Intervale de date

| `interval` | Acoperă | Intervale `timeseries` |
| - | - | - |
| `24h` | Ultimele 24 de ore | Ore |
| `7d` | Ultimele 7 zile, inclusiv azi | Zile |
| `30d` | Ultimele 30 de zile, inclusiv azi | Zile |
| `90d` | Ultimele 90 de zile, inclusiv azi | Zile |
| `1y` | Ultimele 365 de zile, inclusiv azi | Luni |
| `mtd` | Luna curentă până azi | Zile |
| `qtd` | Trimestrul curent până azi | Zile |
| `ytd` | Anul curent până azi | Zile sau luni după 180 de zile |
| `all` | De la crearea spațiului de lucru | Zile sau luni după 180 de zile |

Pentru un interval personalizat, trimiteți `start` și, opțional, `end`. Intervalele de până la 2 zile folosesc grupări pe ore, cele de peste 180 de zile folosesc grupări pe luni, iar toate celelalte folosesc grupări pe zile.

## Filtre pe dimensiuni

Restrângeți rezultatele la scanările care corespund unui filtru. Filtrele diferite se combină cu AND. Când un filtru primește mai multe valori, separați-le prin virgule: valorile se combină cu OR.

| Filtru | Valoare | Mai multe valori |
| - | - | - |
| `country` | Codul de țară ISO 3166-1 alpha-2, de exemplu `US` | Da |
| `region` | Codul de regiune ISO 3166-2, de exemplu `US-CA` | Da |
| `city` | Numele orașului, de exemplu `New York` | Da |
| `continent` | `AF`, `AN`, `AS`, `EU`, `NA`, `OC` sau `SA` | Da |
| `device` | Tipul dispozitivului, de exemplu `Mobile` sau `Desktop` | Da |
| `browser` | Numele browserului, de exemplu `Chrome` | Da |
| `os` | Sistemul de operare, de exemplu `iOS` sau `Windows` | Da |
| `url` | URL-ul de destinație | Da |
| `referer` | Sursa de trimitere (referrer), de exemplu `google.com` | Nu |
| `utm_source`, `utm_medium`, `utm_campaign`, `utm_term`, `utm_content` | Valoarea UTM, până la 190 de caractere | Nu |

Un cod de țară sau de continent necunoscut returnează `422`. Numele dispozitivelor, browserelor și sistemelor de operare sunt comparate cu prima literă mare, așa că `mobile` funcționează la fel ca `Mobile`.

De exemplu, scanările din SUA sau Canada de pe dispozitive mobile: `?country=US,CA&device=Mobile`.

## Defalcări

`count` returnează un obiect. Toate celelalte valori returnează un array, sortat după `clicks` descrescător (`timeseries` este sortat cronologic).

| `groupBy` | Fiecare element conține |
| - | - |
| `count` | `clicks` (un obiect, nu un array) |
| `timeseries` | `start` (începutul intervalului), `clicks` |
| `continents` | `continent`, `clicks` |
| `regions` | `region`, `country`, `clicks` |
| `countries` | `country`, `city` (întotdeauna `*`), `clicks` |
| `cities` | `city`, `country`, `clicks` |
| `devices` | `device`, `clicks` |
| `browsers` | `browser`, `clicks` |
| `os` | `os`, `clicks` |
| `triggers` | `trigger` (`qr` sau `link`), `clicks` |
| `referers` | `referer` (`(direct)` când este necunoscut), `clicks` |
| `referer_urls` | `refererUrl` (`(direct)` când este necunoscut), `clicks` |
| `top_links` | `id`, `domain`, `key`, `shortLink`, `url`, `createdAt`, `qr` (`id`, `qrType`, `title`), `clicks` |
| `top_urls` | `url`, `clicks` |
| `top_types` | `qr_type`, `clicks` |
| `utm_sources`, `utm_mediums`, `utm_campaigns`, `utm_terms`, `utm_contents` | Valoarea UTM (`utm_source`, `utm_medium`, `utm_campaign`, `utm_term` sau `utm_content`), `clicks` |

Un `groupBy` necunoscut returnează `422` cu lista valorilor valide.

Răspuns când `groupBy=count`:

```json theme={null}
{ "clicks": 142 }
```

Răspuns când `groupBy=countries`:

```json theme={null}
[
  { "country": "US", "city": "*", "clicks": 87 },
  { "country": "DE", "city": "*", "clicks": 31 },
  { "country": "GB", "city": "*", "clicks": 24 }
]
```

## Statistici pentru un cod QR

`GET /api/v1/qrs/{qrId}/analytics`

Returnează statisticile de scanare pentru un cod QR, limitate la linkul său scurt. Primește [parametrii de interogare](#parametri-de-interogare) și [filtrele pe dimensiuni](#filtre-pe-dimensiuni) de mai sus.

**qrId** `string` *required*

ID-ul codului QR. Preluați-l din răspunsul listei sau al creării din [Coduri QR](https://docs.getqr.com/ro/api/endpoints/qr-codes.md).

```bash Total scans, last 30 days theme={null}
curl "https://getqr.com/api/v1/qrs/qr_1EPcVfeHZAY2iNoVLsgW2Aqf/analytics?groupBy=count&interval=30d" \
  -H "Authorization: Bearer $GETQR_API_KEY"
```

```bash Unique scans theme={null}
curl "https://getqr.com/api/v1/qrs/qr_1EPcVfeHZAY2iNoVLsgW2Aqf/analytics?groupBy=count&interval=30d&unique=true" \
  -H "Authorization: Bearer $GETQR_API_KEY"
```

```bash By country, last 7 days theme={null}
curl "https://getqr.com/api/v1/qrs/qr_1EPcVfeHZAY2iNoVLsgW2Aqf/analytics?groupBy=countries&interval=7d" \
  -H "Authorization: Bearer $GETQR_API_KEY"
```

```json 200 theme={null}
{
  "clicks": 142
}
```

## Statistici pentru spațiul de lucru

`GET /api/v1/analytics`

Returnează statisticile de scanare pentru toate codurile QR din spațiul dvs. de lucru. Primește [parametrii de interogare](#parametri-de-interogare) și [filtrele pe dimensiuni](#filtre-pe-dimensiuni) de mai sus, plus acești parametri de delimitare.

**domain** `string`

Împreună cu `key`, limitează rezultatele la linkul scurt cu acest domeniu, de exemplu `getqr.sh`. Domeniul trebuie să aparțină spațiului dvs. de lucru.

**key** `string`

Slugul linkului scurt, de exemplu `x7Kd2p1`. Folosiți-l împreună cu `domain`. Ambele se află în [obiectul cod QR](https://docs.getqr.com/ro/api/endpoints/qr-codes.md).

**qrType** `string`

Tipurile de coduri QR incluse, separate prin virgulă: `website`, `pdf`, `image`, `video`, `whatsapp`, `social`, `wifi`, `app`, `feedback`, `vcard`, `sms`, `payment`, `location`, `multilink`, `email` sau `event`. Consultați [Tipuri de coduri QR](https://docs.getqr.com/ro/api/guides/qr-types.md).

```bash Devices, last 7 days theme={null}
curl "https://getqr.com/api/v1/analytics?groupBy=devices&interval=7d" \
  -H "Authorization: Bearer $GETQR_API_KEY"
```

```bash Devices, website QR codes only theme={null}
curl "https://getqr.com/api/v1/analytics?groupBy=devices&interval=30d&qrType=website" \
  -H "Authorization: Bearer $GETQR_API_KEY"
```

```bash One short link theme={null}
curl "https://getqr.com/api/v1/analytics?groupBy=count&domain=getqr.sh&key=x7Kd2p1" \
  -H "Authorization: Bearer $GETQR_API_KEY"
```

```json 200 theme={null}
[
  { "device": "Mobile", "clicks": 980 },
  { "device": "Desktop", "clicks": 240 }
]
```

## Probleme frecvente

> [accordion] 400 "QR has no associated link."
>
> Codul QR nu are link scurt, așa că nu există scanări de numărat.

> [accordion] 404 la filtrarea după domain și key
>
> În spațiul dvs. de lucru nu există niciun link scurt cu acel domeniu și slug. Copiați `domain` și `key` din obiectul cod QR.

> [accordion] 422 pentru groupBy, interval sau un filtru
>
> Valoarea nu este acceptată. Mesajul de eroare indică parametrul și enumeră valorile valide.

> [accordion] Cifrele nu corespund cu cele din panou
>
> Verificați dacă folosiți același interval de date și același fus orar și dacă numărați scanările unice (`unique=true`) sau totalul scanărilor.

## Ce urmează

> [card] [Rapoarte](https://docs.getqr.com/ro/api/endpoints/reports.md)

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

> [card] [Statistici în aplicație](https://docs.getqr.com/ro/analytics/overview.md)

> [card] [Limite de cereri](https://docs.getqr.com/ro/api/rate-limits.md)


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