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

# Analytika

> Statistiky skenování pro jeden QR kód nebo celý pracovní prostor.

> [!NOTE]
>
> GetQR API je v beta verzi a je dostupné pro vybrané pracovní prostory. Do obecného vydání se podrobnosti mohou změnit.

Získejte celkové počty skenování a rozpady podle země, zařízení, prohlížeče a dalších dimenzí, pro jeden QR kód nebo napříč pracovním prostorem.

| Metoda | Cesta | Popis |
| - | - | - |
| `GET` | `/api/v1/qrs/{qrId}/analytics` | [Získání analytiky QR kódu](#získání-analytiky-qr-kódu) |
| `GET` | `/api/v1/analytics` | [Získání analytiky pracovního prostoru](#získání-analytiky-pracovního-prostoru) |

Hotové souhrny pro jednotlivé QR kódy najdete v části [Reporty](https://docs.getqr.com/cs/api/endpoints/reports.md).

## Co čísla znamenají

* **Skenování.** Každý počet je v poli `clicks`. Skenování se započítá pokaždé, když někdo otevře krátký odkaz QR kódu.
* **Unikátní skenování.** S `unique=true` se každý návštěvník v daném období započítá jen jednou.
* **Rozsah.** Čísla pocházejí z krátkého odkazu QR kódu. QR kód bez krátkého odkazu nemá žádná skenování k započítání.
* **Historie.** Analytiku nelze přes API resetovat. Smazání QR kódu historická data skenování neodstraní.

## Hlavičky

**Authorization** `string` *required*

`Bearer` následovaný vaším API klíčem. Viz [Ověřování](https://docs.getqr.com/cs/api/authentication.md).

## Parametry dotazu

Oba endpointy přijímají tyto parametry. Všechny jsou nepovinné.

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

Dimenze rozpadu. `count` vrátí celkový počet. Všechny hodnoty a tvar jejich odpovědí najdete v části [Rozpady](#rozpady).

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

Přednastavené období: `24h`, `7d`, `30d`, `90d`, `1y`, `mtd`, `qtd`, `ytd` nebo `all`. Viz [Období](#období). Ignoruje se, když pošlete `start`.

**start** `string`

Začátek vlastního období, ISO 8601, například `2026-08-01` nebo `2026-08-01T00:00:00Z`. Má přednost před `interval`. Musí být dříve než `end`.

**end** `string`

Konec vlastního období, ISO 8601. Výchozí hodnota je konec dnešního dne. Používá se spolu se `start` nebo s `interval=all` a s ostatními intervaly se ignoruje.

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

Časové pásmo IANA pro zarovnání intervalů `timeseries`, například `America/New_York`. Neznámé časové pásmo vrátí `422`.

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

`true` počítá unikátní skenování místo celkového počtu skenování.

Můžete poslat i [filtry dimenzí](#filtry-dimenzí).

## Období

| `interval` | Pokrývá | Intervaly `timeseries` |
| - | - | - |
| `24h` | Posledních 24 hodin | Hodiny |
| `7d` | Posledních 7 dní včetně dneška | Dny |
| `30d` | Posledních 30 dní včetně dneška | Dny |
| `90d` | Posledních 90 dní včetně dneška | Dny |
| `1y` | Posledních 365 dní včetně dneška | Měsíce |
| `mtd` | Od začátku měsíce | Dny |
| `qtd` | Od začátku čtvrtletí | Dny |
| `ytd` | Od začátku roku | Dny, po 180 dnech měsíce |
| `all` | Od vytvoření vašeho pracovního prostoru | Dny, po 180 dnech měsíce |

Pro vlastní období pošlete `start` a volitelně `end`. Období do 2 dnů používají hodinové intervaly, období delší než 180 dní měsíční a vše mezi tím denní.

## Filtry dimenzí

Zužte výsledky na skenování, která odpovídají filtru. Různé filtry se kombinují přes AND. Pokud filtr přijímá více hodnot, oddělte je čárkami: hodnoty se kombinují přes OR.

| Filtr | Hodnota | Více hodnot |
| - | - | - |
| `country` | Kód země ISO 3166-1 alpha-2, například `US` | Ano |
| `region` | Kód regionu ISO 3166-2, například `US-CA` | Ano |
| `city` | Název města, například `New York` | Ano |
| `continent` | `AF`, `AN`, `AS`, `EU`, `NA`, `OC` nebo `SA` | Ano |
| `device` | Typ zařízení, například `Mobile` nebo `Desktop` | Ano |
| `browser` | Název prohlížeče, například `Chrome` | Ano |
| `os` | Operační systém, například `iOS` nebo `Windows` | Ano |
| `url` | Cílová URL | Ano |
| `referer` | Referrer, například `google.com` | Ne |
| `utm_source`, `utm_medium`, `utm_campaign`, `utm_term`, `utm_content` | Hodnota UTM, nejvýše 190 znaků | Ne |

Neznámý kód země nebo kontinentu vrátí `422`. Názvy zařízení, prohlížečů a operačních systémů se porovnávají s velkým počátečním písmenem, takže `mobile` funguje stejně jako `Mobile`.

Například skenování z USA nebo Kanady na mobilních zařízeních: `?country=US,CA&device=Mobile`.

## Rozpady

`count` vrací objekt. Všechny ostatní hodnoty vracejí pole seřazené podle `clicks` od nejvyšší po nejnižší (`timeseries` je seřazené podle času).

| `groupBy` | Každá položka obsahuje |
| - | - |
| `count` | `clicks` (objekt, ne pole) |
| `timeseries` | `start` (začátek intervalu), `clicks` |
| `continents` | `continent`, `clicks` |
| `regions` | `region`, `country`, `clicks` |
| `countries` | `country`, `city` (vždy `*`), `clicks` |
| `cities` | `city`, `country`, `clicks` |
| `devices` | `device`, `clicks` |
| `browsers` | `browser`, `clicks` |
| `os` | `os`, `clicks` |
| `triggers` | `trigger` (`qr` nebo `link`), `clicks` |
| `referers` | `referer` (`(direct)`, pokud není znám), `clicks` |
| `referer_urls` | `refererUrl` (`(direct)`, pokud není znám), `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` | Hodnota UTM (`utm_source`, `utm_medium`, `utm_campaign`, `utm_term` nebo `utm_content`), `clicks` |

Neznámá hodnota `groupBy` vrátí `422` se seznamem platných hodnot.

Odpověď při `groupBy=count`:

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

Odpověď při `groupBy=countries`:

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

## Získání analytiky QR kódu

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

Vrací statistiky skenování pro jeden QR kód, omezené na jeho krátký odkaz. Přijímá výše uvedené [parametry dotazu](#parametry-dotazu) a [filtry dimenzí](#filtry-dimenzí).

**qrId** `string` *required*

ID QR kódu. Najdete ho v odpovědi výpisu nebo vytvoření [QR kódů](https://docs.getqr.com/cs/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
}
```

## Získání analytiky pracovního prostoru

`GET /api/v1/analytics`

Vrací statistiky skenování napříč všemi QR kódy ve vašem pracovním prostoru. Přijímá výše uvedené [parametry dotazu](#parametry-dotazu) a [filtry dimenzí](#filtry-dimenzí) a navíc tyto parametry pro zúžení rozsahu.

**domain** `string`

Spolu s `key` omezí výsledky na krátký odkaz s touto doménou, například `getqr.sh`. Doména musí patřit k vašemu pracovnímu prostoru.

**key** `string`

Slug krátkého odkazu, například `x7Kd2p1`. Používejte ho spolu s `domain`. Obojí najdete v [objektu QR kódu](https://docs.getqr.com/cs/api/endpoints/qr-codes.md).

**qrType** `string`

Typy QR kódů oddělené čárkami, které se mají zahrnout: `website`, `pdf`, `image`, `video`, `whatsapp`, `social`, `wifi`, `app`, `feedback`, `vcard`, `sms`, `payment`, `location`, `multilink`, `email` nebo `event`. Viz [Typy QR kódů](https://docs.getqr.com/cs/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 }
]
```

## Časté problémy

> [accordion] 400 "QR has no associated link."
>
> QR kód nemá krátký odkaz, takže nejsou žádná skenování k započítání.

> [accordion] 404 při filtrování podle domain a key
>
> Ve vašem pracovním prostoru neexistuje krátký odkaz s touto doménou a slugem. Zkopírujte `domain` a `key` z objektu QR kódu.

> [accordion] 422 u groupBy, interval nebo filtru
>
> Hodnota není podporovaná. Chybová zpráva uvádí parametr a vypisuje platné hodnoty.

> [accordion] Čísla neodpovídají dashboardu
>
> Ověřte, že používáte stejné období a časové pásmo a zda počítáte unikátní skenování (`unique=true`), nebo celkový počet skenování.

## Co dál

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

> [card] [QR kódy](https://docs.getqr.com/cs/api/endpoints/qr-codes.md)

> [card] [Analytika v aplikaci](https://docs.getqr.com/cs/analytics/overview.md)

> [card] [Limity požadavků](https://docs.getqr.com/cs/api/rate-limits.md)


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