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

# Data QR kódu podle typu

> Formát dat, ukázka požadavku a chování při úpravě po vytištění pro každý ze 16 typů QR kódů.

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

Každý QR kód má `qrType` a typ určuje, co musí obsahovat `data`. Tento návod uvádí formát každého typu, funkční tělo požadavku a co lze změnit, když už je kód vytištěný.

Příklady jsou těla požadavků pro [vytvoření QR kódu](https://docs.getqr.com/cs/api/endpoints/qr-codes.md#vytvoření-qr-kódu). Posílejte je takto:

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

## Přehled všech typů

| `qrType` | `data` | Lze upravit po vytištění |
| - | - | - |
| [`website`](#website) | URL http(s) | Ano |
| [`feedback`](#feedback) | URL http(s) formuláře | Ano |
| [`payment`](#payment) | URL poskytovatele plateb | Ano |
| [`whatsapp`](#whatsapp) | Odkaz `wa.me` | Ano |
| [`location`](#location) | URL mapy | Ano |
| [`app`](#app-link) | URL obchodu nebo prázdné, plus `link.ios` / `link.android` | Ano |
| [`email`](#email) | URI `mailto:` | Ano |
| [`sms`](#sms) | URI `sms:` | Ano |
| [`wifi`](#wifi) | Obsah `WIFI:` | **Ne** |
| [`pdf`, `image`, `video`](#pdf-image-a-video) | Prázdné, s `fileId` | Ano |
| [`vcard`](#vcard) | Text vCard 3.0 | Ano |
| [`social`](#social-media) | Řetězec JSON | Ano |
| [`multilink`](#multi-link) | Řetězec JSON | Ano |
| [`event`](#event) | Řetězec JSON | Ano |

## Jak se QR kód vyhodnocuje

Každý QR kód tvoří krátký odkaz a datový obsah. Obsah nesou dvě pole:

| Pole | Co to je |
| - | - |
| `link.url` | Kam krátký odkaz pošle návštěvníka. U všech typů kromě `wifi` je to skutečný cíl. |
| `data` | Obsah daného typu, ověřovaný podle `qrType`. Beze změny se ukládá jen u `wifi`, `vcard`, `social`, `multilink`, `event` a `sms`. U všech ostatních typů slouží jen k nastavení `link.url` a do uloženého `data` se zapíše krátký odkaz. Cíl čtěte z `url` v odpovědi. |

Pravidla pro všechny typy:

* **Výchozí hodnoty.** Při vytváření převezme vynechané nebo prázdné `link.url` hodnotu `data` a celý objekt `link` můžete vynechat. Když pošlete obojí a hodnoty se liší, má přednost `link.url`. Pošlete je stejné, nebo pošlete jen `data`.
* **Co obrázek kóduje.** U všech typů kromě `wifi` kóduje obrázek krátký odkaz. Můžete tedy změnit, kam vytištěný kód vede, a jeho skenování se sledují. WiFi QR kód kóduje přímo síť: po vytištění ho nelze změnit a jeho skenování se nesledují.
* **Schémata.** `link.url` přijímá jen `http:`, `https:`, `wifi:`, `mailto:`, `sms:` a `begin:`. Cokoli jiného, včetně `geo:`, `smsto:`, `matmsg:` a `tel:`, vrátí `422 Invalid destination URL`, i když to `data` přijme.
* **Prázdná data.** Prázdné `data` přeskočí kontrolu typu. U přesměrovacího typu pak musí být nastavené `link.url`, jinak volání vrátí `400 Missing destination URL`.
* **Struktura.** Kromě kontroly typu server obsah neověřuje. U typu JSON stačí, aby šel naparsovat jako objekt JSON, a vCard musí jen začínat na `BEGIN:VCARD`.

> [!TIP]
>
> Limity označené níže jako **Editor** vynucuje editor v dashboardu. API přijme i obsah, který je nedodržuje, ale na vstupní stránce nebo v editoru se pak může zobrazit podivně.

## Website

`qrType`: `"website"`. Návod pro dashboard: [QR kód Website](https://docs.getqr.com/cs/qr-types/website.md).

| Pole | Chování |
| - | - |
| `data` | URL http(s). |
| `link.url` | Cíl. Výchozí hodnota je `data`. |
| `fileId` | Není povoleno. |
| Kóduje | Krátký odkaz, který přesměruje na `link.url`. Skenování se sledují. |
| Po vytištění | Lze upravit. Pro změnu cíle pošlete `data` nebo `link.url`. Stačí samotné `data`. |

```json Request body theme={null}
{
  "qrType": "website",
  "data": "https://example.com/menu",
  "title": "Menu"
}
```

Chyby:

* `422 Expected an http(s) URL, e.g. "https://example.com" for qrType "website".`
* `422 Invalid destination URL`

## Feedback

`qrType`: `"feedback"`. Návod pro dashboard: [QR kód typu Feedback](https://docs.getqr.com/cs/qr-types/feedback.md).

`data` je URL http(s) formuláře pro zpětnou vazbu, například Google Form nebo stránky s recenzemi. Vše ostatní funguje jako u typu [Website](#website).

```json Request body theme={null}
{
  "qrType": "feedback",
  "data": "https://forms.gle/abc123"
}
```

## Payment

`qrType`: `"payment"`. Návod pro dashboard: [QR kód typu Payment](https://docs.getqr.com/cs/qr-types/payment.md).

`data` je platební URL poskytovatele, například:

```text theme={null}
https://paypal.me/<user>/25EUR
```

Editor v dashboardu rozpozná tyto hostitele: `paypal.me`, `paypal.com/paypalme`, `cash.app`, `venmo.com`, `buy.stripe.com`, `stripe.com`, `square.link` a `payoneer.com`. U PayPal je částka posledním segmentem cesty. Funguje i jakákoli jiná URL http(s), ale editor ji nerozdělí na poskytovatele a částku. Vše ostatní funguje jako u typu [Website](#website).

```json Request body theme={null}
{
  "qrType": "payment",
  "data": "https://paypal.me/acme/25EUR"
}
```

## WhatsApp

`qrType`: `"whatsapp"`. Návod pro dashboard: [QR kód WhatsApp](https://docs.getqr.com/cs/qr-types/whatsapp.md).

`data` je odkaz `wa.me`: mezinárodní číslo jen v číslicích bez `+`, volitelně s předvyplněným textem.

```text theme={null}
https://wa.me/<digits>
https://wa.me/<digits>?text=<urlencoded>
```

Server kontroluje jen, zda jde o URL http(s). Dashboard čte i odkazy `api.whatsapp.com/send`. Vše ostatní funguje jako u typu [Website](#website).

```json Request body theme={null}
{
  "qrType": "whatsapp",
  "data": "https://wa.me/14155550123?text=Hi%20there"
}
```

## Location

`qrType`: `"location"`. Návod pro dashboard: [QR kód typu Location](https://docs.getqr.com/cs/qr-types/location.md).

`data` je URL mapy. Aby QR kód zůstal v dashboardu upravitelný, použijte tento formát (`query_place_id` je nepovinný):

```text theme={null}
https://www.google.com/maps/search/?api=1&query=<address>&query_place_coords=<lat>,<lng>&query_place_id=<id>
```

Přesměruje i jakákoli jiná URL http(s). URI `geo:` projde kontrolou `data`, ale jako cíl se odmítne, proto ho nepoužívejte. Vše ostatní funguje jako u typu [Website](#website).

```json Request body theme={null}
{
  "qrType": "location",
  "data": "https://www.google.com/maps/search/?api=1&query=Golden+Gate+Bridge&query_place_coords=37.8199,-122.4783"
}
```

## App Link

`qrType`: `"app"`. Návod pro dashboard: [QR kód typu App Link](https://docs.getqr.com/cs/qr-types/app-link.md).

| Pole | Chování |
| - | - |
| `link.ios`, `link.android` | URL v App Store a Google Play. Návštěvníci s iOS jdou na `ios`, návštěvníci s Androidem na `android`. Při skenování mají tyto hodnoty přednost před vším ostatním. |
| `link.url` | Záložní cíl pro ostatní zařízení. Výchozí hodnota je `data`, poté `ios` nebo `android`. |
| `data` | URL http(s) (dashboard posílá URL obchodu) nebo prázdné. Musí být nastaveno alespoň jedno z `link.ios`, `link.android`, `link.url` nebo `data`, jinak volání vrátí `400 Missing destination URL`. |
| `fileId` | Není povoleno. |
| Kóduje | Krátký odkaz. Skenování se sledují. |
| Po vytištění | Lze upravit. `link.ios` a `link.android` se použijí nezávisle na sobě, každé jen tehdy, když ho pošlete. `null` hodnotu vymaže. `qrType` není třeba posílat znovu. Přepnutí na jiný typ vymaže oba odkazy do obchodů. |

```json Request body theme={null}
{
  "qrType": "app",
  "data": "https://apps.apple.com/app/id123456789",
  "link": {
    "ios": "https://apps.apple.com/app/id123456789",
    "android": "https://play.google.com/store/apps/details?id=com.acme.app"
  }
}
```

Chyby:

* `422 Invalid URL`
* `400 Missing destination URL`

## Email

`qrType`: `"email"`. Návod pro dashboard: [QR kód typu Email](https://docs.getqr.com/cs/qr-types/email.md).

```text theme={null}
mailto:<address>?subject=<subject>&body=<body>
```

| Pole | Chování |
| - | - |
| `data` | URI `mailto:` s volitelným předmětem a textem. Mezery kódujte jako `%20`: dashboard je zapisuje jako `+`, což ne každá e-mailová aplikace čte jako mezeru. `matmsg:` se jako cíl odmítne. |
| `link.url` | URI `mailto:`. Výchozí hodnota je `data`. |
| `fileId` | Není povoleno. |
| Kóduje | Krátký odkaz, který otevře stránku předávající zprávu e-mailové aplikaci. |
| Po vytištění | Lze upravit. Pro změnu zprávy pošlete `data` nebo `link.url`. Stačí samotné `data`. |

```json Request body theme={null}
{
  "qrType": "email",
  "data": "mailto:hi@example.com?subject=Hello&body=Hi%20there"
}
```

Chyby:

* `422 Expected a mailto URI, e.g. "mailto:hi@example.com?subject=Hello" for qrType "email".`

## SMS

`qrType`: `"sms"`. Návod pro dashboard: [QR kód typu SMS](https://docs.getqr.com/cs/qr-types/sms.md).

```text theme={null}
sms:+<digits>
sms:+<digits>?body=<encodeURIComponent(text)>
```

| Pole | Chování |
| - | - |
| `data` | URI `sms:` s volitelným textem zprávy. Dashboard čte jen přesně tento tvar. `smsto:` se jako cíl odmítne. |
| `link.url` | URI `sms:`. Výchozí hodnota je `data`. |
| `fileId` | Není povoleno. |
| Kóduje | Krátký odkaz, který otevře stránku předávající zprávu aplikaci pro zprávy. |
| Po vytištění | Lze upravit. Pro změnu zprávy pošlete `data` nebo `link.url`. Stačí samotné `data`. |

```json Request body theme={null}
{
  "qrType": "sms",
  "data": "sms:+14155550123?body=Table%2012"
}
```

Chyby:

* `422 Expected an SMS URI, e.g. "sms:+14155550123?body=Hello" for qrType "sms".`

## WiFi

`qrType`: `"wifi"`. Návod pro dashboard: [QR kód WiFi](https://docs.getqr.com/cs/qr-types/wifi.md).

```text theme={null}
WIFI:T:<WPA|WEP|nopass>;S:<ssid>;P:<password>;H:<true|false>;;
```

| Pole | Chování |
| - | - |
| `data` | Povinné. Dodržte pořadí `T`, `S`, `P`, `H`: závisí na něm editor i seznam v dashboardu. V SSID a hesle escapujte `\`, `;`, `"` a `:` zpětným lomítkem. U otevřené sítě použijte `T:nopass` s prázdným `P:`. Čtečky odmítají `T:none`. **Editor:** SSID je povinné, heslo musí mít alespoň 8 znaků, pokud nejde o `nopass`. |
| `link.url` | Při skenování se nepoužívá. Výchozí hodnota je `data`. |
| `fileId` | Není povoleno. |
| Kóduje | Surový obsah `WIFI:`, ne krátký odkaz. Skenování se nesledují. |
| Po vytištění | **Nelze upravit.** Nová hodnota `data` změní jen budoucí stažení. Vytištěné kódy si ponechají starou síť. |

```json Request body theme={null}
{
  "qrType": "wifi",
  "data": "WIFI:T:WPA;S:Cafe Guest;P:espresso42;H:false;;"
}
```

Chyby:

* `422 Expected a Wi-Fi payload, e.g. "WIFI:T:WPA;S:MyNetwork;P:secret;H:false;" for qrType "wifi".`

> [!WARNING]
>
> U vytištěného WiFi QR kódu neměňte typ. Vytištěné kódy si ponechají starou síť.

## PDF, Image a Video

`qrType`: `"pdf"`, `"image"` nebo `"video"`. Návody pro dashboard: [PDF](https://docs.getqr.com/cs/qr-types/pdf.md), [Image](https://docs.getqr.com/cs/qr-types/image.md), [Video](https://docs.getqr.com/cs/qr-types/video.md).

| Pole | Chování |
| - | - |
| `fileId` | Soubor. Nahrajte ho s cílem, který odpovídá typu: `pdf`, `image` nebo `video`. S `fileId` se z `link.url` stane URL souboru a cokoli, co do něj pošlete, se ignoruje. |
| `data` | Cokoli kromě obsahu jiného typu (`WIFI:`, `BEGIN:VCARD`, `sms:`, `mailto:`, objekt JSON). Může být prázdné. |
| `link.url` | Bez `fileId` se `link.url` (nebo `data`) použije jako externí cíl. Funguje to, ale dashboard pak žádný soubor nezobrazí. |
| Kóduje | Krátký odkaz, který přesměruje přímo na soubor. PDF se otevře jako samotný soubor, ne na stránce prohlížeče. |
| Po vytištění | Lze upravit. Pro výměnu souboru pošlete nové `fileId`. Starý soubor se uvolní. |

Jeden soubor na QR kód: balíčky PDF a galerie obrázků přes API k dispozici nejsou. Viz [Nepodporováno přes API](#nepodporováno-přes-api).

```json pdf theme={null}
{
  "qrType": "pdf",
  "data": "",
  "fileId": "file_9f8e7d6c5b4a",
  "title": "Brochure"
}
```

```json image theme={null}
{
  "qrType": "image",
  "data": "",
  "fileId": "file_3c2b1a0f9e8d",
  "title": "Floor plan"
}
```

```json video theme={null}
{
  "qrType": "video",
  "data": "",
  "fileId": "file_5e4d3c2b1a0f",
  "title": "Product demo"
}
```

Jak soubor nahrát a získat jeho `fileId`, najdete v části [Soubory](https://docs.getqr.com/cs/api/endpoints/files.md).

## vCard

`qrType`: `"vcard"`. Návod pro dashboard: [QR kód typu vCard](https://docs.getqr.com/cs/qr-types/vcard.md).

| Pole | Chování |
| - | - |
| `data` | Povinné. Text vCard 3.0 začínající na `BEGIN:VCARD`, řádky oddělené `\r\n` (funguje i `\n`). |
| `fileId` | Volitelný profilový obrázek (cíl `logo`), použije se, když `data` nemá řádek `PHOTO` ani `X-GETQR-IMAGE-FILEID`. |
| `link.url` | Ignoruje se a nahradí se hostovanou stránkou. Vynechte ho. |
| Kóduje | Krátký odkaz, který otevře hostovanou stránku kontaktu se stažením kontaktu (`.vcf`). |
| Po vytištění | Lze upravit. Pro aktualizaci stránky pošlete nové `data`. |

Vstupní stránka a editor čtou jen řádky v níže uvedených tvarech. Jiné varianty, například `TEL;CELL:` nebo `EMAIL;TYPE=INTERNET:`, se uloží, ale na stránce se nezobrazí.

* `N:<last>;<first>;;;`: příjmení a jméno. **Editor:** obojí povinné, nejvýše 40 znaků.
* `FN:<first> <last>`: stránka ho nečte. Podle něj se tvoří popisek v seznamu v dashboardu.
* `ORG:<company>` a `TITLE:<role>`: společnost a pozice. **Editor:** nejvýše 40 znaků.
* `TEL;TYPE=HOME:`, `TEL;TYPE=CELL:`, `TEL;TYPE=WORK:`, `TEL;TYPE=FAX:`: telefon, mobil, pracovní telefon a fax (`+` a číslice).
* `EMAIL:<email>`: e-mailová adresa.
* `URL:<url>`: web.
* `NOTE:<text>`: shrnutí. Escapujte `\\`, `\n`, `\;` a `\,`. **Editor:** nejvýše 200 znaků.
* `ADR:;;<street>;<city>;<state>;<zip>;<country>`: adresa.
* `X-SOCIALPROFILE;TYPE=<platform>:<url>` nebo `URL;TYPE=<PLATFORM>:<url>`: odkazy na sociální sítě, jeden řádek na platformu.
* `PHOTO;VALUE=URI:<url>`: URL profilového obrázku. Má přednost před jakýmkoli ID souboru.
* `X-GETQR-IMAGE-FILEID:<fileId>`: profilový obrázek (cíl `logo`).
* `X-GETQR-PAGE-LOGO-FILEID:<fileId>`: logo stránky (cíl `logo`).
* `X-GETQR-LANDING-THEME:p|<0-4>` nebo `X-GETQR-LANDING-THEME:c|#RRGGBB|#RRGGBB|#RRGGBB`: motiv vstupní stránky, buď index předvolby (0 až 4), nebo vlastní barvy pozadí, tlačítek a ikon.

Sociální sítě: `facebook`, `whatsapp`, `instagram`, `youtube`, `tiktok`, `messenger`, `snapchat`, `linkedin`, `x`, `reddit`, `pinterest`, `telegram`, `wechat`, `viber`, `line`.

```json Request body theme={null}
{
  "qrType": "vcard",
  "data": "BEGIN:VCARD\r\nVERSION:3.0\r\nN:Doe;Jane;;;\r\nFN:Jane Doe\r\nORG:Acme\r\nTITLE:CTO\r\nTEL;TYPE=CELL:+14155550123\r\nEMAIL:jane@acme.com\r\nURL:https://acme.com\r\nX-GETQR-LANDING-THEME:p|0\r\nEND:VCARD",
  "title": "Jane Doe"
}
```

Chyby:

* `422 Expected a vCard payload starting with "BEGIN:VCARD" for qrType "vcard".`

## Social Media

`qrType`: `"social"`. Návod pro dashboard: [QR kód Social Media](https://docs.getqr.com/cs/qr-types/social.md).

| Pole | Chování |
| - | - |
| `data` | Povinné. Řetězec JSON, který kóduje objekt. Sestavte ho pomocí `JSON.stringify`. |
| `fileId` | Volitelný profilový obrázek na nejvyšší úrovni (cíl `logo`). |
| `link.url` | Ignoruje se a nahradí se hostovanou stránkou. Vynechte ho. |
| Kóduje | Krátký odkaz, který otevře hostovanou stránku sociálních sítí. |
| Po vytištění | Lze upravit. Pro aktualizaci stránky pošlete nové `data`. |

Pole v `data`:

| Pole | Typ | Poznámky |
| - | - | - |
| `firstName` | string | Nadpis stránky a jediné zobrazené jméno. **Editor:** povinné, nejvýše 40. |
| `lastName` | string | Nejvýše 40. Na stránce se nezobrazuje. |
| `summary` | string | Nejvýše 200. |
| `socialLinks` | `{ platform, url }[]` | `platform` je jedna z [sociálních sítí vCard](#vcard). **Editor:** každá platforma jen jednou. |
| `customItems` | `{ name, url, logoFileId }[]` | **Editor:** `name` nejvýše 40, `url` http(s) a `logoFileId`. Celkem alespoň jeden odkaz na sociální síť nebo vlastní položka. |
| `fileId` | string | Profilový obrázek (cíl `logo`). Záložní hodnotou je `fileId` na nejvyšší úrovni. |
| `imageUrl` | string | URL externího profilového obrázku, použije se jen tehdy, když chybí ID souboru. |
| `pageLogoFileId` | string | Logo stránky (cíl `logo`). |
| `landingThemeMode` | `"preset" \| "custom"` | Výchozí hodnota je `preset`. |
| `landingPresetIndex` | 0–4 | Výchozí hodnota je 0. |
| `landingCustomBg`, `landingCustomButton`, `landingCustomIcon` | `#RRGGBB` | Použijí se, když je režim `custom`. |

```json Request body theme={null}
{
  "qrType": "social",
  "data": "{\"firstName\":\"Acme Coffee\",\"summary\":\"Follow us\",\"socialLinks\":[{\"platform\":\"instagram\",\"url\":\"https://instagram.com/acme\"}],\"customItems\":[]}"
}
```

Chyby:

* `422 Expected a JSON object describing the social profile page for qrType "social".`

## Multi-Link

`qrType`: `"multilink"`. Návod pro dashboard: [QR kód typu Multi-Link](https://docs.getqr.com/cs/qr-types/multi-link.md).

| Pole | Chování |
| - | - |
| `data` | Povinné. Řetězec JSON, který kóduje objekt. |
| `fileId` | Volitelný profilový obrázek na nejvyšší úrovni (cíl `logo`). |
| `link.url` | Ignoruje se a nahradí se hostovanou stránkou. Vynechte ho. |
| Kóduje | Krátký odkaz, který otevře hostovanou stránku s více odkazy. |
| Po vytištění | Lze upravit. Pro aktualizaci stránky pošlete nové `data`. |

Pole v `data` jsou stejná jako u typu [Social Media](#social-media), jen `firstName`, `lastName` a `summary` nahrazují tato pole:

| Pole | Typ | Poznámky |
| - | - | - |
| `title` | string | Nadpis stránky. **Editor:** povinné, nejvýše 40. |
| `description` | string | Nejvýše 200. |

V `customItems` je `logoFileId` nepovinné: zobrazí se záložní ikona. **Editor:** alespoň jeden odkaz na sociální síť nebo jedna neprázdná vlastní položka.

```json Request body theme={null}
{
  "qrType": "multilink",
  "data": "{\"title\":\"Acme links\",\"description\":\"Everything in one place\",\"socialLinks\":[],\"customItems\":[{\"name\":\"Shop\",\"url\":\"https://acme.com/shop\",\"logoFileId\":\"\"}]}"
}
```

Chyby:

* `422 Expected a JSON object describing the multi-link page for qrType "multilink".`

## Event

`qrType`: `"event"`. Návod pro dashboard: [QR kód typu Event](https://docs.getqr.com/cs/qr-types/event.md).

| Pole | Chování |
| - | - |
| `data` | Povinné. Řetězec JSON, který kóduje objekt. Neznámé nebo neplatné hodnoty se nahradí výchozími. |
| `fileId` | Ověří se (cíl `logo`) a uloží, ale stránka akce čte titulní obrázek jen z `data.fileId`. ID titulního obrázku vložte do obsahu. |
| `link.url` | Ignoruje se a nahradí se hostovanou stránkou. Vynechte ho. |
| Kóduje | Krátký odkaz, který otevře hostovanou stránku akce se stažením `.ics`. |
| Po vytištění | Lze upravit. Pro aktualizaci stránky pošlete nové `data`. |

Pole v `data`:

| Pole | Typ | Poznámky |
| - | - | - |
| `name` | string | **Editor:** povinné. |
| `eventType` | string | Jeden z níže uvedených typů akcí, nebo prázdné. |
| `start`, `end` | `"YYYY-MM-DDTHH:mm"` | Místní čas v pásmu `timezone`. **Editor:** obojí povinné, konec musí být po začátku. |
| `timezone` | IANA, například `"Europe/Berlin"` | Umístí začátek a konec v souboru `.ics`. Posílejte ho vždy: s prázdným nebo neznámým pásmem bere soubor `.ics` časy jako UTC. |
| `street`, `zip`, `city`, `state`, `country` | string | **Editor:** `city` a `country` povinné, každé nejvýše 40. |
| `facilities` | string\[] | ID z níže uvedeného seznamu. Neznámá ID se zahodí. |
| `notes` | string | Volný text. |
| `fileId` | string | Titulní obrázek (cíl `logo`). |
| `pageLogoFileId` | string | Logo stránky (cíl `logo`). |
| `organizerName`, `organizerEmail`, `mobile`, `work` | string | `mobile` a `work` nejvýše 40. |
| `socialLinks` | `{ platform, url }[]` | [Sociální sítě vCard](#vcard) a navíc `website`. |
| `ticketsUrl` | URL http(s) | Odkaz na nákup vstupenek. |
| `ticketsLabel` | string | Nejvýše 20 znaků. Delší popisky se zkrátí. Při prázdné hodnotě se zobrazí výchozí popisek. |

> [accordion] Typy akcí
>
> `conference`, `seminar`, `workshop`, `training`, `webinar`, `meetup`, `networking`, `corporateEvent`, `productLaunch`, `tradeShow`, `jobFair`, `fundraiser`, `charity`, `wedding`, `engagement`, `birthday`, `anniversary`, `babyShower`, `graduation`, `reunion`, `party`, `religious`, `funeralMemorial`, `ceremony`, `concert`, `festival`, `clubNight`, `theater`, `comedy`, `filmScreening`, `exhibition`, `sports`, `tournament`, `raceMarathon`, `fitnessClass`, `foodDrink`, `market`, `openHouse`, `community`, `schoolEvent`, `kids`, `travelTour`

> [accordion] Vybavení
>
> | Skupina | ID |
> | - | - |
> | Vstup | `freeEntry`, `idRequired`, `invitationOnly`, `plusOneAllowed`, `reEntryAllowed` |
> | Věk (vyberte jedno) | `adultsOnly`, `age18Plus`, `age21Plus`, `kidsWelcome` |
> | Na místě | `parking`, `publicTransport`, `shuttle`, `wheelchairAccess`, `evCharging`, `wifi`, `foodDrinks`, `alcoholServed`, `atm`, `coatCheck`, `pool`, `phoneCharging`, `firstAid`, `wc` |
> | Pravidla | `petsAllowed`, `noPets`, `smokingArea`, `noSmoking`, `noPhotos` |
> | Dress code (vyberte jedno) | `dressCasual`, `dressSmartCasual`, `dressBusiness`, `dressCocktail`, `dressThemed` |

```json Request body theme={null}
{
  "qrType": "event",
  "data": "{\"name\":\"Launch party\",\"eventType\":\"productLaunch\",\"start\":\"2026-11-20T18:00\",\"end\":\"2026-11-20T22:00\",\"timezone\":\"Europe/Berlin\",\"city\":\"Berlin\",\"country\":\"Germany\",\"facilities\":[\"freeEntry\"],\"socialLinks\":[],\"ticketsUrl\":\"https://acme.com/tickets\"}"
}
```

Chyby:

* `422 Expected a JSON object describing the event page for qrType "event".`

## Soubory v QR kódech

Zaregistrujte soubor přes [Soubory](https://docs.getqr.com/cs/api/endpoints/files.md), nahrajte ho a pak předejte jeho `fileId`. Použijte cíl, který odpovídá účelu:

* **`pdf`, `image`, `video`.** Obsah QR kódu typu PDF, Image nebo Video.
* **`logo`.** Profilové obrázky, loga stránek, ikony vlastních odkazů a loga uprostřed kódu.

Soubory, které se nikdy nepřipojí k žádnému QR kódu, se po ochranné lhůtě smažou.

Chyby `fileId`, které se vracejí při vytváření a při `PATCH`, pokud pošlete `fileId`:

| Stav | Příčina |
| - | - |
| `422 unprocessable_entity` | Tento typ soubor nepřijímá. Přijímají ho jen `pdf`, `image`, `video`, `vcard`, `social`, `multilink` a `event`. |
| `404 not_found` | Soubor s tímto ID neexistuje. Nejprve ho zaregistrujte přes `POST /api/v1/files`. |
| `422 unprocessable_entity` | Soubor byl nahrán pro jiný cíl. Například nahrání `image` u QR kódu PDF nebo nahrání `pdf`, `image` či `video` použité jako fotka vCard. |
| `422 unprocessable_entity` | Soubor je zaregistrovaný, ale nahrání na `uploadUrl` se nikdy nedokončilo. |

ID souborů uvnitř obsahu (`fileId`, `pageLogoFileId`, `customItems[].logoFileId`, řádky `X-GETQR-*-FILEID`) se neověřují. Zobrazí se, jen pokud byly nahrány s cílem `logo`. QR kód si je přivlastní, takže je úklid nechá být.

## Změna typu

`qrType` můžete změnit pomocí [úpravy QR kódu](https://docs.getqr.com/cs/api/endpoints/qr-codes.md#úprava-qr-kódu). Pošlete `data`, která odpovídají novému typu: uložený obsah patří starému typu, takže změna bez nich se odmítne.

Po úpravě se cíl určuje v tomto pořadí:

1. `vcard`, `social`, `multilink`, `event`: vždy hostovaná stránka.
2. Balíček PDF nebo galerie obrázků vytvořená v dashboardu: její vstupní stránka.
3. `pdf`, `image`, `video`: URL souboru (nové `fileId`, jinak uložené).
4. `link.url`, pokud je posláno.
5. Změněná `data`.
6. Uložená URL.

Co jednotlivé změny dělají:

* **Z `pdf`, `image` nebo `video`.** `fileId` i případný balíček nebo galerie se vymažou.
* **Na `pdf`, `image` nebo `video`.** Pošlete i `fileId`, jinak se znovu použije uložené, což může být fotka vCard.
* **Z `app`.** Název aplikace, `link.ios` a `link.android` se vymažou, takže telefony půjdou na nový cíl.
* **Na `wifi`.** Obrázek přejde na surový obsah. Už vytištěné kódy dál obsahují krátký odkaz, který teď přesměruje na URL `wifi:`.
* **Z `wifi`.** Vytištěné kódy si ponechají starou síť.
* **Na `vcard`, `social`, `multilink` nebo `event`.** Krátký odkaz se přesměruje na novou hostovanou stránku.
* **Z `vcard`, `social`, `multilink` nebo `event`.** Pošlete nová `data`. Cíl se řídí jimi.

Statické QR kódy vytvořené v dashboardu nemají krátký odkaz, takže změna jejich `link.url` vrátí `422`.

## Nepodporováno přes API

Tyto funkce dashboardu nejsou součástí API v1. Neznámá pole se bez chyby zahodí, takže jejich odeslání nemá žádný účinek.

| Pole | Popis |
| - | - |
| `appName` | Zobrazovaný název QR kódu typu App Link. QR kódy App Link vytvořené přes API mají v seznamu v dashboardu místo názvu URL obchodu. |
| `isStatic` | Statický QR kód bez krátkého odkazu. Každý QR kód vytvořený přes API ho má, takže ho lze po vytištění upravovat a sledovat (kromě `wifi`). |
| `pdfBundle` | QR kód PDF se dvěma a více soubory. API vytváří jen QR kódy PDF s jedním souborem. |
| `imageGallery` | QR kód typu Image se dvěma a více obrázky. API vytváří jen QR kódy s jedním obrázkem. |

Balíčky a galerie vytvořené v dashboardu lze přes API dál číst, pozastavovat a mazat, ale jejich soubory přes něj měnit nelze.

## Časté problémy

> [accordion] 422 Invalid destination URL
>
> `link.url` používá schéma, na které krátký odkaz nemůže přesměrovat, například `geo:`, `smsto:`, `matmsg:` nebo `tel:`. Použijte formáty z této stránky.

> [accordion] 400 Missing destination URL
>
> `data` je prázdné a chybí `link.url`. U `app` nastavte alespoň jedno z `link.ios`, `link.android`, `link.url` nebo `data`.

> [accordion] V odpovědi je v data krátký odkaz, ne moje URL
>
> U typů s odkazem je v uloženém `data` krátký odkaz. Cíl čtěte z `url`.

> [accordion] Na vstupní stránce chybí údaje z mého obsahu
>
> Stránka čte jen pole a tvary řádků uvedené u daného typu. Ostatní pole se uloží, ale nezobrazí.

## Co dál

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

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

> [card] [Přizpůsobení](https://docs.getqr.com/cs/api/guides/customization.md)

> [card] [Pravidla přístupu](https://docs.getqr.com/cs/api/guides/access-rules.md)


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