> ## 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üre göre QR kodu verileri

> 16 QR kodu türünün her biri için veri biçimi, bir istek örneği ve baskıdan sonra düzenleme davranışı.

> [!NOTE]
>
> GetQR API'si beta aşamasındadır ve seçili çalışma alanlarında kullanılabilir. Ayrıntılar genel sürümden önce değişebilir.

Her QR kodunun bir `qrType` değeri vardır ve tür, `data` alanının ne içermesi gerektiğini belirler. Bu kılavuz her türün biçimini, çalışan bir istek gövdesini ve kod basıldıktan sonra neleri değiştirebileceğinizi listeler.

Örnekler, [QR kodu oluşturma](https://docs.getqr.com/tr/api/endpoints/qr-codes.md#qr-kodu-oluşturma) için istek gövdeleridir. Bunları şöyle gönderin:

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

## Tüm türlere genel bakış

| `qrType` | `data` | Baskıdan sonra düzenlenebilir |
| - | - | - |
| [`website`](#website) | http(s) URL'si | Evet |
| [`feedback`](#geri-bildirim) | Formun http(s) URL'si | Evet |
| [`payment`](#ödeme) | Ödeme sağlayıcısı URL'si | Evet |
| [`whatsapp`](#whatsapp) | `wa.me` bağlantısı | Evet |
| [`location`](#konum) | Harita URL'si | Evet |
| [`app`](#uygulama-bağlantısı) | Mağaza URL'si veya boş, ayrıca `link.ios` / `link.android` | Evet |
| [`email`](#e-posta) | `mailto:` URI'si | Evet |
| [`sms`](#sms) | `sms:` URI'si | Evet |
| [`wifi`](#wifi) | `WIFI:` verisi | **Hayır** |
| [`pdf`, `image`, `video`](#pdf-görsel-ve-video) | Boş, bir `fileId` ile | Evet |
| [`vcard`](#vcard) | vCard 3.0 metni | Evet |
| [`social`](#social-media) | JSON dizesi | Evet |
| [`multilink`](#çoklu-bağlantı) | JSON dizesi | Evet |
| [`event`](#event) | JSON dizesi | Evet |

## QR kodu nasıl çözümlenir

Her QR kodu bir kısa bağlantı ve bir veri yükünden oluşur. İçeriği iki alan taşır:

| Alan | Nedir |
| - | - |
| `link.url` | Kısa bağlantının ziyaretçiyi gönderdiği yer. `wifi` dışındaki tüm türler için gerçek hedef budur. |
| `data` | Türün veri yükü; `qrType` değerine göre kontrol edilir. Yalnızca `wifi`, `vcard`, `social`, `multilink`, `event` ve `sms` için gönderildiği gibi saklanır. Diğer tüm türlerde yalnızca `link.url` değerini sağlar ve saklanan `data` kısa bağlantıya dönüşür. Hedefi yanıttaki `url` alanından okuyun. |

Tüm türler için kurallar:

* **Varsayılanlar.** Oluştururken, gönderilmeyen veya boş bir `link.url` değeri `data` olur ve `link` nesnesinin tamamını göndermeyebilirsiniz. İkisi de gönderilir ve farklı olursa `link.url` önceliklidir. İkisini aynı gönderin veya yalnızca `data` gönderin.
* **Görselin kodladığı şey.** Görsel, `wifi` dışındaki tüm türlerde kısa bağlantıyı kodlar. Böylece basılı bir kodun nereye yönlendireceğini değiştirebilirsiniz ve taramaları izlenir. WiFi QR kodu ise ağın kendisini kodlar: baskıdan sonra değiştirilemez ve taramaları izlenmez.
* **Şemalar.** `link.url` yalnızca `http:`, `https:`, `wifi:`, `mailto:`, `sms:` ve `begin:` kabul eder. `geo:`, `smsto:`, `matmsg:` ve `tel:` dahil diğer her şey, `data` kabul etse bile `422 Invalid destination URL` alır.
* **Boş veri.** Boş bir `data`, tür kontrolünü atlar. Yönlendirme türlerinde bu durumda `link.url` ayarlanmış olmalıdır; aksi hâlde çağrı `400 Missing destination URL` alır.
* **Yapı.** Sunucu, tür kontrolünün ötesinde veri yükünü doğrulamaz. JSON türünün yalnızca bir JSON nesnesi olarak ayrıştırılabilmesi, vCard'ın ise yalnızca `BEGIN:VCARD` ile başlaması gerekir.

> [!TIP]
>
> Aşağıda **Düzenleyici** olarak işaretlenen sınırlar, panel düzenleyicisinin uyguladığı sınırlardır. API bu sınırlara uymayan veri yüklerini de kabul eder, ancak bunlar açılış sayfasında veya düzenleyicide tuhaf görünebilir.

## Website

`qrType`: `"website"`. Panel kılavuzu: [Website QR kodu](https://docs.getqr.com/tr/qr-types/website.md).

| Alan | Davranış |
| - | - |
| `data` | Bir http(s) URL'si. |
| `link.url` | Hedef. Varsayılanı `data`. |
| `fileId` | İzin verilmez. |
| Kodladığı | `link.url` adresine yönlendiren kısa bağlantı. Taramalar izlenir. |
| Baskıdan sonra | Düzenlenebilir. Hedefi değiştirmek için `data` veya `link.url` gönderin. Yalnızca `data` yeterlidir. |

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

Hatalar:

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

## Geri Bildirim

`qrType`: `"feedback"`. Panel kılavuzu: [Geri Bildirim QR kodu](https://docs.getqr.com/tr/qr-types/feedback.md).

`data`, geri bildirim formunun http(s) URL'sidir; örneğin bir Google Form veya bir değerlendirme sayfası. Geri kalan her şey [Website](#website) türündeki gibi çalışır.

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

## Ödeme

`qrType`: `"payment"`. Panel kılavuzu: [Ödeme QR kodu](https://docs.getqr.com/tr/qr-types/payment.md).

`data`, sağlayıcının ödeme URL'sidir; örneğin:

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

Panel düzenleyicisi şu alan adlarını tanır: `paypal.me`, `paypal.com/paypalme`, `cash.app`, `venmo.com`, `buy.stripe.com`, `stripe.com`, `square.link` ve `payoneer.com`. PayPal'da tutar, yolun son bölümüdür. Diğer http(s) URL'leri de çalışır, ancak düzenleyici bunları sağlayıcı ve tutar olarak ayırmaz. Geri kalan her şey [Website](#website) türündeki gibi çalışır.

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

## WhatsApp

`qrType`: `"whatsapp"`. Panel kılavuzu: [WhatsApp QR kodu](https://docs.getqr.com/tr/qr-types/whatsapp.md).

`data` bir `wa.me` bağlantısıdır: `+` olmadan rakamlarla uluslararası numara, isteğe bağlı olarak önceden doldurulmuş bir metinle.

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

Sunucu yalnızca bir http(s) URL'si olup olmadığını kontrol eder. Panel `api.whatsapp.com/send` bağlantılarını da okur. Geri kalan her şey [Website](#website) türündeki gibi çalışır.

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

## Konum

`qrType`: `"location"`. Panel kılavuzu: [Konum QR kodu](https://docs.getqr.com/tr/qr-types/location.md).

`data` bir harita URL'sidir. QR kodunun panelde düzenlenebilir kalması için şu biçimi kullanın (`query_place_id` isteğe bağlıdır):

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

Diğer http(s) URL'leri de yönlendirir. Bir `geo:` URI'si `data` kontrolünden geçer ancak hedef olarak reddedilir; bu yüzden kullanmayın. Geri kalan her şey [Website](#website) türündeki gibi çalışır.

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

## Uygulama Bağlantısı

`qrType`: `"app"`. Panel kılavuzu: [Uygulama Bağlantısı QR kodu](https://docs.getqr.com/tr/qr-types/app-link.md).

| Alan | Davranış |
| - | - |
| `link.ios`, `link.android` | App Store ve Google Play URL'leri. iOS ziyaretçileri `ios`, Android ziyaretçileri `android` adresine gider. Tarama sırasında diğer her şeyden önceliklidir. |
| `link.url` | Diğer cihazlar için yedek hedef. Varsayılanı `data`, ardından `ios` veya `android`. |
| `data` | Bir http(s) URL'si (panel mağaza URL'sini gönderir) veya boş. `link.ios`, `link.android`, `link.url` veya `data` alanlarından en az biri ayarlanmış olmalıdır; aksi hâlde çağrı `400 Missing destination URL` alır. |
| `fileId` | İzin verilmez. |
| Kodladığı | Kısa bağlantı. Taramalar izlenir. |
| Baskıdan sonra | Düzenlenebilir. `link.ios` ve `link.android` birbirinden bağımsız olarak, yalnızca gönderildiklerinde uygulanır. `null` birini temizler. `qrType` değerini yeniden göndermeniz gerekmez. Başka bir türe geçmek iki mağaza bağlantısını da temizler. |

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

Hatalar:

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

## E-posta

`qrType`: `"email"`. Panel kılavuzu: [E-posta QR kodu](https://docs.getqr.com/tr/qr-types/email.md).

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

| Alan | Davranış |
| - | - |
| `data` | İsteğe bağlı konu ve gövde içeren bir `mailto:` URI'si. Boşlukları `%20` olarak kodlayın: panel bunları `+` olarak yazar ve her e-posta uygulaması bunu boşluk olarak okumaz. `matmsg:` hedef olarak reddedilir. |
| `link.url` | `mailto:` URI'si. Varsayılanı `data`. |
| `fileId` | İzin verilmez. |
| Kodladığı | E-posta uygulamasına yönlendiren bir sayfa açan kısa bağlantı. |
| Baskıdan sonra | Düzenlenebilir. Mesajı değiştirmek için `data` veya `link.url` gönderin. Yalnızca `data` yeterlidir. |

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

Hatalar:

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

## SMS

`qrType`: `"sms"`. Panel kılavuzu: [SMS QR kodu](https://docs.getqr.com/tr/qr-types/sms.md).

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

| Alan | Davranış |
| - | - |
| `data` | İsteğe bağlı gövde içeren bir `sms:` URI'si. Panel yalnızca tam olarak bu biçimi okur. `smsto:` hedef olarak reddedilir. |
| `link.url` | `sms:` URI'si. Varsayılanı `data`. |
| `fileId` | İzin verilmez. |
| Kodladığı | Mesajlaşma uygulamasına yönlendiren bir sayfa açan kısa bağlantı. |
| Baskıdan sonra | Düzenlenebilir. Mesajı değiştirmek için `data` veya `link.url` gönderin. Yalnızca `data` yeterlidir. |

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

Hatalar:

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

## WiFi

`qrType`: `"wifi"`. Panel kılavuzu: [WiFi QR kodu](https://docs.getqr.com/tr/qr-types/wifi.md).

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

| Alan | Davranış |
| - | - |
| `data` | Zorunlu. `T`, `S`, `P`, `H` sırasını koruyun: panel düzenleyicisi ve liste buna bağlıdır. SSID ve paroladaki `\`, `;`, `"` ve `:` karakterlerini ters eğik çizgiyle kaçışlayın. Açık bir ağ için boş bir `P:` ile `T:nopass` kullanın. Tarayıcılar `T:none` değerini reddeder. **Düzenleyici:** SSID zorunlu, `nopass` değilse parola en az 8 karakter. |
| `link.url` | Tarama için kullanılmaz. Varsayılanı `data`. |
| `fileId` | İzin verilmez. |
| Kodladığı | Kısa bağlantı değil, ham `WIFI:` verisi. Taramalar izlenmez. |
| Baskıdan sonra | **Düzenlenemez.** Yeni bir `data` yalnızca sonraki indirmeleri değiştirir. Basılı kodlar eski ağı korur. |

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

Hatalar:

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

> [!WARNING]
>
> Basılı bir WiFi QR kodunun türünü değiştirmeyin. Basılı kodlar eski ağı korur.

## PDF, görsel ve video

`qrType`: `"pdf"`, `"image"` veya `"video"`. Panel kılavuzları: [PDF](https://docs.getqr.com/tr/qr-types/pdf.md), [Image](https://docs.getqr.com/tr/qr-types/image.md), [Video](https://docs.getqr.com/tr/qr-types/video.md).

| Alan | Davranış |
| - | - |
| `fileId` | Dosya. Dosyayı türle eşleşen hedefle yükleyin: `pdf`, `image` veya `video`. Bir `fileId` olduğunda `link.url` dosyanın URL'si olur ve bu alana gönderdiğiniz her şey yok sayılır. |
| `data` | Başka bir türün veri yükü (`WIFI:`, `BEGIN:VCARD`, `sms:`, `mailto:`, bir JSON nesnesi) dışında herhangi bir şey. Boş olabilir. |
| `link.url` | `fileId` olmadan `link.url` (veya `data`) harici bir hedef olarak kullanılır. Bu çalışır, ancak panel herhangi bir dosya göstermez. |
| Kodladığı | Doğrudan dosyaya yönlendiren kısa bağlantı. PDF, bir görüntüleyici sayfasında değil ham dosya olarak açılır. |
| Baskıdan sonra | Düzenlenebilir. Dosyayı değiştirmek için yeni bir `fileId` gönderin. Eski dosya serbest bırakılır. |

QR kodu başına bir dosya: PDF paketleri ve görsel galerileri API'de kullanılamaz. Bkz. [API üzerinden desteklenmeyenler](#api-üzerinden-desteklenmeyenler).

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

Dosyayı yüklemek ve `fileId` değerini almak için bkz. [Dosyalar](https://docs.getqr.com/tr/api/endpoints/files.md).

## vCard

`qrType`: `"vcard"`. Panel kılavuzu: [vCard QR kodu](https://docs.getqr.com/tr/qr-types/vcard.md).

| Alan | Davranış |
| - | - |
| `data` | Zorunlu. `BEGIN:VCARD` ile başlayan, satırları `\r\n` ile ayrılmış vCard 3.0 metni (`\n` de çalışır). |
| `fileId` | İsteğe bağlı profil görseli (`logo` hedefi); `data` içinde `PHOTO` veya `X-GETQR-IMAGE-FILEID` satırı yoksa kullanılır. |
| `link.url` | Yok sayılır ve barındırılan sayfayla değiştirilir. Göndermeyin. |
| Kodladığı | Kişiyi kaydetme (`.vcf`) indirmesi sunan, barındırılan kişi sayfasını açan kısa bağlantı. |
| Baskıdan sonra | Düzenlenebilir. Sayfayı güncellemek için yeni bir `data` gönderin. |

Açılış sayfası ve düzenleyici yalnızca aşağıdaki satır biçimlerini okur. `TEL;CELL:` veya `EMAIL;TYPE=INTERNET:` gibi diğer varyantlar saklanır ancak sayfada görünmez.

* `N:<last>;<first>;;;`: soyadı ve ad. **Düzenleyici:** ikisi de zorunlu, en fazla 40 karakter.
* `FN:<first> <last>`: sayfa tarafından okunmaz. Panel listesindeki etiket buradan gelir.
* `ORG:<company>` ve `TITLE:<role>`: şirket ve unvan. **Düzenleyici:** en fazla 40 karakter.
* `TEL;TYPE=HOME:`, `TEL;TYPE=CELL:`, `TEL;TYPE=WORK:`, `TEL;TYPE=FAX:`: telefon, cep, iş ve faks numaraları (`+` ve rakamlar).
* `EMAIL:<email>`: e-posta adresi.
* `URL:<url>`: web sitesi.
* `NOTE:<text>`: özet. `\\`, `\n`, `\;` ve `\,` kaçışlarını kullanın. **Düzenleyici:** en fazla 200 karakter.
* `ADR:;;<street>;<city>;<state>;<zip>;<country>`: adres.
* `X-SOCIALPROFILE;TYPE=<platform>:<url>` veya `URL;TYPE=<PLATFORM>:<url>`: sosyal bağlantılar, platform başına bir satır.
* `PHOTO;VALUE=URI:<url>`: profil görseli URL'si. Tüm dosya kimliklerine göre önceliklidir.
* `X-GETQR-IMAGE-FILEID:<fileId>`: profil görseli (`logo` hedefi).
* `X-GETQR-PAGE-LOGO-FILEID:<fileId>`: sayfa logosu (`logo` hedefi).
* `X-GETQR-LANDING-THEME:p|<0-4>` veya `X-GETQR-LANDING-THEME:c|#RRGGBB|#RRGGBB|#RRGGBB`: açılış sayfası teması; ya bir ön ayar dizini (0–4) ya da özel arka plan, düğme ve simge renkleri.

Sosyal platformlar: `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"
}
```

Hatalar:

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

## Social Media

`qrType`: `"social"`. Panel kılavuzu: [Social Media QR kodu](https://docs.getqr.com/tr/qr-types/social.md).

| Alan | Davranış |
| - | - |
| `data` | Zorunlu. Bir nesneyi kodlayan JSON dizesi. `JSON.stringify` ile oluşturun. |
| `fileId` | İsteğe bağlı üst düzey profil görseli (`logo` hedefi). |
| `link.url` | Yok sayılır ve barındırılan sayfayla değiştirilir. Göndermeyin. |
| Kodladığı | Barındırılan sosyal medya sayfasını açan kısa bağlantı. |
| Baskıdan sonra | Düzenlenebilir. Sayfayı güncellemek için yeni bir `data` gönderin. |

`data` alanları:

| Alan | Tür | Notlar |
| - | - | - |
| `firstName` | string | Sayfa başlığı ve gösterilen tek ad. **Düzenleyici:** zorunlu, en fazla 40. |
| `lastName` | string | En fazla 40. Sayfada gösterilmez. |
| `summary` | string | En fazla 200. |
| `socialLinks` | `{ platform, url }[]` | `platform`, [vCard sosyal platformlarından](#vcard) biridir. **Düzenleyici:** her platform bir kez. |
| `customItems` | `{ name, url, logoFileId }[]` | **Düzenleyici:** en fazla 40 karakterlik `name`, bir http(s) `url` ve bir `logoFileId`. Toplamda en az bir sosyal bağlantı veya özel öğe. |
| `fileId` | string | Profil görseli (`logo` hedefi). Üst düzey `fileId` yedektir. |
| `imageUrl` | string | Harici profil görseli URL'si; yalnızca dosya kimliği yoksa kullanılır. |
| `pageLogoFileId` | string | Sayfa logosu (`logo` hedefi). |
| `landingThemeMode` | `"preset" \| "custom"` | Varsayılanı `preset`. |
| `landingPresetIndex` | 0–4 | Varsayılanı 0. |
| `landingCustomBg`, `landingCustomButton`, `landingCustomIcon` | `#RRGGBB` | Mod `custom` olduğunda kullanılır. |

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

Hatalar:

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

## Çoklu Bağlantı

`qrType`: `"multilink"`. Panel kılavuzu: [Çoklu Bağlantı QR kodu](https://docs.getqr.com/tr/qr-types/multi-link.md).

| Alan | Davranış |
| - | - |
| `data` | Zorunlu. Bir nesneyi kodlayan JSON dizesi. |
| `fileId` | İsteğe bağlı üst düzey profil görseli (`logo` hedefi). |
| `link.url` | Yok sayılır ve barındırılan sayfayla değiştirilir. Göndermeyin. |
| Kodladığı | Barındırılan çoklu bağlantı sayfasını açan kısa bağlantı. |
| Baskıdan sonra | Düzenlenebilir. Sayfayı güncellemek için yeni bir `data` gönderin. |

`data` alanları [Social Media](#social-media) ile aynıdır; tek fark `firstName`, `lastName` ve `summary` yerine şunların gelmesidir:

| Alan | Tür | Notlar |
| - | - | - |
| `title` | string | Sayfa başlığı. **Düzenleyici:** zorunlu, en fazla 40. |
| `description` | string | En fazla 200. |

`customItems` içinde `logoFileId` isteğe bağlıdır: yedek bir simge gösterilir. **Düzenleyici:** en az bir sosyal bağlantı veya boş olmayan bir özel öğe.

```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\":\"\"}]}"
}
```

Hatalar:

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

## Event

`qrType`: `"event"`. Panel kılavuzu: [Event QR kodu](https://docs.getqr.com/tr/qr-types/event.md).

| Alan | Davranış |
| - | - |
| `data` | Zorunlu. Bir nesneyi kodlayan JSON dizesi. Bilinmeyen veya geçersiz değerler varsayılanlara döner. |
| `fileId` | Doğrulanır (`logo` hedefi) ve saklanır, ancak etkinlik sayfası kapak görselini yalnızca `data.fileId` alanından okur. Kapak kimliğini veri yüküne koyun. |
| `link.url` | Yok sayılır ve barındırılan sayfayla değiştirilir. Göndermeyin. |
| Kodladığı | `.ics` indirmesi sunan, barındırılan etkinlik sayfasını açan kısa bağlantı. |
| Baskıdan sonra | Düzenlenebilir. Sayfayı güncellemek için yeni bir `data` gönderin. |

`data` alanları:

| Alan | Tür | Notlar |
| - | - | - |
| `name` | string | **Düzenleyici:** zorunlu. |
| `eventType` | string | Aşağıdaki etkinlik türlerinden biri veya boş. |
| `start`, `end` | `"YYYY-MM-DDTHH:mm"` | `timezone` içindeki yerel saat. **Düzenleyici:** ikisi de zorunlu, bitiş başlangıçtan sonra. |
| `timezone` | IANA, örneğin `"Europe/Berlin"` | Başlangıç ve bitişi `.ics` dosyasında konumlandırır. Her zaman gönderin: boş veya bilinmeyen bir saat dilimi, `.ics` dosyasının saatleri UTC olarak yorumlamasına neden olur. |
| `street`, `zip`, `city`, `state`, `country` | string | **Düzenleyici:** `city` ve `country` zorunlu, her biri en fazla 40. |
| `facilities` | string\[] | Aşağıdaki listeden kimlikler. Bilinmeyen kimlikler atılır. |
| `notes` | string | Serbest metin. |
| `fileId` | string | Kapak görseli (`logo` hedefi). |
| `pageLogoFileId` | string | Sayfa logosu (`logo` hedefi). |
| `organizerName`, `organizerEmail`, `mobile`, `work` | string | `mobile` ve `work` en fazla 40. |
| `socialLinks` | `{ platform, url }[]` | [vCard sosyal platformları](#vcard) ve ek olarak `website`. |
| `ticketsUrl` | http(s) URL | Bilet satın alma bağlantısı. |
| `ticketsLabel` | string | En fazla 20 karakter. Daha uzun etiketler kesilir. Boş bırakılırsa varsayılan etiket gösterilir. |

> [accordion] Etkinlik türleri
>
> `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] Olanaklar
>
> | Grup | Kimlikler |
> | - | - |
> | Giriş | `freeEntry`, `idRequired`, `invitationOnly`, `plusOneAllowed`, `reEntryAllowed` |
> | Yaş (birini seçin) | `adultsOnly`, `age18Plus`, `age21Plus`, `kidsWelcome` |
> | Mekânda | `parking`, `publicTransport`, `shuttle`, `wheelchairAccess`, `evCharging`, `wifi`, `foodDrinks`, `alcoholServed`, `atm`, `coatCheck`, `pool`, `phoneCharging`, `firstAid`, `wc` |
> | Kurallar | `petsAllowed`, `noPets`, `smokingArea`, `noSmoking`, `noPhotos` |
> | Kıyafet kuralı (birini seçin) | `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\"}"
}
```

Hatalar:

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

## QR kodlarında dosyalar

Bir dosyayı [Dosyalar](https://docs.getqr.com/tr/api/endpoints/files.md) ile kaydedin, yükleyin ve ardından `fileId` değerini gönderin. Kullanım amacına uygun hedefi seçin:

* **`pdf`, `image`, `video`.** PDF, görsel veya video QR kodunun içeriği.
* **`logo`.** Profil görselleri, sayfa logoları, özel bağlantı simgeleri ve orta logolar.

Hiçbir QR koduna eklenmeyen dosyalar bir bekleme süresinden sonra silinir.

Oluştururken ve `fileId` gönderildiğinde `PATCH` isteğinde döndürülen `fileId` hataları:

| Durum | Neden |
| - | - |
| `422 unprocessable_entity` | Tür dosya almıyor. Yalnızca `pdf`, `image`, `video`, `vcard`, `social`, `multilink` ve `event` dosya kabul eder. |
| `404 not_found` | Bu kimliğe sahip dosya yok. Önce `POST /api/v1/files` ile kaydedin. |
| `422 unprocessable_entity` | Dosya farklı bir hedef için yüklenmiş. Örneğin bir PDF QR kodunda `image` yüklemesi veya vCard fotoğrafı olarak kullanılan bir `pdf`, `image` ya da `video` yüklemesi. |
| `422 unprocessable_entity` | Dosya kayıtlı ancak `uploadUrl` adresine yükleme hiç tamamlanmamış. |

Veri yükü içindeki dosya kimlikleri (`fileId`, `pageLogoFileId`, `customItems[].logoFileId`, `X-GETQR-*-FILEID` satırları) doğrulanmaz. Yalnızca `logo` hedefiyle yüklendiklerinde görüntülenirler. QR kodu bunları sahiplenir, bu nedenle temizleme işlemi onlara dokunmaz.

## Tür değiştirme

`qrType` değerini [QR kodunu güncelleme](https://docs.getqr.com/tr/api/endpoints/qr-codes.md#qr-kodunu-güncelleme) ile değiştirebilirsiniz. Yeni türle eşleşen bir `data` gönderin: saklanan veri yükü eski türe aittir, bu yüzden yeni veri gönderilmeden yapılan tür değişikliği reddedilir.

Bir güncellemeden sonra hedef şu sırayla belirlenir:

1. `vcard`, `social`, `multilink`, `event`: her zaman barındırılan sayfa.
2. Panelde oluşturulmuş bir PDF paketi veya görsel galerisi: açılış sayfası.
3. `pdf`, `image`, `video`: dosya URL'si (yeni bir `fileId`, yoksa kayıtlı olan).
4. Gönderildiyse `link.url`.
5. Değişen `data`.
6. Kayıtlı URL.

Her tür değişikliğinin etkisi:

* **`pdf`, `image` veya `video` türünden çıkış.** `fileId` ve varsa paket veya galeri temizlenir.
* **`pdf`, `image` veya `video` türüne geçiş.** `fileId` de gönderin; aksi hâlde kayıtlı olan yeniden kullanılır ve bu bir vCard fotoğrafı olabilir.
* **`app` türünden çıkış.** Uygulama adı, `link.ios` ve `link.android` temizlenir; böylece telefonlar yeni hedefi izler.
* **`wifi` türüne geçiş.** Görsel ham veri yüküne geçer. Önceden basılmış kodlar hâlâ kısa bağlantıyı taşır ve bu bağlantı artık bir `wifi:` URL'sine yönlendirir.
* **`wifi` türünden çıkış.** Basılı kodlar eski ağlarını korur.
* **`vcard`, `social`, `multilink` veya `event` türüne geçiş.** Kısa bağlantı yeni barındırılan sayfaya yönlendirilir.
* **`vcard`, `social`, `multilink` veya `event` türünden çıkış.** Yeni `data` değerini gönderin. Hedef onu izler.

Panelde oluşturulan statik QR kodlarının kısa bağlantısı yoktur; bu nedenle `link.url` değerlerini değiştirmek `422` döndürür.

## API üzerinden desteklenmeyenler

Bu panel özellikleri v1 API'sinin parçası değildir. Bilinmeyen alanlar hata verilmeden atılır, bu yüzden bunları göndermenin bir etkisi olmaz.

| Alan | Açıklama |
| - | - |
| `appName` | Uygulama Bağlantısı QR kodunun görünen adı. API ile oluşturulan Uygulama Bağlantısı QR kodları panel listesinde mağaza URL'lerini gösterir. |
| `isStatic` | Kısa bağlantısı olmayan statik bir QR kodu. API'nin oluşturduğu her QR kodunun bir kısa bağlantısı vardır; böylece baskıdan sonra düzenlenebilir ve izlenebilir (`wifi` hariç). |
| `pdfBundle` | İki veya daha fazla dosya içeren bir PDF QR kodu. API yalnızca tek dosyalı PDF QR kodları oluşturur. |
| `imageGallery` | İki veya daha fazla görsel içeren bir Image QR kodu. API yalnızca tek görselli QR kodları oluşturur. |

Panelde oluşturulan paketler ve galeriler API üzerinden okunabilir, duraklatılabilir ve silinebilir, ancak dosyaları API üzerinden değiştirilemez.

## Sık karşılaşılan sorunlar

> [accordion] 422 Invalid destination URL
>
> `link.url`, kısa bağlantının yönlendiremeyeceği bir şema kullanıyor; örneğin `geo:`, `smsto:`, `matmsg:` veya `tel:`. Bu sayfadaki biçimleri kullanın.

> [accordion] 400 Missing destination URL
>
> `data` boş ve `link.url` yok. `app` için `link.ios`, `link.android`, `link.url` veya `data` alanlarından en az birini ayarlayın.

> [accordion] Yanıttaki data benim URL'im değil, bir kısa bağlantı
>
> Bağlantı türlerinde saklanan `data` kısa bağlantıdır. Hedefi `url` alanından okuyun.

> [accordion] Açılış sayfasında veri yükümdeki bazı ayrıntılar eksik
>
> Sayfa yalnızca tür için listelenen alanları ve satır biçimlerini okur. Diğer alanlar saklanır ancak gösterilmez.

## Sırada ne var

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

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

> [card] [Özelleştirme](https://docs.getqr.com/tr/api/guides/customization.md)

> [card] [Erişim kuralları](https://docs.getqr.com/tr/api/guides/access-rules.md)


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