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

# Lielapjoma QR izveide

> Izveidojiet līdz 100 QR kodiem uzreiz un lejupielādējiet tos ZIP arhīvā.

> [!NOTE]
>
> GetQR API ir beta versijā un pieejams atlasītām darbvietām. Līdz vispārējai izlaišanai detaļas var mainīties.

Lielapjoma izveide pārvērš nosaukumu un URL sarakstu par Website QR kodiem ar vienu kopīgu dizainu. Tā darbojas fonā: sāciet to, sekojiet tās progresam, pēc tam lejupielādējiet ZIP arhīvu.

| Metode | Ceļš | Apraksts |
| - | - | - |
| `GET` | `/api/v1/bulk-qr-creations` | [Pašreizējās lielapjoma izveides iegūšana](#pašreizējās-lielapjoma-izveides-iegūšana) |
| `POST` | `/api/v1/bulk-qr-creations` | [Izveide no JSON](#izveide-no-json) |
| `POST` | `/api/v1/bulk-qr-creations/csv` | [Izveide no CSV faila](#izveide-no-csv-faila) |
| `GET` | `/api/v1/bulk-qr-creations/{id}` | [Lielapjoma izveides iegūšana](#lielapjoma-izveides-iegūšana) |
| `DELETE` | `/api/v1/bulk-qr-creations/{id}` | [Lielapjoma izveides pārtraukšana](#lielapjoma-izveides-pārtraukšana) |
| `GET` | `/api/v1/bulk-qr-creations/{id}/download` | [Arhīva lejupielāde](#arhīva-lejupielāde) |

## Kā tas darbojas

**1. Sāciet lielapjoma izveidi**

Nosūtiet rindas ar [Izveide no JSON](#izveide-no-json) vai [Izveide no CSV faila](#izveide-no-csv-faila). API atbild ar `202` un lielapjoma izveidi ar tās `id`.

**2. Sekojiet progresam**

Izsauciet [Lielapjoma izveides iegūšana](#lielapjoma-izveides-iegūšana) ik pēc dažām sekundēm, līdz `status` ir `completed` vai `failed`.

**3. Lejupielādējiet arhīvu**

Kad `status` ir `completed`, izsauciet [Arhīva lejupielāde](#arhīva-lejupielāde), lai iegūtu QR kodu attēlu ZIP.

* **Ierobežojums.** Līdz 100 rindām vienā lielapjoma izveidē.
* **Pa vienai.** Darbvietā vienlaikus darbojas tikai viena lielapjoma izveide. Mēģinot sākt citu, kamēr viena darbojas, tiek atgriezta jau notiekošā.
* **Idempotence.** Katram pieprasījumam vajadzīgs `idempotencyKey`. Atkārtojot pieprasījumu ar to pašu atslēgu un to pašu pamattekstu, tiek atgriezta jau sāktā lielapjoma izveide. Tā pati atslēga ar citu pamattekstu atgriež `422`.
* **Rindas.** Katrai rindai vajadzīgs `name` un `url`. Skatiet [Rindas](#rindas).
* **Plāns.** Lielapjoma izveide nav pieejama plānā Single QR: pieprasījums atgriež `403 exceeded_limit`.

## Rindas

* **Nosaukums.** Kļūst par QR koda nosaukumu. Tiek apgriezts un saīsināts līdz 40 rakstzīmēm. Atkārtotiem nosaukumiem (neņemot vērā reģistru) tiek pievienots numurs: `Menu`, `Menu 2`, `Menu 3`.
* **URL.** Kļūst par mērķi. Tam jābūt `http` vai `https` adresei ar īstu domēnu, piemēram, `example.com/menu`, un tajā nedrīkst būt atstarpju. URL bez shēmas saņem `https://`.
* **Tukšas rindas.** Rindas bez nosaukuma un bez URL tiek izlaistas. Rinda, kurā ir tikai viens no tiem, tiek noraidīta.

Katrs QR kods ir `website` QR kods ar īso saiti. Skatiet [QR kodu veidi](https://docs.getqr.com/lv/api/guides/qr-types.md).

## Galvenes

**Authorization** `string` *required*

`Bearer`, kam seko jūsu API atslēga. Skatiet [Autentifikācija](https://docs.getqr.com/lv/api/authentication.md).

**Content-Type** `string`

`application/json` galapunktam [Izveide no JSON](#izveide-no-json), `multipart/form-data` galapunktam [Izveide no CSV faila](#izveide-no-csv-faila).

## Lielapjoma izveides objekts

**id** `string`

Lielapjoma izveides ID, piemēram, `cm2k7x9qb0003ax8eb4f6gh2t`.

**status** `string`

`queued`, `processing`, `packaging` vai `completed`. Neveiksmīga vai pārtraukta lielapjoma izveide caur `rollingBack` nonāk statusā `failed`.

**sourceFilename** `string`

Avota faila nosaukums.

**totalCount** `integer`

Rindu skaits.

**createdCount** `integer`

Līdz šim izveidotie QR kodi.

**renderedCount** `integer`

Līdz šim atveidotie QR kodu attēli.

**percent** `integer`

Kopējais progress, no 0 līdz 100. Izveide aizņem līdz 40, atveidošana līdz 90, pakošana ir 95, un `completed` ir 100.

**stalled** `boolean`

`true`, ja notiekoša lielapjoma izveide 2 minūtes nav virzījusies uz priekšu. Turpiniet vaicāt: [Lielapjoma izveides iegūšana](#lielapjoma-izveides-iegūšana) restartē iestrēgušu lielapjoma izveidi.

**error** `object | null`

Kad `status` ir `failed`: `code` un `message`. Pārtrauktai lielapjoma izveidei ir kods `cancelled_by_user`. Neveiksmīga lielapjoma izveide tiek atritināta, tāpēc neviens no tās QR kodiem netiek saglabāts.

**downloadUrl** `string | null`

Ceļš uz [Arhīva lejupielāde](#arhīva-lejupielāde), kad `status` ir `completed`.

**createdAt** `string`

Sākuma datums, ISO 8601.

**updatedAt** `string`

Pēdējās atjaunināšanas datums, ISO 8601.

**completedAt** `string | null`

Pabeigšanas datums, ISO 8601.

**failedAt** `string | null`

Kļūmes datums, ISO 8601.

## Pašreizējās lielapjoma izveides iegūšana

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

Atgriež lielapjoma izveidi, kas jūsu darbvietā vēl darbojas. Ja neviena nedarbojas, tiek atgriezta pēdējā pabeigtā (`completed` vai `failed`), līdz tā tiek aizvērta: to dara tās arhīva lejupielāde vai aizvēršana informācijas panelī. Citādi tiek atgriezts `null`. Izmantojiet to, lai pēc restartēšanas atsāktu sekošanu.

```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
```

## Izveide no JSON

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

Sāk lielapjoma izveidi no rindu saraksta. Atbild ar `202 Accepted`. Lielapjoma izveide darbojas fonā.

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

Izveidojamie QR kodi, līdz 100. Katra rinda ir `{ "name": "...", "url": "..." }` un nepieņem citus laukus. Skatiet [Rindas](#rindas).

**design** `object` *required*

Dizains, kas tiek piemērots katram QR kodam: `styles`, `frameOptions` un `logoOptions`, visi nav obligāti. Noklusējuma dizainam sūtiet `{}`. Citi lauki tiek noraidīti. Skatiet [Pielāgošana](https://docs.getqr.com/lv/api/guides/customization.md).

**sourceFilename** `string` *required*

Nosaukums, kas redzams informācijas panelī un tiek izmantots arhīvam, no 1 līdz 255 rakstzīmēm.

**idempotencyKey** `string` *required*

Jūsu atslēga šai lielapjoma izveidei, no 8 līdz 100 rakstzīmēm.

```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
}
```

## Izveide no CSV faila

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

Tāpat kā [Izveide no JSON](#izveide-no-json), bet rindas tiek pieņemtas kā CSV fails, kas nosūtīts kā `multipart/form-data`. Atbild ar `202 Accepted`.

Failam jābūt `.csv` ne lielākam par 1 000 000 baitiem. Tā galvenes rindai jābūt tieši `name,url`, un tai seko līdz 100 datu rindām. Skatiet [CSV formāts](https://docs.getqr.com/lv/bulk/csv-format.md).

**file** `file` *required*

CSV fails.

**design** `string` *required*

Dizaina objekts, serializēts kā JSON, piemēram, `{"styles":{"dotsOptions":{"type":"rounded"}}}`. Noklusējuma dizainam sūtiet `{}`.

**idempotencyKey** `string` *required*

Jūsu atslēga šai lielapjoma izveidei, no 8 līdz 100 rakstzīmēm.

**sourceFilename** `string`

Nosaukums, kas redzams informācijas panelī un tiek izmantots arhīvam, līdz 255 rakstzīmēm. Noklusējums ir augšupielādētā faila nosaukums.

```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
}
```

## Lielapjoma izveides iegūšana

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

Atgriež lielapjoma izveides statusu un progresu. Vaicājiet to, kamēr `status` ir `queued`, `processing` vai `packaging`. `downloadUrl` parādās, kad arhīvs ir gatavs.

**id** `string` *required*

Lielapjoma izveides ID. Ņemiet to no izveides vai pašreizējās lielapjoma izveides atbildes.

```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
}
```

## Lielapjoma izveides pārtraukšana

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

Aptur notiekošu lielapjoma izveidi un dzēš jau izveidotos QR kodus. Atritināšana notiek pieprasījuma laikā, tāpēc atbildē parasti ir `status` `failed` un `error.code` `cancelled_by_user`. Jau neveiksmīgas lielapjoma izveides pārtraukšana atgriež to nemainītu.

> [!WARNING]
>
> Pabeigtu lielapjoma izveidi nevar pārtraukt: pieprasījums atgriež `400`. Tā vietā dzēsiet tās QR kodus pa vienam ar [QR kodi](https://docs.getqr.com/lv/api/endpoints/qr-codes.md).

**id** `string` *required*

Lielapjoma izveides ID.

```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"
}
```

## Arhīva lejupielāde

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

Atgriež ZIP arhīvu ar vienu 1024 px JPEG katram QR kodam, nosauktu pēc tā rindas: `001-Menu.jpg`, `002-Wine list.jpg` un tā tālāk. Arhīvs tiek nosaukts pēc `sourceFilename`. Pieejams, kad `status` ir `completed`. Lejupielāde aizver lielapjoma izveidi, tāpēc [Pašreizējās lielapjoma izveides iegūšana](#pašreizējās-lielapjoma-izveides-iegūšana) to vairs neatgriež.

**id** `string` *required*

Lielapjoma izveides ID.

```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>
```

## Biežākās problēmas

> [accordion] 422 ar "contains an invalid HTTP(S) URL"
>
> Ziņojumā norādīta rinda. Katram URL jābūt `http` vai `https` adresei ar īstu domēnu, piemēram, `example.com/menu`. Izlabojiet rindu un nosūtiet pieprasījumu vēlreiz.

> [accordion] 422 "CSV headers must be exactly: name,url."
>
> CSV pirmajai rindai jābūt `name,url` tieši šādā secībā un mazajiem burtiem, bez citām kolonnām.

> [accordion] 422 "This idempotencyKey was already used with a different request body."
>
> Atslēgas nevar atkārtoti izmantot citai partijai. Nosūtiet jaunu `idempotencyKey`.

> [accordion] 409 "The bulk QR archive is not ready for download."
>
> Lielapjoma izveide vēl nav pabeigta. Turpiniet vaicāt, līdz `status` ir `completed`.

> [accordion] 400 "Cannot cancel a finished bulk QR creation."
>
> Lielapjoma izveide jau ir pabeigta, tāpēc to nevar atritināt.

> [accordion] 403 exceeded\_limit
>
> Jūsu darbvieta izmanto plānu Single QR, kurā lielapjoma izveide nav iekļauta. Jauniniet plānu.

> [accordion] Jaunas lielapjoma izveides vietā saņēmu vecāku
>
> Jūsu darbvietā vēl darbojas cita lielapjoma izveide, vai jūs atkārtoti izmantojāt `idempotencyKey`. Pagaidiet, līdz tā beidzas, vai izmantojiet jaunu atslēgu.

## Kas tālāk

> [card] [Pielāgošana](https://docs.getqr.com/lv/api/guides/customization.md)

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

> [card] [Lielapjoma izveide lietotnē](https://docs.getqr.com/lv/bulk/overview.md)

> [card] [CSV formāts](https://docs.getqr.com/lv/bulk/csv-format.md)


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