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

# QR コードの種類別データ

> 16 種類の QR コードそれぞれのデータ形式、リクエスト例、印刷後の編集可否。

> [!NOTE]
>
> GetQR API はベータ版で、一部のワークスペースでのみご利用いただけます。正式リリースまでに内容が変更される場合があります。

各 QR コードには `qrType` があり、その種類によって `data` に入れる内容が決まります。このガイドでは、すべての種類について形式、そのまま使えるリクエストボディ、印刷後に変更できる内容を説明します。

例は [QR コードの作成](https://docs.getqr.com/ja/api/endpoints/qr-codes.md#qr-コードを作成する) のリクエストボディです。次のように送ります。

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

## すべての種類の一覧

| `qrType` | `data` | 印刷後の編集 |
| - | - | - |
| [`website`](#website) | http(s) の URL | 可 |
| [`feedback`](#feedback) | フォームの http(s) URL | 可 |
| [`payment`](#payment) | 決済サービスの URL | 可 |
| [`whatsapp`](#whatsapp) | `wa.me` リンク | 可 |
| [`location`](#location) | 地図の URL | 可 |
| [`app`](#app-link) | ストアの URL または空、および `link.ios` / `link.android` | 可 |
| [`email`](#email) | `mailto:` URI | 可 |
| [`sms`](#sms) | `sms:` URI | 可 |
| [`wifi`](#wifi) | `WIFI:` ペイロード | **不可** |
| [`pdf`, `image`, `video`](#pdf-と-image-と-video) | 空、`fileId` を指定 | 可 |
| [`vcard`](#vcard) | vCard 3.0 のテキスト | 可 |
| [`social`](#social-media) | JSON 文字列 | 可 |
| [`multilink`](#multi-link) | JSON 文字列 | 可 |
| [`event`](#event) | JSON 文字列 | 可 |

## QR コードの解決のしくみ

すべての QR コードは、短縮リンクとペイロードの組み合わせです。内容を持つフィールドは 2 つあります。

| フィールド | 内容 |
| - | - |
| `link.url` | 短縮リンクが訪問者を送る先。`wifi` 以外のすべての種類で、これが実際のリンク先です。 |
| `data` | その種類のペイロードで、`qrType` に照らして検証されます。送ったまま保存されるのは `wifi`、`vcard`、`social`、`multilink`、`event`、`sms` だけです。それ以外の種類では `link.url` を与えるためだけに使われ、保存される `data` は短縮リンクになります。リンク先はレスポンスの `url` から読み取ってください。 |

すべての種類に共通するルール：

* **既定値。** 作成時に `link.url` を省略するか空にすると、`data` が使われます。`link` オブジェクト全体を省略してもかまいません。両方を送って値が異なる場合は、`link.url` が優先されます。同じ値を送るか、`data` だけを送ってください。
* **画像に埋め込まれる内容。** `wifi` 以外のすべての種類で、画像には短縮リンクが埋め込まれます。そのため、印刷したコードのリンク先を変更でき、スキャンも計測されます。WiFi QR コードはネットワーク情報そのものを埋め込むため、印刷後は変更できず、スキャンも計測されません。
* **スキーム。** `link.url` が受け付けるのは `http:`、`https:`、`wifi:`、`mailto:`、`sms:`、`begin:` だけです。それ以外（`geo:`、`smsto:`、`matmsg:`、`tel:` を含む）は、`data` では受け付けられる場合でも `422 Invalid destination URL` になります。
* **空の data。** `data` が空の場合、種類のチェックは行われません。その場合、リダイレクト型の種類では `link.url` を指定する必要があり、指定しないと `400 Missing destination URL` が返ります。
* **形。** 種類のチェック以外に、サーバーはペイロードを検証しません。JSON 型の種類は JSON オブジェクトとしてパースできればよく、vCard は `BEGIN:VCARD` で始まっていれば十分です。

> [!TIP]
>
> 以下で **ビルダー** と記した制限は、ダッシュボードのビルダーが課すものです。API はこれを無視したペイロードも受け付けますが、ランディングページやビルダーで正しく表示されない場合があります。

## Website

`qrType`: `"website"`。ダッシュボードのガイド：[Website QR コード](https://docs.getqr.com/ja/qr-types/website.md)。

| フィールド | 動作 |
| - | - |
| `data` | http(s) の URL。 |
| `link.url` | リンク先。既定値は `data` です。 |
| `fileId` | 使用できません。 |
| 埋め込まれる内容 | `link.url` にリダイレクトする短縮リンク。スキャンは計測されます。 |
| 印刷後 | 編集できます。リンク先を変えるには `data` または `link.url` を送ります。`data` だけで十分です。 |

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

エラー：

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

## Feedback

`qrType`: `"feedback"`。ダッシュボードのガイド：[Feedback QR コード](https://docs.getqr.com/ja/qr-types/feedback.md)。

`data` はフィードバックフォームの http(s) URL です。たとえば Google フォームやレビューページです。それ以外は [Website](#website) と同じです。

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

## Payment

`qrType`: `"payment"`。ダッシュボードのガイド：[Payment QR コード](https://docs.getqr.com/ja/qr-types/payment.md)。

`data` は決済サービスの支払い URL です。例：

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

ダッシュボードのビルダーは、次のホストを認識します：`paypal.me`、`paypal.com/paypalme`、`cash.app`、`venmo.com`、`buy.stripe.com`、`stripe.com`、`square.link`、`payoneer.com`。PayPal の場合、金額はパスの最後のセグメントです。その他の http(s) URL も使えますが、ビルダーはサービスと金額に分けて表示しません。それ以外は [Website](#website) と同じです。

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

## WhatsApp

`qrType`: `"whatsapp"`。ダッシュボードのガイド：[WhatsApp QR コード](https://docs.getqr.com/ja/qr-types/whatsapp.md)。

`data` は `wa.me` リンクです。`+` を付けない数字だけの国際電話番号で、必要に応じて事前入力テキストを付けます。

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

サーバーは http(s) URL かどうかだけをチェックします。ダッシュボードは `api.whatsapp.com/send` のリンクも読み取ります。それ以外は [Website](#website) と同じです。

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

## Location

`qrType`: `"location"`。ダッシュボードのガイド：[Location QR コード](https://docs.getqr.com/ja/qr-types/location.md)。

`data` は地図の URL です。ダッシュボードで QR コードを編集できる状態に保つには、次の形式を使います（`query_place_id` は任意）。

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

その他の http(s) URL でもリダイレクトされます。`geo:` URI は `data` のチェックを通過しますが、リンク先としては拒否されるので使わないでください。それ以外は [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"`。ダッシュボードのガイド：[App Link QR コード](https://docs.getqr.com/ja/qr-types/app-link.md)。

| フィールド | 動作 |
| - | - |
| `link.ios`, `link.android` | App Store と Google Play の URL。iOS の訪問者は `ios` に、Android の訪問者は `android` に移動します。スキャン時には、これらが他のすべてより優先されます。 |
| `link.url` | その他のデバイス向けのフォールバック。既定値は `data`、次に `ios` または `android` です。 |
| `data` | http(s) の URL（ダッシュボードはストアの URL を送ります）または空。`link.ios`、`link.android`、`link.url`、`data` のうち少なくとも 1 つを指定する必要があり、指定しないと `400 Missing destination URL` が返ります。 |
| `fileId` | 使用できません。 |
| 埋め込まれる内容 | 短縮リンク。スキャンは計測されます。 |
| 印刷後 | 編集できます。`link.ios` と `link.android` はそれぞれ独立して、送った場合にだけ適用されます。`null` を送るとその値をクリアします。`qrType` を再送する必要はありません。別の種類に切り替えると、両方のストアリンクがクリアされます。 |

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

エラー：

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

## Email

`qrType`: `"email"`。ダッシュボードのガイド：[Email QR コード](https://docs.getqr.com/ja/qr-types/email.md)。

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

| フィールド | 動作 |
| - | - |
| `data` | 件名と本文を任意で含む `mailto:` URI。スペースは `%20` でエンコードしてください。ダッシュボードはスペースを `+` で書き込みますが、すべてのメールアプリがこれをスペースとして読むわけではありません。`matmsg:` はリンク先として拒否されます。 |
| `link.url` | `mailto:` URI。既定値は `data` です。 |
| `fileId` | 使用できません。 |
| 埋め込まれる内容 | メールアプリに引き継ぐページを開く短縮リンク。 |
| 印刷後 | 編集できます。メッセージを変えるには `data` または `link.url` を送ります。`data` だけで十分です。 |

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

エラー：

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

## SMS

`qrType`: `"sms"`。ダッシュボードのガイド：[SMS QR コード](https://docs.getqr.com/ja/qr-types/sms.md)。

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

| フィールド | 動作 |
| - | - |
| `data` | 本文を任意で含む `sms:` URI。ダッシュボードが読み取れるのは、この形式だけです。`smsto:` はリンク先として拒否されます。 |
| `link.url` | `sms:` URI。既定値は `data` です。 |
| `fileId` | 使用できません。 |
| 埋め込まれる内容 | メッセージアプリに引き継ぐページを開く短縮リンク。 |
| 印刷後 | 編集できます。メッセージを変えるには `data` または `link.url` を送ります。`data` だけで十分です。 |

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

エラー：

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

## WiFi

`qrType`: `"wifi"`。ダッシュボードのガイド：[WiFi QR コード](https://docs.getqr.com/ja/qr-types/wifi.md)。

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

| フィールド | 動作 |
| - | - |
| `data` | 必須。`T`、`S`、`P`、`H` の順序を守ってください。ダッシュボードのビルダーと一覧はこの順序に依存しています。SSID とパスワードに含まれる `\`、`;`、`"`、`:` はバックスラッシュでエスケープします。オープンネットワークでは、`T:nopass` と空の `P:` を使います。`T:none` はスキャナーに拒否されます。**ビルダー：** SSID は必須、パスワードは `nopass` でない限り 8 文字以上。 |
| `link.url` | スキャンには使われません。既定値は `data` です。 |
| `fileId` | 使用できません。 |
| 埋め込まれる内容 | 短縮リンクではなく、生の `WIFI:` ペイロード。スキャンは計測されません。 |
| 印刷後 | **編集できません。** 新しい `data` は今後のダウンロードにだけ反映されます。印刷済みのコードには古いネットワーク情報が残ります。 |

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

エラー：

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

> [!WARNING]
>
> 印刷済みの WiFi QR コードの種類は切り替えないでください。印刷済みのコードには古いネットワーク情報が残ります。

## PDF と Image と Video

`qrType`: `"pdf"`、`"image"`、`"video"`。ダッシュボードのガイド：[PDF](https://docs.getqr.com/ja/qr-types/pdf.md)、[Image](https://docs.getqr.com/ja/qr-types/image.md)、[Video](https://docs.getqr.com/ja/qr-types/video.md)。

| フィールド | 動作 |
| - | - |
| `fileId` | ファイル。種類に合った用途（`pdf`、`image`、`video`）でアップロードします。`fileId` があると、`link.url` はファイルの URL になり、そこに送った値は無視されます。 |
| `data` | 他の種類のペイロード（`WIFI:`、`BEGIN:VCARD`、`sms:`、`mailto:`、JSON オブジェクト）以外なら何でもかまいません。空でもかまいません。 |
| `link.url` | `fileId` がない場合、`link.url`（または `data`）が外部のリンク先として使われます。これでも動作しますが、ダッシュボードにはファイルが表示されません。 |
| 埋め込まれる内容 | ファイルに直接リダイレクトする短縮リンク。PDF はビューアーページではなく、ファイルそのものとして開きます。 |
| 印刷後 | 編集できます。ファイルを差し替えるには、新しい `fileId` を送ります。古いファイルは解放されます。 |

QR コード 1 つにつきファイルは 1 つです。PDF バンドルと画像ギャラリーは API では利用できません。[API で未対応の機能](#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"
}
```

ファイルをアップロードして `fileId` を取得する方法は、[ファイル](https://docs.getqr.com/ja/api/endpoints/files.md) をご覧ください。

## vCard

`qrType`: `"vcard"`。ダッシュボードのガイド：[vCard QR コード](https://docs.getqr.com/ja/qr-types/vcard.md)。

| フィールド | 動作 |
| - | - |
| `data` | 必須。`BEGIN:VCARD` で始まる vCard 3.0 のテキストで、行は `\r\n` で区切ります（`\n` も使えます）。 |
| `fileId` | 任意のプロフィール画像（`logo` 用途）。`data` に `PHOTO` 行も `X-GETQR-IMAGE-FILEID` 行もない場合に使われます。 |
| `link.url` | 無視され、ホストされたページに置き換えられます。送らないでください。 |
| 埋め込まれる内容 | ホストされた連絡先ページを開く短縮リンク。連絡先を保存するための（`.vcf`）ダウンロードが付きます。 |
| 印刷後 | 編集できます。ページを更新するには新しい `data` を送ります。 |

ランディングページとビルダーが読み取るのは、以下の行の形式だけです。`TEL;CELL:` や `EMAIL;TYPE=INTERNET:` などの他の書き方は保存されますが、ページには表示されません。

* `N:<last>;<first>;;;`：姓と名。**ビルダー：** どちらも必須、最大 40 文字。
* `FN:<first> <last>`：ページでは読み取られません。ダッシュボードの一覧のラベルはここから作られます。
* `ORG:<company>` と `TITLE:<role>`：会社名と役職。**ビルダー：** 最大 40 文字。
* `TEL;TYPE=HOME:`、`TEL;TYPE=CELL:`、`TEL;TYPE=WORK:`、`TEL;TYPE=FAX:`：電話、携帯、勤務先、FAX の番号（`+` と数字）。
* `EMAIL:<email>`：メールアドレス。
* `URL:<url>`：Web サイト。
* `NOTE:<text>`：概要。`\\`、`\n`、`\;`、`\,` でエスケープします。**ビルダー：** 最大 200 文字。
* `ADR:;;<street>;<city>;<state>;<zip>;<country>`：住所。
* `X-SOCIALPROFILE;TYPE=<platform>:<url>` または `URL;TYPE=<PLATFORM>:<url>`：SNS のリンク。プラットフォームごとに 1 行です。
* `PHOTO;VALUE=URI:<url>`：プロフィール画像の URL。どのファイル ID よりも優先されます。
* `X-GETQR-IMAGE-FILEID:<fileId>`：プロフィール画像（`logo` 用途）。
* `X-GETQR-PAGE-LOGO-FILEID:<fileId>`：ページのロゴ（`logo` 用途）。
* `X-GETQR-LANDING-THEME:p|<0-4>` または `X-GETQR-LANDING-THEME:c|#RRGGBB|#RRGGBB|#RRGGBB`：ランディングページのテーマ。プリセットのインデックス（0〜4）か、背景、ボタン、アイコンのカスタムカラーのいずれかです。

SNS プラットフォーム：`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"
}
```

エラー：

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

## Social Media

`qrType`: `"social"`。ダッシュボードのガイド：[Social Media QR コード](https://docs.getqr.com/ja/qr-types/social.md)。

| フィールド | 動作 |
| - | - |
| `data` | 必須。オブジェクトをエンコードした JSON 文字列。`JSON.stringify` で作成します。 |
| `fileId` | 任意のトップレベルのプロフィール画像（`logo` 用途）。 |
| `link.url` | 無視され、ホストされたページに置き換えられます。送らないでください。 |
| 埋め込まれる内容 | ホストされた SNS ページを開く短縮リンク。 |
| 印刷後 | 編集できます。ページを更新するには新しい `data` を送ります。 |

`data` のフィールド：

| フィールド | 型 | 備考 |
| - | - | - |
| `firstName` | string | ページの見出しで、表示される唯一の名前。**ビルダー：** 必須、最大 40。 |
| `lastName` | string | 最大 40。ページには表示されません。 |
| `summary` | string | 最大 200。 |
| `socialLinks` | `{ platform, url }[]` | `platform` は [vCard の SNS プラットフォーム](#vcard) のいずれかです。**ビルダー：** 各プラットフォーム 1 回まで。 |
| `customItems` | `{ name, url, logoFileId }[]` | **ビルダー：** `name` は最大 40、http(s) の `url` と `logoFileId` が必要。SNS リンクとカスタム項目を合わせて 1 つ以上。 |
| `fileId` | string | プロフィール画像（`logo` 用途）。トップレベルの `fileId` がフォールバックです。 |
| `imageUrl` | string | 外部のプロフィール画像 URL。ファイル ID がない場合にだけ使われます。 |
| `pageLogoFileId` | string | ページのロゴ（`logo` 用途）。 |
| `landingThemeMode` | `"preset" \| "custom"` | 既定値は `preset` です。 |
| `landingPresetIndex` | 0–4 | 既定値は 0 です。 |
| `landingCustomBg`, `landingCustomButton`, `landingCustomIcon` | `#RRGGBB` | モードが `custom` のときに使われます。 |

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

エラー：

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

## Multi-Link

`qrType`: `"multilink"`。ダッシュボードのガイド：[Multi-Link QR コード](https://docs.getqr.com/ja/qr-types/multi-link.md)。

| フィールド | 動作 |
| - | - |
| `data` | 必須。オブジェクトをエンコードした JSON 文字列。 |
| `fileId` | 任意のトップレベルのプロフィール画像（`logo` 用途）。 |
| `link.url` | 無視され、ホストされたページに置き換えられます。送らないでください。 |
| 埋め込まれる内容 | ホストされたマルチリンクページを開く短縮リンク。 |
| 印刷後 | 編集できます。ページを更新するには新しい `data` を送ります。 |

`data` のフィールドは [Social Media](#social-media) と同じですが、`firstName`、`lastName`、`summary` の代わりに次のフィールドを使います。

| フィールド | 型 | 備考 |
| - | - | - |
| `title` | string | ページの見出し。**ビルダー：** 必須、最大 40。 |
| `description` | string | 最大 200。 |

`customItems` では `logoFileId` は任意で、ない場合は代替アイコンが表示されます。**ビルダー：** SNS リンクまたは空でないカスタム項目が 1 つ以上必要です。

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

エラー：

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

## Event

`qrType`: `"event"`。ダッシュボードのガイド：[Event QR コード](https://docs.getqr.com/ja/qr-types/event.md)。

| フィールド | 動作 |
| - | - |
| `data` | 必須。オブジェクトをエンコードした JSON 文字列。不明な値や無効な値は既定値に戻ります。 |
| `fileId` | 検証（`logo` 用途）されて保存されますが、イベントページはカバー画像を `data.fileId` からしか読み取りません。カバー画像の ID はペイロードに入れてください。 |
| `link.url` | 無視され、ホストされたページに置き換えられます。送らないでください。 |
| 埋め込まれる内容 | ホストされたイベントページを開く短縮リンク。`.ics` のダウンロードが付きます。 |
| 印刷後 | 編集できます。ページを更新するには新しい `data` を送ります。 |

`data` のフィールド：

| フィールド | 型 | 備考 |
| - | - | - |
| `name` | string | **ビルダー：** 必須。 |
| `eventType` | string | 以下のイベントの種類のいずれか、または空。 |
| `start`, `end` | `"YYYY-MM-DDTHH:mm"` | `timezone` における現地時刻。**ビルダー：** どちらも必須、終了は開始より後。 |
| `timezone` | IANA（例：`"Europe/Berlin"`） | `.ics` ファイルで開始と終了の時刻を決めます。必ず送ってください。空または不明なタイムゾーンの場合、`.ics` は時刻を UTC として扱います。 |
| `street`, `zip`, `city`, `state`, `country` | string | **ビルダー：** `city` と `country` は必須、それぞれ最大 40。 |
| `facilities` | string\[] | 以下のリストの ID。不明な ID は削除されます。 |
| `notes` | string | 自由記述のテキスト。 |
| `fileId` | string | カバー画像（`logo` 用途）。 |
| `pageLogoFileId` | string | ページのロゴ（`logo` 用途）。 |
| `organizerName`, `organizerEmail`, `mobile`, `work` | string | `mobile` と `work` は最大 40。 |
| `socialLinks` | `{ platform, url }[]` | [vCard の SNS プラットフォーム](#vcard) と `website`。 |
| `ticketsUrl` | http(s) の URL | チケット購入用のリンク。 |
| `ticketsLabel` | string | 最大 20 文字。長いラベルは切り詰められます。空の場合は既定のラベルが表示されます。 |

> [accordion] イベントの種類
>
> `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] 設備
>
> | グループ | ID |
> | - | - |
> | 入場 | `freeEntry`, `idRequired`, `invitationOnly`, `plusOneAllowed`, `reEntryAllowed` |
> | 年齢（1 つ選択） | `adultsOnly`, `age18Plus`, `age21Plus`, `kidsWelcome` |
> | 会場の設備 | `parking`, `publicTransport`, `shuttle`, `wheelchairAccess`, `evCharging`, `wifi`, `foodDrinks`, `alcoholServed`, `atm`, `coatCheck`, `pool`, `phoneCharging`, `firstAid`, `wc` |
> | ルール | `petsAllowed`, `noPets`, `smokingArea`, `noSmoking`, `noPhotos` |
> | ドレスコード（1 つ選択） | `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\"}"
}
```

エラー：

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

## QR コードで使うファイル

[ファイル](https://docs.getqr.com/ja/api/endpoints/files.md) でファイルを登録してアップロードし、その `fileId` を渡します。使い道に合った用途を指定してください。

* **`pdf`、`image`、`video`。** PDF、Image、Video の QR コードのコンテンツ。
* **`logo`。** プロフィール画像、ページのロゴ、カスタムリンクのアイコン、中央のロゴ。

どの QR コードにも紐付けられなかったファイルは、猶予期間の後に削除されます。

`fileId` のエラー（作成時と、`fileId` を送った `PATCH` で返ります）：

| ステータス | 原因 |
| - | - |
| `422 unprocessable_entity` | この種類はファイルを受け付けません。ファイルを受け付けるのは `pdf`、`image`、`video`、`vcard`、`social`、`multilink`、`event` だけです。 |
| `404 not_found` | この ID のファイルはありません。先に `POST /api/v1/files` で登録してください。 |
| `422 unprocessable_entity` | ファイルが別の用途でアップロードされています。たとえば、PDF の QR コードに `image` 用途のファイルを使った場合や、`pdf`、`image`、`video` 用途のファイルを vCard の写真に使った場合です。 |
| `422 unprocessable_entity` | ファイルは登録されていますが、`uploadUrl` へのアップロードが完了していません。 |

ペイロード内のファイル ID（`fileId`、`pageLogoFileId`、`customItems[].logoFileId`、`X-GETQR-*-FILEID` 行）は検証されません。表示されるのは `logo` 用途でアップロードされた場合だけです。これらは QR コードに紐付けられるため、クリーンアップで削除されることはありません。

## 種類の切り替え

`qrType` は [QR コードの更新](https://docs.getqr.com/ja/api/endpoints/qr-codes.md#qr-コードを更新する) で変更できます。新しい種類に合った `data` を送ってください。保存されているペイロードは古い種類のものなので、data を送らずに切り替えると拒否されます。

更新後、リンク先は次の順序で決まります。

1. `vcard`、`social`、`multilink`、`event`：常にホストされたページ。
2. ダッシュボードで作成した PDF バンドルまたは画像ギャラリー：そのランディングページ。
3. `pdf`、`image`、`video`：ファイルの URL（新しい `fileId`、なければ保存済みのもの）。
4. 送った場合は `link.url`。
5. 変更された `data`。
6. 保存済みの URL。

切り替えごとの動作：

* **`pdf`、`image`、`video` から別の種類へ。** `fileId` と、バンドルやギャラリーがあればそれもクリアされます。
* **`pdf`、`image`、`video` へ。** `fileId` も送ってください。送らないと保存済みのものが再利用され、それが vCard の写真である場合もあります。
* **`app` から別の種類へ。** アプリ名、`link.ios`、`link.android` がクリアされ、スマートフォンも新しいリンク先に移動するようになります。
* **`wifi` へ。** 画像は生のペイロードに切り替わります。すでに印刷されたコードには短縮リンクが残り、`wifi:` URL にリダイレクトするようになります。
* **`wifi` から別の種類へ。** 印刷済みのコードには古いネットワーク情報が残ります。
* **`vcard`、`social`、`multilink`、`event` へ。** 短縮リンクは新しいホストされたページを指すようになります。
* **`vcard`、`social`、`multilink`、`event` から別の種類へ。** 新しい `data` を送ってください。リンク先はそれに従います。

ダッシュボードで作成した静的 QR コードには短縮リンクがないため、`link.url` を変更すると `422` になります。

## API で未対応の機能

以下のダッシュボードの機能は、v1 API には含まれていません。不明なフィールドはエラーなしで破棄されるため、送っても効果はありません。

| フィールド | 説明 |
| - | - |
| `appName` | App Link QR コードの表示名。API で作成した App Link QR コードは、ダッシュボードの一覧にストアの URL が表示されます。 |
| `isStatic` | 短縮リンクのない静的 QR コード。API で作成する QR コードにはすべて短縮リンクがあるため、印刷後も編集と計測ができます（`wifi` を除く）。 |
| `pdfBundle` | 2 つ以上のファイルを持つ PDF QR コード。API で作成できるのは、ファイルが 1 つの PDF QR コードだけです。 |
| `imageGallery` | 2 枚以上の画像を持つ Image QR コード。API で作成できるのは、画像が 1 枚の QR コードだけです。 |

ダッシュボードで作成したバンドルとギャラリーも、API で読み取り、一時停止、削除できます。ただし、そのファイルを API で変更することはできません。

## よくある問題

> [accordion] 422 Invalid destination URL
>
> `link.url` に、短縮リンクがリダイレクトできないスキーム（`geo:`、`smsto:`、`matmsg:`、`tel:` など）が使われています。このページの形式を使ってください。

> [accordion] 400 Missing destination URL
>
> `data` が空で、`link.url` もありません。`app` の場合は、`link.ios`、`link.android`、`link.url`、`data` のうち少なくとも 1 つを指定してください。

> [accordion] レスポンスの data が自分の URL ではなく短縮リンクになっている
>
> リンク型の種類では、保存される `data` は短縮リンクです。リンク先は `url` から読み取ってください。

> [accordion] ペイロードの一部がランディングページに表示されない
>
> ページが読み取るのは、その種類について記載したフィールドと行の形式だけです。それ以外のフィールドは保存されますが、表示されません。

## 次のステップ

> [card] [QR コード](https://docs.getqr.com/ja/api/endpoints/qr-codes.md)

> [card] [ファイル](https://docs.getqr.com/ja/api/endpoints/files.md)

> [card] [カスタマイズ](https://docs.getqr.com/ja/api/guides/customization.md)

> [card] [アクセスルール](https://docs.getqr.com/ja/api/guides/access-rules.md)


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