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

# Fájlok

> PDF-ek, képek, videók és logók feltöltése a QR-kódokhoz.

> [!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 PDF, Image és Video QR-kódok egy fájlra mutatnak, és az egyéni logó is egy fájl. A feltöltés két lépésből áll: regisztrálja a fájlt, hogy kapjon egy URL-t, majd küldje el a fájl tartalmát erre az URL-re.

| Metódus | Útvonal | Leírás |
| - | - | - |
| `POST` | `/api/v1/files` | [Fájlfeltöltés regisztrálása](#fájlfeltöltés-regisztrálása) |

## Fájl feltöltése

**1. Regisztrálja a fájlt**

Hívja a [Fájlfeltöltés regisztrálása](#fájlfeltöltés-regisztrálása) végpontot a fájl `target`, `contentType` és `size` értékével. A `target` határozza meg az elfogadott tartalomtípusokat és a méretkorlátot. Egy `fileId` és egy `uploadUrl` értéket kap vissza.

**2. Küldje el a fájlt**

Küldje el a fájlt egy `PUT` kéréssel az `uploadUrl` címre. A `Content-Type` és a `Content-Length` értékének pontosan meg kell egyeznie a regisztrált `contentType` és `size` értékkel: minden mást a rendszer elutasít. Az URL előre aláírt, ezért ne adja hozzá az API-kulcsát. 10 perc után lejár.

```bash theme={null}
curl -X PUT "$UPLOAD_URL" \
  -H "Content-Type: application/pdf" \
  --data-binary @menu.pdf
```

**3. Használja a fájlazonosítót**

Adja meg a `fileId` értékét, amikor [QR-kódot hoz létre](https://docs.getqr.com/hu/api/endpoints/qr-codes.md):

* `fileId` mezőként egy `pdf`, `image` vagy `video` QR-kódhoz. A megfelelő céllal töltse fel.
* `fileId` mezőként egy `vcard`, `social`, `multilink` vagy `event` QR-kód profilképéhez. `logo` céllal töltse fel.
* `logoOptions.fileId` mezőként, `uploaded` értékre állított `logoOptions.type` mellett, egyéni logóhoz. `logo` céllal töltse fel. Lásd: [Testreszabás](https://docs.getqr.com/hu/api/guides/customization.md).

## Korlátok

| `target` | Elfogadott tartalomtípusok | Maximális méret |
| - | - | - |
| `pdf` | `application/pdf` | 20 MB (20 971 520 bájt) |
| `image` | `image/*` | 5 MB (5 242 880 bájt) |
| `video` | `video/*` | 50 MB (52 428 800 bájt) |
| `logo` | `image/*` | 5 MB (5 242 880 bájt) |

* **Csupasz MIME-típus.** Egyetlen, kisbetűs típust és altípust küldjön, például `image/png`. A paramétereket, például a `;charset=` részt, és a listákat a rendszer elutasítja.
* **Nincs SVG.** Az XML-alapú típusok, például az `image/svg+xml`, nem elfogadottak. Raszteres képet töltsön fel, például `image/png` vagy `image/jpeg` formátumban.

## 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` *required*

`application/json`.

## Fájlfeltöltés regisztrálása

`POST /api/v1/files`

Regisztrál egy fájlt, és visszaad egy előre aláírt URL-t, amelyre feltöltheti. Ez a hívás magát a fájlt nem tölti fel.

**target** `string` *required*

Mire szolgál a fájl: `pdf`, `image`, `video` vagy `logo`. Meghatározza az elfogadott tartalomtípusokat és a méretkorlátot. Lásd: [Korlátok](#korlátok).

**contentType** `string` *required*

A fájl MIME-típusa paraméterek nélkül, például `application/pdf`. A feltöltési kérésnek pontosan ezt a `Content-Type` értéket kell küldenie.

**size** `integer` *required*

A fájl pontos mérete bájtban, pozitív egész szám. A rendszer a célhoz tartozó korláttal veti össze. A feltöltési kérésnek pontosan ezt a `Content-Length` értéket kell küldenie.

**name** `string`

Az eredeti fájlnév, legfeljebb 255 karakter. Az irányítópulton való megjelenítéshez tárolódik. A `/` vagy `\` karaktert tartalmazó útvonalat a rendszer elutasítja.

**fileId** `string`

Azonosító, amelyet `fileId` vagy `logoOptions.fileId` értékként adhat át.

**uploadUrl** `string`

Előre aláírt URL, amelyre a fájlt `PUT` kéréssel feltöltheti.

**expiresIn** `integer`

Másodpercek az `uploadUrl` lejáratáig: `600`.

**method** `string`

A feltöltés HTTP-metódusa: `PUT`.

```bash cURL theme={null}
curl -X POST "https://getqr.com/api/v1/files" \
  -H "Authorization: Bearer $GETQR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "target": "pdf",
    "contentType": "application/pdf",
    "size": 248000,
    "name": "menu.pdf"
  }'
```

```json 200 theme={null}
{
  "fileId": "file_7bQ2xR9mKp",
  "uploadUrl": "https://storage.getqr.com/qrs-content/pdf/file_7bQ2xR9mKp?X-Amz-...",
  "expiresIn": 600,
  "method": "PUT"
}
```

## Gyakori problémák

> [accordion] 422 "Content type … is not allowed for target"
>
> A tartalomtípus nem felel meg a célnak. Például a `pdf` csak az `application/pdf` típust fogadja el. Lásd: [Korlátok](#korlátok).

> [accordion] 422 "must be a single lowercase type/subtype"
>
> A tartalomtípust kisbetűvel és paraméterek nélkül küldje: `image/png`, ne `Image/PNG` vagy `image/png; charset=utf-8`.

> [accordion] 422 "File is too large for target"
>
> A megadott `size` meghaladja a célhoz tartozó korlátot. Regisztrálás előtt tömörítse a fájlt.

> [accordion] Az uploadUrl címre történő feltöltés sikertelen
>
> Az URL a fájl regisztrálása után 10 perccel lejár, és a kérésnek pontosan a regisztrált `Content-Type` és `Content-Length` értéket kell küldenie. Regisztrálja újra a fájlt, hogy új URL-t kapjon.

> [accordion] 422 „is registered but its content was never uploaded” QR-kód létrehozásakor
>
> Regisztrálta a fájlt, de az `uploadUrl` címre küldött `PUT` kérés nem fejeződött be. Töltse fel a fájlt, majd hozza létre a QR-kódot.

> [accordion] 422 „was uploaded to …” QR-kód létrehozásakor
>
> A fájlt más céllal regisztrálták, például egy `image` fájlt használ egy `pdf` QR-kódhoz. Regisztráljon új feltöltést a megfelelő céllal.

> [accordion] 404 „File … was not found” QR-kód létrehozásakor
>
> A `fileId` nem létezik. Vegye a [Fájlfeltöltés regisztrálása](#fájlfeltöltés-regisztrálása) válaszából.

## Következő lépések

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

> [card] [QR-típusok](https://docs.getqr.com/hu/api/guides/qr-types.md)

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

> [card] [Hibák](https://docs.getqr.com/hu/api/errors.md)


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