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

# Tömeges QR-létrehozás

> Akár 100 QR-kód létrehozása egyszerre, és letöltésük ZIP-archívumként.

> [!NOTE]
>
> A GetQR API béta állapotban van, és csak kiválasztott munkaterületek számára érhető el. A részletek az általános kiadásig változhatnak.

A tömeges létrehozás nevek és URL-ek listájából Website QR-kódokat készít, egyetlen közös dizájnnal. A háttérben fut: indítsa el, kérdezze le rendszeresen az előrehaladását, majd töltse le a ZIP-archívumot.

| Metódus | Útvonal | Leírás |
| - | - | - |
| `GET` | `/api/v1/bulk-qr-creations` | [Az aktuális tömeges létrehozás lekérése](#az-aktuális-tömeges-létrehozás-lekérése) |
| `POST` | `/api/v1/bulk-qr-creations` | [Létrehozás JSON-ból](#létrehozás-json-ból) |
| `POST` | `/api/v1/bulk-qr-creations/csv` | [Létrehozás CSV-fájlból](#létrehozás-csv-fájlból) |
| `GET` | `/api/v1/bulk-qr-creations/{id}` | [Tömeges létrehozás lekérése](#tömeges-létrehozás-lekérése) |
| `DELETE` | `/api/v1/bulk-qr-creations/{id}` | [Tömeges létrehozás megszakítása](#tömeges-létrehozás-megszakítása) |
| `GET` | `/api/v1/bulk-qr-creations/{id}/download` | [Az archívum letöltése](#az-archívum-letöltése) |

## Hogyan működik

**1. Indítsa el a tömeges létrehozást**

Küldje el a sorokat a [Létrehozás JSON-ból](#létrehozás-json-ból) vagy a [Létrehozás CSV-fájlból](#létrehozás-csv-fájlból) végponttal. Az API `202` kóddal válaszol, és visszaadja a tömeges létrehozást az `id` értékével.

**2. Kövesse az előrehaladást**

Hívja a [Tömeges létrehozás lekérése](#tömeges-létrehozás-lekérése) végpontot néhány másodpercenként, amíg a `status` értéke `completed` vagy `failed` nem lesz.

**3. Töltse le az archívumot**

Ha a `status` értéke `completed`, hívja [Az archívum letöltése](#az-archívum-letöltése) végpontot, és megkapja a QR-kód-képek ZIP-fájlját.

* **Korlát.** Tömeges létrehozásonként legfeljebb 100 sor.
* **Egyszerre egy.** Munkaterületenként egyszerre csak egy tömeges létrehozás futhat. Ha egy futó mellett újat indít, a futót kapja vissza.
* **Idempotencia.** Minden kéréshez `idempotencyKey` szükséges. Ha ugyanazzal a kulccsal és ugyanazzal a törzzsel ismétli meg a kérést, a már elindított tömeges létrehozást kapja vissza. Ugyanaz a kulcs más törzzsel `422` választ ad.
* **Sorok.** Minden sorhoz `name` és `url` szükséges. Lásd: [Sorok](#sorok).
* **Csomag.** A tömeges létrehozás a Single QR csomagban nem érhető el: a kérés `403 exceeded_limit` választ ad.

## Sorok

* **Név.** Ebből lesz a QR-kód címe. A szélső szóközök levágása után 40 karakterre rövidül. Az ismétlődő nevek (kis- és nagybetűtől függetlenül) sorszámot kapnak: `Menu`, `Menu 2`, `Menu 3`.
* **URL.** Ebből lesz a cél. `http` vagy `https` címnek kell lennie valódi domainnel, például `example.com/menu`, és nem tartalmazhat szóközt. A séma nélküli URL `https://` előtagot kap.
* **Üres sorok.** Azokat a sorokat, amelyekben sem név, sem URL nincs, a rendszer kihagyja. Ha csak az egyik szerepel, a sort elutasítja.

Minden QR-kód egy rövid linkre épülő `website` QR-kód. Lásd: [QR-típusok](https://docs.getqr.com/hu/api/guides/qr-types.md).

## Fejlécek

**Authorization** `string` *required*

`Bearer`, majd az API-kulcsa. Lásd: [Hitelesítés](https://docs.getqr.com/hu/api/authentication.md).

**Content-Type** `string`

`application/json` a [Létrehozás JSON-ból](#létrehozás-json-ból), `multipart/form-data` a [Létrehozás CSV-fájlból](#létrehozás-csv-fájlból) végponthoz.

## A tömeges létrehozás objektum

**id** `string`

A tömeges létrehozás azonosítója, például `cm2k7x9qb0003ax8eb4f6gh2t`.

**status** `string`

`queued`, `processing`, `packaging` vagy `completed`. Egy sikertelen vagy megszakított tömeges létrehozás a `rollingBack` állapoton át `failed` állapotba kerül.

**sourceFilename** `string`

A forrásfájl neve.

**totalCount** `integer`

A sorok száma.

**createdCount** `integer`

Az eddig létrehozott QR-kódok száma.

**renderedCount** `integer`

Az eddig elkészített QR-kód-képek száma.

**percent** `integer`

Teljes előrehaladás, 0 és 100 között. A létrehozás 40-ig, a képek elkészítése 90-ig tart, a csomagolás 95, a `completed` pedig 100.

**stalled** `boolean`

`true`, ha egy futó tömeges létrehozás 2 perce nem halad előre. Folytassa a lekérdezést: a [Tömeges létrehozás lekérése](#tömeges-létrehozás-lekérése) újraindítja az elakadt tömeges létrehozást.

**error** `object | null`

Ha a `status` értéke `failed`: `code` és `message`. Egy megszakított tömeges létrehozás kódja `cancelled_by_user`. A sikertelen tömeges létrehozást a rendszer visszagörgeti, így egyetlen QR-kódja sem marad meg.

**downloadUrl** `string | null`

[Az archívum letöltése](#az-archívum-letöltése) végpont útvonala, amint a `status` értéke `completed`.

**createdAt** `string`

Az indítás dátuma, ISO 8601.

**updatedAt** `string`

Utolsó frissítés dátuma, ISO 8601.

**completedAt** `string | null`

A befejezés dátuma, ISO 8601.

**failedAt** `string | null`

A sikertelenség dátuma, ISO 8601.

## Az aktuális tömeges létrehozás lekérése

`GET /api/v1/bulk-qr-creations`

A munkaterületen még futó tömeges létrehozást adja vissza. Ha nincs futó, a legutóbb befejezettet (`completed` vagy `failed`) adja vissza, amíg el nem vetik: ezt az archívum letöltése vagy az irányítópulton való elvetés teszi meg. Egyébként `null` értéket ad vissza. Újraindítás után ezzel folytathatja a követést.

```bash cURL theme={null}
curl "https://getqr.com/api/v1/bulk-qr-creations" \
  -H "Authorization: Bearer $GETQR_API_KEY"
```

```json 200 theme={null}
{
  "id": "cm2k7x9qb0003ax8eb4f6gh2t",
  "status": "processing",
  "sourceFilename": "campaign-links.csv",
  "totalCount": 50,
  "createdCount": 18,
  "renderedCount": 12,
  "percent": 26,
  "stalled": false,
  "error": null,
  "downloadUrl": null,
  "createdAt": "2026-08-14T08:00:00.000Z",
  "updatedAt": "2026-08-14T08:00:20.000Z",
  "completedAt": null,
  "failedAt": null
}
```

```json 200 (nothing to resume) theme={null}
null
```

## Létrehozás JSON-ból

`POST /api/v1/bulk-qr-creations`

Tömeges létrehozást indít egy sorlistából. `202 Accepted` kóddal válaszol. A tömeges létrehozás a háttérben fut.

**rows** `object[]` *required*

A létrehozandó QR-kódok, legfeljebb 100. Minden sor `{ "name": "...", "url": "..." }` alakú, és más mezőt nem fogad. Lásd: [Sorok](#sorok).

**design** `object` *required*

Minden QR-kódra alkalmazott dizájn: `styles`, `frameOptions` és `logoOptions`, mindegyik opcionális. Az alapértelmezett dizájnhoz küldjön `{}` értéket. Más mezőket a rendszer elutasít. Lásd: [Testreszabás](https://docs.getqr.com/hu/api/guides/customization.md).

**sourceFilename** `string` *required*

Az irányítópulton megjelenő és az archívumhoz használt név, 1–255 karakter.

**idempotencyKey** `string` *required*

Saját kulcs ehhez a tömeges létrehozáshoz, 8–100 karakter.

```bash cURL theme={null}
curl -X POST "https://getqr.com/api/v1/bulk-qr-creations" \
  -H "Authorization: Bearer $GETQR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "rows": [
      { "name": "Menu", "url": "https://example.com/menu" },
      { "name": "Wine list", "url": "example.com/wine" }
    ],
    "design": { "styles": { "dotsOptions": { "type": "rounded" } } },
    "sourceFilename": "campaign-links.csv",
    "idempotencyKey": "campaign-2026-08-14"
  }'
```

```json 202 theme={null}
{
  "id": "cm2k7x9qb0003ax8eb4f6gh2t",
  "status": "queued",
  "sourceFilename": "campaign-links.csv",
  "totalCount": 2,
  "createdCount": 0,
  "renderedCount": 0,
  "percent": 0,
  "stalled": false,
  "error": null,
  "downloadUrl": null,
  "createdAt": "2026-08-14T08:00:00.000Z",
  "updatedAt": "2026-08-14T08:00:00.000Z",
  "completedAt": null,
  "failedAt": null
}
```

## Létrehozás CSV-fájlból

`POST /api/v1/bulk-qr-creations/csv`

Ugyanaz, mint a [Létrehozás JSON-ból](#létrehozás-json-ból), de a sorokat `multipart/form-data` formátumban küldött CSV-fájlként fogadja. `202 Accepted` kóddal válaszol.

A fájlnak legfeljebb 1 000 000 bájtos `.csv` fájlnak kell lennie. A fejlécsornak pontosan `name,url` értékűnek kell lennie, utána legfeljebb 100 adatsor következhet. Lásd: [CSV-formátum](https://docs.getqr.com/hu/bulk/csv-format.md).

**file** `file` *required*

A CSV-fájl.

**design** `string` *required*

A dizájnobjektum JSON-ként szerializálva, például `{"styles":{"dotsOptions":{"type":"rounded"}}}`. Az alapértelmezett dizájnhoz küldjön `{}` értéket.

**idempotencyKey** `string` *required*

Saját kulcs ehhez a tömeges létrehozáshoz, 8–100 karakter.

**sourceFilename** `string`

Az irányítópulton megjelenő és az archívumhoz használt név, legfeljebb 255 karakter. Alapértelmezés: a feltöltött fájl neve.

```bash cURL theme={null}
curl -X POST "https://getqr.com/api/v1/bulk-qr-creations/csv" \
  -H "Authorization: Bearer $GETQR_API_KEY" \
  -F "file=@campaign-links.csv" \
  -F 'design={"styles":{"dotsOptions":{"type":"rounded"}}}' \
  -F "idempotencyKey=campaign-2026-08-14"
```

```csv campaign-links.csv theme={null}
name,url
Menu,https://example.com/menu
Wine list,example.com/wine
```

```json 202 theme={null}
{
  "id": "cm2k7x9qb0003ax8eb4f6gh2t",
  "status": "queued",
  "sourceFilename": "campaign-links.csv",
  "totalCount": 2,
  "createdCount": 0,
  "renderedCount": 0,
  "percent": 0,
  "stalled": false,
  "error": null,
  "downloadUrl": null,
  "createdAt": "2026-08-14T08:00:00.000Z",
  "updatedAt": "2026-08-14T08:00:00.000Z",
  "completedAt": null,
  "failedAt": null
}
```

## Tömeges létrehozás lekérése

`GET /api/v1/bulk-qr-creations/{id}`

Egy tömeges létrehozás állapotát és előrehaladását adja vissza. Kérdezze le rendszeresen, amíg a `status` értéke `queued`, `processing` vagy `packaging`. A `downloadUrl` akkor jelenik meg, amikor az archívum elkészült.

**id** `string` *required*

A tömeges létrehozás azonosítója. A létrehozás vagy az aktuális tömeges létrehozás válaszából veheti.

```bash cURL theme={null}
curl "https://getqr.com/api/v1/bulk-qr-creations/cm2k7x9qb0003ax8eb4f6gh2t" \
  -H "Authorization: Bearer $GETQR_API_KEY"
```

```json 200 theme={null}
{
  "id": "cm2k7x9qb0003ax8eb4f6gh2t",
  "status": "completed",
  "sourceFilename": "campaign-links.csv",
  "totalCount": 50,
  "createdCount": 50,
  "renderedCount": 50,
  "percent": 100,
  "stalled": false,
  "error": null,
  "downloadUrl": "/api/v1/bulk-qr-creations/cm2k7x9qb0003ax8eb4f6gh2t/download",
  "createdAt": "2026-08-14T08:00:00.000Z",
  "updatedAt": "2026-08-14T08:02:10.000Z",
  "completedAt": "2026-08-14T08:02:10.000Z",
  "failedAt": null
}
```

## Tömeges létrehozás megszakítása

`DELETE /api/v1/bulk-qr-creations/{id}`

Leállít egy futó tömeges létrehozást, és törli az általa már létrehozott QR-kódokat. A visszagörgetés a kérés alatt fut, így a válaszban általában a `status` értéke `failed`, az `error.code` értéke pedig `cancelled_by_user`. Egy már sikertelen tömeges létrehozás megszakítása változatlanul adja vissza azt.

> [!WARNING]
>
> Egy befejezett tömeges létrehozás nem szakítható meg: a kérés `400` választ ad. Helyette törölje a QR-kódjait egyenként a [QR-kódok](https://docs.getqr.com/hu/api/endpoints/qr-codes.md) végpontokkal.

**id** `string` *required*

A tömeges létrehozás azonosítója.

```bash cURL theme={null}
curl -X DELETE "https://getqr.com/api/v1/bulk-qr-creations/cm2k7x9qb0003ax8eb4f6gh2t" \
  -H "Authorization: Bearer $GETQR_API_KEY"
```

```json 200 theme={null}
{
  "id": "cm2k7x9qb0003ax8eb4f6gh2t",
  "status": "failed",
  "sourceFilename": "campaign-links.csv",
  "totalCount": 50,
  "createdCount": 18,
  "renderedCount": 12,
  "percent": 26,
  "stalled": false,
  "error": {
    "code": "cancelled_by_user",
    "message": "Bulk QR creation was cancelled."
  },
  "downloadUrl": null,
  "createdAt": "2026-08-14T08:00:00.000Z",
  "updatedAt": "2026-08-14T08:00:40.000Z",
  "completedAt": null,
  "failedAt": "2026-08-14T08:00:40.000Z"
}
```

## Az archívum letöltése

`GET /api/v1/bulk-qr-creations/{id}/download`

Egy ZIP-archívumot ad vissza, QR-kódonként egy 1024 px-es JPEG-képpel, a sor nevével elnevezve: `001-Menu.jpg`, `002-Wine list.jpg` és így tovább. Az archívum neve a `sourceFilename` értékéből képződik. Akkor érhető el, amikor a `status` értéke `completed`. A letöltés elveti a tömeges létrehozást, így [Az aktuális tömeges létrehozás lekérése](#az-aktuális-tömeges-létrehozás-lekérése) többé nem adja vissza.

**id** `string` *required*

A tömeges létrehozás azonosítója.

```bash cURL theme={null}
curl "https://getqr.com/api/v1/bulk-qr-creations/cm2k7x9qb0003ax8eb4f6gh2t/download" \
  -H "Authorization: Bearer $GETQR_API_KEY" \
  --output qr-codes.zip
```

```http 200 theme={null}
HTTP/1.1 200 OK
Content-Type: application/zip
Content-Disposition: attachment; filename="campaign-links-qr-codes.zip"

<binary archive data>
```

## Gyakori problémák

> [accordion] 422-es hiba „contains an invalid HTTP(S) URL” üzenettel
>
> Az üzenet megnevezi a sort. Minden URL-nek `http` vagy `https` címnek kell lennie valódi domainnel, például `example.com/menu`. Javítsa a sort, és küldje el újra a kérést.

> [accordion] 422 "CSV headers must be exactly: name,url."
>
> A CSV első sorának `name,url` értékűnek kell lennie, ebben a sorrendben, kisbetűvel, további oszlopok nélkül.

> [accordion] 422 "This idempotencyKey was already used with a different request body."
>
> A kulcsok nem használhatók újra egy másik kötegnél. Küldjön új `idempotencyKey` értéket.

> [accordion] 409 "The bulk QR archive is not ready for download."
>
> A tömeges létrehozás még nem fejeződött be. Folytassa a lekérdezést, amíg a `status` értéke `completed` nem lesz.

> [accordion] 400 "Cannot cancel a finished bulk QR creation."
>
> A tömeges létrehozás már befejeződött, így nem görgethető vissza.

> [accordion] 403 exceeded\_limit
>
> A munkaterülete a Single QR csomagot használja, amely nem tartalmazza a tömeges létrehozást. Váltson magasabb csomagra.

> [accordion] Új helyett egy régebbi tömeges létrehozást kaptam vissza
>
> A munkaterületen még fut egy másik tömeges létrehozás, vagy újra felhasznált egy `idempotencyKey` értéket. Várja meg, amíg befejeződik, vagy használjon új kulcsot.

## Következő lépések

> [card] [Testreszabás](https://docs.getqr.com/hu/api/guides/customization.md)

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

> [card] [Tömeges létrehozás az alkalmazásban](https://docs.getqr.com/hu/bulk/overview.md)

> [card] [CSV-formátum](https://docs.getqr.com/hu/bulk/csv-format.md)


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