# 웹 스토어 카탈로그 스키마 레퍼런스

> 상품이 웹숍에 표시되는 방식을 제어하는 데 사용할 수 있는 카탈로그 필드를 찾습니다.

웹숍은 프로젝트의 [인앱 구매(IAP)](/iap.md) 카탈로그에서 제품을 렌더링합니다. 각 제품은 스탠다드 IAP 카탈로그 아이템으로, 카테고리, 고해상도 이미지, 프로모션 처리, 표시 순서, 제품별 배지 등 상점별 필드를 통해 확장할 수 있습니다. 이 필드는 제품이 상점에 표시되는 방식을 제어합니다.

이 레퍼런스는 각 제품에 대해 웹숍이 읽는 필드, 즉 모든 IAP 상품에 있는 기본 카탈로그 필드와 웹숍 확장자 필드를 나열합니다. webshop 확장자 필드는 webshop 카탈로그에 포함된 제품에만 적용됩니다. 카탈로그의 출처와 제품 표시의 작동 방식에 대한 자세한 내용은 [카탈로그 및 웹 상점 결제](./catalog-and-payments.md)를 참조하십시오. 제품을 작성하려면 [에디터에서 카탈로그 만들기](/iap/create-catalog-in-editor.md)를 참조하십시오.

## 제품 필드##product-fields

이는 모든 카탈로그 제품의 기본 필드입니다.

| Field              | Type | 필수 여부  | 설명                                                                                     |
| ------------------ | ---- | ------ | -------------------------------------------------------------------------------------- |
| `uSKU`             | 문자열  | 예      | 제품의 고유 식별자(SKU)입니다.                                                                    |
| `type`             | 문자열  | 예      | 제품 유형: `Consumable`, `NonConsumable` 또는 `Subscription`.                                |
| `imageUrl`         | 문자열  | 지원 안 함 | 제품 카드에 표시되는 제품 이미지의 URL입니다.                                                            |
| `productDetails`   | 배열   | 예      | 현지화된 디스플레이 세부 정보, 언어당 하나의 엔트리입니다. [현지화된 제품 세부 정보](#localized-product-details)를 참조하십시오. |
| `pricing`          | 배열   | 예      | 재화별 가격입니다. [가격 책정](#pricing)을 참조하십시오.                                                  |
| `storeIdOverrides` | 배열   | 지원 안 함 | 다른 스토어별 제품 ID 각 항목에는 `store`(`apple` 또는 `google`)와 `value`가 있습니다.                      |

## 현지화된 제품 세부 정보##localized-product-details

`productDetails`의 각 항목은 하나의 언어로 제품을 설명합니다.

| Field         | Type   | 필수 여부  | 설명                                                                                                                            |
| ------------- | ------ | ------ | ----------------------------------------------------------------------------------------------------------------------------- |
| `language`    | 문자열    | 예      | 이 엔트리가 적용되는 언어입니다.                                                                                                            |
| `title`       | 문자열    | 예      | 제품의 표시 이름입니다.                                                                                                                 |
| `description` | 문자열    | 예      | 플레이어에게 제공되는 제품 설명입니다.                                                                                                         |
| `subtitle`    | 문자열    | 지원 안 함 | 제목과 함께 표시되는 선택적인 보조 라인입니다.                                                                                                    |
| `badge`       | object | 지원 안 함 | 제품 카드에 표시되는 칩입니다. `text`(필수, 최대 32자) 및 텍스트 옆에 표시되는 아이콘에 대한 선택적인 `imageUrl`가 포함되어 있습니다. 판매 중인지 여부와 관계없이 모든 상품은 배지를 전달할 수 있습니다. |

## 가격 책정##pricing

각 `pricing` 항목은 하나의 통화로 가격을 설정합니다. 배열은 최소 하나의 `USD` 항목을 포함해야 합니다.

| Field          | Type    | 필수 여부  | 설명                                            |
| -------------- | ------- | ------ | --------------------------------------------- |
| `currencyCode` | 문자열     | 예      | ISO 4217 통화 코드(예: `USD` 또는 `GBP`).            |
| `amount`       | integer | 예      | 제품에 대해 청구된 금액입니다.                             |
| `webshopPrice` | integer | 지원 안 함 | 웹숍에 표시되는 가격입니다. 제품에 웹별 가격을 지정하려면 이 옵션을 설정합니다. |

금액은 미크로 단위의 정수이며, 1,000,000은 통화 단위입니다. 예를 들어 `9990000`는 9.99입니다. 수동이 아닌 카탈로그 툴을 통해 가격을 설정합니다. [에디터에서 카탈로그 만들기](/iap/create-catalog-in-editor.md)를 참조하십시오.

## 웹숍 확장자 필드##webshop-extension-fields

이 필드는 기본 카탈로그 제품을 상점별 디스플레이 옵션으로 확장합니다. 이는 웹숍 카탈로그에 있는 제품에만 적용됩니다.

| Field        | Type    | 필수 여부  | 설명                                                                                                                         |
| ------------ | ------- | ------ | -------------------------------------------------------------------------------------------------------------------------- |
| `categories` | 문자열 배열  | 지원 안 함 | 제품이 속한 카테고리 ID입니다(최대 16개, 고유). 각 카테고리는 상점에 대해 정의한 카테고리와 일치해야 합니다.                                                          |
| `hdImages`   | 배열      | 지원 안 함 | 제품 세부 정보 다이얼로그를 위한 고해상도 이미지(최대 8). 각 항목에는 `url`(필수) 및 `altText`(선택 사항)가 있습니다.                                              |
| `promotion`  | object  | 지원 안 함 | 카드에 대한 프로모션 처리. `type`는 `Sale`, `Bonus` 또는 `Limited`입니다. 선택적인 `startsAt` 및 `endsAt` 필드(RFC 3339 date-times)는 처리 시점을 예약합니다. |
| `sortIndex`  | integer | 지원 안 함 | 전체 스토어에서 상품의 표시 순서입니다. 낮은 값이 먼저 나타납니다.                                                                                     |

## 예제##example

다음 제품은 기본 카탈로그 필드와 웹숍 확장 필드를 모두 포함합니다.

```json
{
  "uSKU": "com.example.gems.medium",
  "type": "소모품",
  "imageUrl": "https://cdn.example.com/gems-medium.png",
  "productDetails": [
    {
      "language": "en",
      "title": "Medium Gem Pack",
      "description": "게임에서 소모할 수 있는 유용한 보석"
      "subtitle": "500 gems",
      "badge": { "text": "최고의 가치", "imageUrl": "https://cdn.example.com/gem-icon.png" }
    }
  ],
  "pricing": [
    { "currencyCode": "USD", "amount": 9990000, "webshopPrice": 7990000 }
  ],
  "categories": ["gems"],
  "hdImages": [
    { "url": "https://cdn.example.com/gems-medium-hd.png", "altText": "보석 쌓기" }
  ],
  "promotion": { "type": "Sale", "endsAt": "2026-07-01T00:00:00Z" },
  "sortIndex": 10
}
```
