> For the complete documentation index, see [llms.txt](https://help.genser.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.genser.ai/developers/product-collection/parameter.md).

# 요청 파라미터 설명

{% hint style="info" %}
**요청 데이터를 설명합니다. 자세한 API 요청 방식은**[ **상품 수집 API** ](/developers/product-collection/api.md)**를 참고해 주세요.**\
**상품 수집 API 관련 요청 파라미터 설명입니다. Google Merchant API 는 Google 공식 문서를 참고해 주세요.**
{% endhint %}

## **공통 데이터 구조**

### **다국어 텍스트 필드**

상품명, 브랜드명, 카테고리명 등의 텍스트 필드는 3가지 형식을 지원합니다.

**형식 1. 단순 문자열**

```json
"name": "클래식 티셔츠"
```

**형식 2. 언어 지정 객체**

```json
"name": {
  "@value": "클래식 티셔츠",
  "@language": "ko"
}
```

**형식 3. 다국어 배열**

지원 언어 코드（ISO 639-1）：`ko`、`en`、`ja`

```json
"name": [
  { "@value": "클래식 티셔츠", "@language": "ko" },
  { "@value": "Classic T-Shirt", "@language": "en" },
  { "@value": "クラシックTシャツ", "@language": "ja" }
]
```

{% hint style="info" %}
언어 지정 객체(형식 2, 3)를 사용하는 경우, `@value`와 `@language`는 모두 필수입니다. `@language`를 생략하면 `400` 에러가 반환됩니다. 모든 언어를 반드시 제공할 필요는 없으며, 필요한 언어만 전송할 수 있습니다.
{% endhint %}

### **데이터 입력 규칙**

* **필수 필드와 null**：필드 사양표에서 필수(O)로 표기된 필드에는 반드시 유효한 값을 포함해야 합니다. API 사양서에 기재된 모든 필드는 `null`을 허용하지 않습니다. 선택(X) 필드는 생략할 수 있지만, `null`은 전송하지 마세요.
* **빈 문자열**：필수 필드에 빈 문자열(`""`)을 전송하면 `400` 에러가 반환됩니다.
* **문자열(string)**：시스템상의 고정 `maxLength` 제약은 없지만, 운영상의 권장 길이에 맞춰 전송해 주세요.
* **숫자(number)**：통화·수량·중량 등 용도에 맞는 일반적인 소수점 정밀도를 사용해 주세요.
* **enum**：허용되는 값이 지정된 필드는 Enum 값 레퍼런스 섹션에 정리되어 있습니다. 명시된 값 이외를 전송하면 `400` 에러가 반환됩니다.
* **필드 간 의존 관계**：특정 필드의 값에 따라 다른 필드의 필수 여부가 변경되는 조건부 필수 규칙은 적용되지 않습니다. 필드 사양표의 필수 여부만을 기준으로 데이터를 구성합니다.
* `@graph` 배열에는 최소 1건, 최대 1,000건의 상품을 포함할 수 있습니다.
* API 명세서에 기재된 모든 필드는 null을 허용하지 않습니다.

**문자열·숫자의 권장 제약값:** 당사 시스템에서는 아래 제약으로 수신·저장됩니다. 설계 시 참고하세요.

이 값은 권장값이며 실제 값에 제한은 없습니다.

<table><thead><tr><th>필드</th><th width="213.62109375">타입</th><th>제약</th></tr></thead><tbody><tr><td>sku</td><td>string</td><td>최대 64자, 반각 영숫자·하이픈·언더스코어</td></tr><tr><td>name</td><td>string</td><td>최대 200자</td></tr><tr><td>description.text</td><td>string</td><td>최대 5,000자</td></tr><tr><td>brand.name</td><td>string</td><td>최대 100자</td></tr><tr><td>category.name</td><td>string</td><td>최대 100자</td></tr><tr><td>url / mobileUrl</td><td>string</td><td>최대 2,048자, http(s) 스킴만 허용</td></tr><tr><td>price</td><td>number</td><td>소수점 이하 4자리까지(JPY/KRW는 정수 권장)</td></tr><tr><td>inventoryLevel.value</td><td>number</td><td>0 이상의 정수</td></tr><tr><td>shippingDetails.weight.value</td><td>number</td><td>소수점 이하 3자리까지</td></tr><tr><td>gtin</td><td>string</td><td>GTIN-8 / 12 / 13 / 14(숫자만)</td></tr><tr><td>priceCurrency</td><td>string</td><td>ISO 4217(예: JPY, KRW, USD)</td></tr><tr><td>availabilityStarts / Ends</td><td>string</td><td>ISO 8601 UTC(끝에 "Z" 필수)</td></tr></tbody></table>

{% hint style="info" %}
Starts와 Ends를 모두 지정하는 경우, Starts < Ends여야 합니다.&#x20;
{% endhint %}

#### **권장 maxLength**

아래는 운영상의 권장값입니다. 시스템상의 고정 상한은 아니지만, 검색·표시·매칭 품질을 안정시키기 위해 가능한 한 이 범위 내로 전송해 주세요.

<table><thead><tr><th>대상 필드</th><th width="191.9375" align="center">권장 maxLength</th><th>비고</th></tr></thead><tbody><tr><td><code>sku</code>、<code>offers.sku</code></td><td align="center">100</td><td>상품·옵션을 고유하게 식별할 수 있는 안정적인 코드</td></tr><tr><td><code>gtin</code></td><td align="center">14</td><td>GTIN-8, GTIN-12, GTIN-13, GTIN-14 대응</td></tr><tr><td><code>mpn</code></td><td align="center">100</td><td>제조사 품번</td></tr><tr><td><code>name</code>、<code>brand.name</code>、<code>category.name</code></td><td align="center">200</td><td>표시명으로 읽기 쉬운 길이</td></tr><tr><td><code>description.text</code></td><td align="center">5000</td><td>HTML이 아닌 설명 본문 권장</td></tr><tr><td><code>url</code>、<code>mobileUrl</code>、<code>image.contentUrl</code></td><td align="center">2048</td><td><code>https://</code> URL 권장</td></tr><tr><td><code>color</code>、<code>size</code>、<code>material</code></td><td align="center">100</td><td>옵션·소재명</td></tr><tr><td><code>additionalProperty.propertyID</code></td><td align="center">100</td><td>속성을 식별하는 키</td></tr></tbody></table>

#### 권장 숫자 정밀도

| 대상 필드                              | 권장 정밀도       | 비고                              |
| ---------------------------------- | ------------ | ------------------------------- |
| `price`、`priceSpecification.price` | 통화 기준        | JPY·KRW는 정수, USD는 소수점 이하 2자리 권장 |
| `inventoryLevel.value`             | 정수           | 재고 수량                           |
| `shippingDetails.weight.value`     | 소수점 이하 3자리까지 | kg·g 등의 중량 표현                   |
| `additionalProperty.platform_rate` | 소수점 이하 4자리까지 | 예: `0.15`                       |
| `unit.unit_quantity`               | 소수점 이하 3자리까지 | 포장 수량                           |
| `unit.weight_quantity`             | 소수점 이하 3자리까지 | 중량·용량 값. 숫자 타입으로 전송             |

#### 운영상의 기대 포맷

| 대상 필드                                    | 기대 포맷                | 비고                                                                                                       |
| ---------------------------------------- | -------------------- | -------------------------------------------------------------------------------------------------------- |
| `sku`、`offers.sku`                       | 영숫자, 하이픈, 언더스코어 권장   | 예: `PROD-001-WH-M`. 등록 후 동일 상품의 식별자로 계속 사용해 주세요.                                                         |
| `gtin`                                   | 숫자만, 8\~14자리         | <p>UPC(12자리), EAN(13자리), JAN(8·13자리), ISBN(13자리), ITF-14(14자리) 지원. <br>예: <code>4901234567894</code></p> |
| `mpn`                                    | 제조사가 관리하는 품번 문자열     | <p>최대 70자 영숫자. GTIN이 없는 제품의 경우 전송 권장. <br>예: <code>GO12345OOGLE</code></p>                               |
| `availabilityStarts`、`availabilityEnds`  | UTC ISO 8601, 끝에 `Z` | 예: `2026-01-01T00:00:00Z`                                                                                |
| `url`、`mobileUrl`                        | 접근 가능한 상품 페이지 URL    | `https://` URL 권장                                                                                        |
| `image.contentUrl`                       | 외부에서 접근 가능한 이미지 URL  | `https://` URL 권장. 인증·만료 URL은 피해 주세요.                                                                    |
| `image.width.value`、`image.height.value` | 픽셀 값                 | 양수를 전송해 주세요.                                                                                             |
| `priceCurrency`                          | ISO 4217, 3자리 대문자    | 예: `JPY`, `KRW`, `USD`                                                                                   |

## 필드 상세 사양

#### **이벤트 객체(CollectorProductsEvent)**

| 필드            | 타입     | 필수 | 설명                                                                 |
| ------------- | ------ | -- | ------------------------------------------------------------------ |
| `@context`    | string | X  | 스키마 context. 고정값: `"https://schema.org"`                           |
| `specversion` | string | X  | 스펙 버전. 고정값: `"1.0"`                                                |
| `id`          | string | X  | 이벤트 고유 식별자. 등록: `"EVT-CREATE-PRODUCT"`, 수정: `"EVT-UPDATE-PRODUCT"` |
| `type`        | string | X  | 이벤트 타입. 등록: `"create_product"`, 수정: `"update_product"`             |
| `agent`       | object | O  | 요청 주체 정보                                                           |
| `@graph`      | array  | O  | 상품 데이터 배열(1\~1,000건)                                               |

#### **agent 객체**

| 필드      | 타입     | 필수 | 설명                        |
| ------- | ------ | -- | ------------------------- |
| `@type` | string | X  | 타입. 고정값: `"Organization"` |
| `name`  | string | O  | 요청 기업명                    |

#### **상품 객체(@graph)**

`@graph` 배열의 각 항목은 하나의 상품을 나타냅니다.

| 필드                      | 타입                        | 필수 | 설명                     |
| ----------------------- | ------------------------- | -- | ---------------------- |
| `@type`                 | string                    | X  | 타입. 고정값: `"Product"`   |
| `sku`                   | string                    | O  | 상품 코드(고유 식별자)          |
| `name`                  | string \| object \| array | O  | 상품명. 다국어 지원            |
| `description`           | object \| array           | O  | 상품 설명                  |
| `brand`                 | object                    | O  | 브랜드 정보                 |
| `category`              | object \| array           | O  | 카테고리 정보                |
| `positiveNotes`         | string \| object \| array | X  | 주요 특징·장점 요약. 다국어 지원    |
| `url`                   | string \| object \| array | O  | 상품 페이지 URL. 다국어 지원     |
| `mobileUrl`             | string \| object \| array | X  | 모바일 상품 페이지 URL. 다국어 지원 |
| `itemCondition`         | string                    | X  | 상품 상태. enum 참조         |
| `hasAdultConsideration` | string                    | X  | 성인용 상품 구분. enum 참조     |
| `countryOfOrigin`       | object                    | X  | 제조국 정보                 |
| `material`              | string \| object \| array | X  | 소재 정보. 다국어 지원          |
| `additionalProperty`    | array                     | X  | 추가 속성                  |
| `offers`                | object \| array           | O  | SKU별 가격·재고 정보          |

#### **countryOfOrigin 객체**

| 필드        | 타입     | 필수 | 설명                                                    |
| --------- | ------ | -- | ----------------------------------------------------- |
| `@type`   | string | X  | 타입. 고정값: `"Country"`                                  |
| `address` | string | O  | 제조국 코드(ISO 3166-1 alpha-2, 예: `"JP"`, `"KR"`, `"US"`) |

#### **브랜드(brand)**

| 필드      | 타입                        | 필수 | 설명                 |
| ------- | ------------------------- | -- | ------------------ |
| `@type` | string                    | X  | 타입. 고정값: `"Brand"` |
| `@id`   | string                    | O  | 브랜드 식별자            |
| `name`  | string \| object \| array | O  | 브랜드명. 다국어 지원       |
| `logo`  | array\<string>            | X  | 브랜드 로고 URL 목록      |

#### **카테고리(category)**

단일 객체 또는 배열로 전송합니다. 배열을 사용하는 경우, `position` 값으로 카테고리 계층 레벨을 표현합니다.

| 필드          | 타입              | 필수 | 설명                             |
| ----------- | --------------- | -- | ------------------------------ |
| `@type`     | string          | X  | 타입. 고정값: `"CategoryCode"`      |
| `codeValue` | string          | O  | 카테고리 코드                        |
| `name`      | object \| array | O  | 카테고리명. 다국어 지원                  |
| `position`  | integer         | O  | 카테고리 계층(1 = 대분류, 2 = 중분류, ...) |

#### **상품 설명(description)**

| 필드                   | 타입              | 필수 | 설명                                 |
| -------------------- | --------------- | -- | ---------------------------------- |
| `@type`              | string          | X  | 타입. 고정값: `"TextObject"`            |
| `text`               | string          | O  | 설명 텍스트                             |
| `inLanguage`         | string          | O  | 언어 코드(ISO 639-1): `ko`, `en`, `ja` |
| `image`              | object \| array | X  | 설명에 포함된 이미지 정보                     |
| `additionalProperty` | array           | X  | 추가 속성                              |

#### **description 내 이미지 객체**

| 필드           | 타입     | 필수 | 설명                       |
| ------------ | ------ | -- | ------------------------ |
| `@type`      | string | X  | 타입. 고정값: `"ImageObject"` |
| `contentUrl` | string | X  | 이미지 URL                  |
| `inLanguage` | string | X  | 언어 코드                    |

#### **가격·재고 정보(offers)**

단일 객체 또는 배열로 전송합니다. 컬러·사이즈 등의 옵션별로 개별 offer를 구성합니다.

| 필드                   | 타입              | 필수 | 설명                                                                                                                      |
| -------------------- | --------------- | -- | ----------------------------------------------------------------------------------------------------------------------- |
| `@type`              | string          | X  | 타입. 고정값: `"Offer"`                                                                                                      |
| `sku`                | string          | O  | 옵션별 상품 코드                                                                                                               |
| `gtin`               | string          | X  | <p>국제 표준 바코드(GTIN). UPC(12자리), EAN(13자리), JAN(8·13자리), ISBN(13자리), ITF-14(14자리) 지원<br>예: <code>8801234567890</code></p> |
| `mpn`                | string          | O  | <p>제조사 품번(MPN). GTIN이 없는 제품의 경우 전송 권장. 최대 70자 영숫자.<br>예: <code>GO12345OOGLE</code></p>                                  |
| `price`              | number          | O  | 가격                                                                                                                      |
| `priceCurrency`      | string          | O  | 통화 코드(ISO 4217, 예: `"JPY"`, `"KRW"`, `"USD"`)                                                                           |
| `priceSpecification` | object \| array | X  | 가격 타입 상세                                                                                                                |
| `color`              | string          | O  | 컬러                                                                                                                      |
| `size`               | string          | O  | 사이즈                                                                                                                     |
| `availability`       | string          | O  | 재고 상태. enum 참조                                                                                                          |
| `availabilityStarts` | string          | O  | 판매 시작 일시(UTC ISO 8601)                                                                                                  |
| `availabilityEnds`   | string          | O  | 판매 종료 일시(UTC ISO 8601)                                                                                                  |
| `inventoryLevel`     | object          | X  | 재고 수량 정보                                                                                                                |
| `shippingDetails`    | object          | X  | 배송 정보                                                                                                                   |
| `image`              | object \| array | O  | 상품 이미지                                                                                                                  |
| `additionalProperty` | array           | X  | 추가 속성                                                                                                                   |

#### **inventoryLevel 객체**

| 필드      | 타입     | 필수 | 설명                             |
| ------- | ------ | -- | ------------------------------ |
| `@type` | string | X  | 타입. 고정값: `"QuantitativeValue"` |
| `value` | number | O  | 재고 수량                          |

#### **shippingDetails 객체**

| 필드       | 타입     | 필수 | 설명                                |
| -------- | ------ | -- | --------------------------------- |
| `@type`  | string | X  | 타입. 고정값: `"OfferShippingDetails"` |
| `weight` | object | O  | 배송 중량                             |

#### **shippingDetails.weight 객체**

| 필드         | 타입     | 필수 | 설명                             |
| ---------- | ------ | -- | ------------------------------ |
| `@type`    | string | X  | 타입. 고정값: `"QuantitativeValue"` |
| `value`    | number | O  | 중량 값                           |
| `unitCode` | string | O  | 단위 코드(예: `"KGM"`, `"GRM"`)     |

#### **가격 타입(priceSpecification)**

정가, 판매가, 제조사 권장 소비자 가격 등 다양한 가격 타입을 표현합니다.

| 필드              | 타입     | 필수 | 설명                                  |
| --------------- | ------ | -- | ----------------------------------- |
| `@type`         | string | X  | 타입. 고정값: `"UnitPriceSpecification"` |
| `priceType`     | string | O  | 가격 구분. enum 참조                      |
| `price`         | number | O  | 가격                                  |
| `priceCurrency` | string | O  | 통화 코드(ISO 4217)                     |
| `unitCode`      | string | O  | 단위 코드                               |

#### **이미지(image)**

| 필드                     | 타입      | 필수 | 설명                                                   |
| ---------------------- | ------- | -- | ---------------------------------------------------- |
| `@type`                | string  | X  | 타입. 고정값: `"ImageObject"`                             |
| `representativeOfPage` | boolean | X  | 대표 이미지 여부(`true` = 대표 이미지)                           |
| `contentUrl`           | string  | O  | 이미지 URL                                              |
| `contentSize`          | string  | X  | 파일 크기                                                |
| `width`                | object  | X  | 너비(`{ "@type": "QuantitativeValue", "value": 800 }`) |
| `height`               | object  | X  | 높이(`{ "@type": "QuantitativeValue", "value": 600 }`) |

**이미지 사양**

| 항목                | 사양                   |
| ----------------- | -------------------- |
| 지원 포맷             | jpg, jpeg, png, webp |
| 최대 파일 크기          | 10 MB                |
| 권장 해상도            | 800×800 이상           |
| width / height 단위 | 픽셀(px)               |
| contentSize 단위    | 바이트(byte)            |

#### 추가 속성(additionalProperty) <a href="#additional-property" id="additional-property"></a>

표준 필드로 표현할 수 없는 추가 정보를 저장하기 위한 확장 필드입니다.

상품 객체(`@graph[]`), 상품 설명(`description`), 가격 정보(`offers`) 내에서 사용할 수 있습니다.

| 필드           | 타입     | 필수 | 설명                                              |
| ------------ | ------ | -- | ----------------------------------------------- |
| `@type`      | string | X  | 타입. 고정값: `"PropertyValue"`                      |
| `propertyID` | string | X  | 속성 ID(속성을 구분하는 키)                               |
| `value`      | any    | X  | 값(string, number, boolean, array 등 모든 타입 사용 가능) |

{% hint style="warning" %}
상품 객체(`@graph[]`) 내에 값을 전송하는 것을 권장합니다.
{% endhint %}

**propertyID 확장 정책**

* 위의 권장 propertyID 목록은 당사가 표준 분석에 활용하는 기존 속성입니다.
* 그 외의 propertyID를 임의로 추가할 수 있습니다. 다만, 표준 분석 대상에서 제외되며 원문 그대로 보관됩니다.
* 네이밍 규칙: 영소문자·숫자·언더스코어(snake\_case) 권장. 최대 64자.
* value 최대 크기: JSON 직렬화 후 8 KB 이내.

**속성 레퍼런스**

아래는 `additionalProperty`에서 사용할 수 있는 권장 속성 목록입니다. 허용 값 예시를 참고하여 값의 포맷을 맞춰 전송해 주세요.

| propertyID      | value 타입  | 설명       | 허용 값 / 예시                                                        |
| --------------- | --------- | -------- | ---------------------------------------------------------------- |
| `gender`        | string    | 성별       | Enum 값 레퍼런스의 `gender` 참조                                         |
| `season`        | string\[] | 계절       | Enum 값 레퍼런스의 `season` 참조                                         |
| `temperature`   | string    | 보관 방법    | 자유 값. 예: `"Refrigerate"`                                         |
| `platform_rate` | number    | 플랫폼 수수료  | `0.15`                                                           |
| `unit`          | object    | 포장·중량 정보 | 서브 필드: `unit`, `unit_quantity`, `weight_unit`, `weight_quantity` |
| `seller`        | object    | 판매자 정보   | 서브 필드: `prefecture`, `seller_name`                               |

**`unit` 객체 구조**

| 서브 필드             | 타입     | 설명          | 예시                        |
| ----------------- | ------ | ----------- | ------------------------- |
| `unit`            | string | 포장 단위. 자유 값 | `"box"`, `"pack"`, `"ea"` |
| `unit_quantity`   | number | 포장 수량       | `500`                     |
| `weight_unit`     | string | 중량 단위       | `"g"`, `"ml"`             |
| `weight_quantity` | number | 중량 값        | `500`                     |

**`seller` 객체 구조**

| 서브 필드         | 타입     | 설명    | 예시                    |
| ------------- | ------ | ----- | --------------------- |
| `prefecture`  | string | 산지·지역 | `"秋田県"`, `"제주도"` 등    |
| `seller_name` | string | 판매자명  | `"きのこ農園"`, `"유스파머"` 등 |

**사용 예시**

```json
"additionalProperty": [
  {
    "@type": "PropertyValue",
    "propertyID": "gender",
    "value": "M"
  },
  {
    "@type": "PropertyValue",
    "propertyID": "season",
    "value": ["Spring", "Summer"]
  },
  {
    "@type": "PropertyValue",
    "propertyID": "temperature",
    "value": "Refrigerate"
  },
  {
    "@type": "PropertyValue",
    "propertyID": "platform_rate",
    "value": 0.15
  },
  {
    "@type": "PropertyValue",
    "propertyID": "unit",
    "value": {
      "unit": "box",
      "unit_quantity": 500,
      "weight_unit": "g",
      "weight_quantity": 500
    }
  },
  {
    "@type": "PropertyValue",
    "propertyID": "seller",
    "value": {
      "prefecture": "秋田県",
      "seller_name": "間木きのこ農園"
    }
  }
]
```

{% hint style="warning" %}
`unit` 속성의 `weight_unit`은 `g` 또는 `ml`로 통일하여 전송합니다. \
원본 데이터가 `kg`인 경우 `g`으로, `L`인 경우 `ml`로 변환해 주세요.
{% endhint %}

***

## Enum 값 레퍼런스

#### itemCondition

상품의 물리적 상태를 나타냅니다.

| 값                      | 설명      |
| ---------------------- | ------- |
| `NewCondition`         | 새 상품    |
| `RefurbishedCondition` | 리퍼비시 상품 |
| `UsedCondition`        | 중고 상품   |
| `DamagedCondition`     | 손상 상품   |

#### hasAdultConsideration

성인용 상품 여부를 구분합니다.

| 값                                          | 설명       |
| ------------------------------------------ | -------- |
| `AlcoholConsideration`                     | 주류       |
| `DangerousGoodConsideration`               | 위험물      |
| `HealthcareConsideration`                  | 의약품·의료기기 |
| `NarcoticConsideration`                    | 마약류      |
| `ReducedRelevanceForChildrenConsideration` | 아동 부적합   |
| `SexualContentConsideration`               | 성인 콘텐츠   |
| `TobaccoNicotineConsideration`             | 담배·니코틴   |
| `UnclassifiedAdultConsideration`           | 기타 성인용   |
| `ViolenceConsideration`                    | 폭력성      |
| `WeaponConsideration`                      | 무기류      |

#### availability

SKU의 재고·판매 상태를 나타냅니다.

| 값                     | 설명           |
| --------------------- | ------------ |
| `BackOrder`           | 입고 예정(주문 가능) |
| `Discontinued`        | 판매 종료        |
| `InStock`             | 재고 있음        |
| `InStoreOnly`         | 오프라인 매장 전용   |
| `LimitedAvailability` | 수량 한정        |
| `MadeToOrder`         | 주문 제작        |
| `OnlineOnly`          | 온라인 한정       |
| `OutOfStock`          | 재고 없음        |
| `PreOrder`            | 예약 주문        |
| `PreSale`             | 선행 판매        |
| `Reserved`            | 예약 완료        |
| `SoldOut`             | 품절           |

#### priceType

가격의 성격을 구분합니다.

| 값                        | 설명                |
| ------------------------ | ----------------- |
| `InvoicePrice`           | 청구 가격             |
| `ListPrice`              | 정가                |
| `MSRP`                   | 제조사 권장 소비자 가격     |
| `MinimumAdvertisedPrice` | 최저 광고 가격          |
| `RegularPrice`           | 일반 판매가            |
| `SRP`                    | 권장 소매가            |
| `SalePrice`              | 세일 가격             |
| `StrikethroughPrice`     | 취소선 가격(원래 가격 표시용) |

#### gender

`additionalProperty`의 `propertyID`가 `gender`인 경우 사용합니다.

| 값   | 설명     |
| --- | ------ |
| `M` | Men    |
| `W` | Women  |
| `U` | Unisex |

#### season

`additionalProperty`의 `propertyID`가 `season`인 경우 사용합니다. 복수 지정 시 문자열 배열로 전송해 주세요.

| 값        | 설명 |
| -------- | -- |
| `Spring` | 봄  |
| `Summer` | 여름 |
| `Fall`   | 가을 |
| `Winter` | 겨울 |

#### weight\_unit

`additionalProperty`의 `propertyID`가 `unit`인 경우, `value.weight_unit`에서 사용합니다.

| 값    | 설명   |
| ---- | ---- |
| `g`  | 그램   |
| `ml` | 밀리리터 |

***

## **에러 응답 레퍼런스**

#### 주요 400 에러 발생 조건

| 조건                      | 발생 필드 예시                                                   |
| ----------------------- | ---------------------------------------------------------- |
| 필수 필드가 null 또는 누락       | sku, name, offers.price 등                                  |
| enum 이외의 값              | availability, priceType, itemCondition                     |
| ISO 형식 위반               | priceCurrency, countryOfOrigin.address, availabilityStarts |
| @value 또는 @language 누락  | 다국어 객체 전반                                                  |
| 문자 수·숫자 범위 초과           | 위의 「권장 제약값」 참조                                             |
| @graph가 0건 또는 1,000건 초과 | @graph 배열                                                  |

***

## **참고: JSON 스키마 예시**

<details>

<summary>상품 등록</summary>

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "고객사 상품수집 - 상품 등록",
  "description": "고객사의 상품 데이터 수집",
  "type": "object",
  "properties": {
    "@context": {
      "type": "string",
      "description": "context",
      "enum": [
        "https://schema.org"
      ],
      "default": "https://schema.org"
    },
    "specversion": {
      "type": "string",
      "description": "스펙 버전",
      "enum": [
        "1.0"
      ],
      "default": "1.0"
    },
    "id": {
      "type": "string",
      "description": "이벤트 고유 식별자",
      "enum": [
        "EVT-CREATE-PRODUCT"
      ],
      "default": "EVT-CREATE-PRODUCT"
    },
    "type": {
      "type": "string",
      "description": "상품 수집 유형",
      "enum": [
        "create_product"
      ],
      "default": "create_product"
    },
    "agent": {
      "type": "object",
      "description": "조직 정보",
      "required": [
        "name"
      ],
      "properties": {
        "@type": {
          "type": "string",
          "description": "조직",
          "enum": [
            "Organization"
          ],
          "default": "Organization"
        },
        "name": {
          "type": "string",
          "description": "생성 요청한 기업"
        }
      }
    },
    "@graph": {
      "type": "array",
      "description": "상품 데이터",
      "minItems": 1,
      "maxItems": 1000,
      "items": {
        "type": "object",
        "properties": {
          "@type": {
            "type": "string",
            "description": "https://schema.org/Product",
            "enum": [
              "Product"
            ],
            "default": "Product"
          },
          "sku": {
            "type": "string",
            "description": "상품 코드"
          },
          "name": {
            "description": "상품명",
            "oneOf": [
              {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/langName"
                }
              },
              {
                "$ref": "#/$defs/langName"
              },
              {
                "type": "string"
              }
            ]
          },
          "description": {
            "oneOf": [
              {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/description"
                }
              },
              {
                "$ref": "#/$defs/description"
              }
            ]
          },
          "brand": {
            "type": "object",
            "description": "브랜드 정보",
            "properties": {
              "@type": {
                "type": "string",
                "description": "https://schema.org/Brand",
                "enum": [
                  "Brand"
                ],
                "default": "Brand"
              },
              "@id": {
                "type": "string",
                "description": "브랜드 아이디"
              },
              "name": {
                "oneOf": [
                  {
                    "type": "array",
                    "items": {
                      "$ref": "#/$defs/brandName"
                    }
                  },
                  {
                    "$ref": "#/$defs/brandName"
                  },
                  {
                    "type": "string",
                    "description": "브랜드 이름"
                  }
                ]
              },
              "logo": {
                "type": "array",
                "description": "브랜드 로고",
                "items": {
                  "type": "string",
                  "description": "브랜드 로고"
                }
              }
            },
            "required": [
              "@id",
              "name"
            ]
          },
          "category": {
            "description": "카테고리 정보",
            "oneOf": [
              {
                "type": "array",
                "description": "카테고리",
                "minItems": 1,
                "items": {
                  "$ref": "#/$defs/category"
                }
              },
              {
                "$ref": "#/$defs/category"
              }
            ]
          },
          "positiveNotes": {
            "oneOf": [
              {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/positiveNote"
                }
              },
              {
                "$ref": "#/$defs/positiveNote"
              },
              {
                "type": "array",
                "description": "핵심 장점 요약",
                "items": {
                  "type": "string"
                }
              },
              {
                "type": "string",
                "description": "핵심 장점 요약"
              }
            ]
          },
          "url": {
            "oneOf": [
              {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/url"
                }
              },
              {
                "$ref": "#/$defs/url"
              },
              {
                "type": "array",
                "description": "상품 페이지 URL",
                "items": {
                  "type": "string"
                }
              },
              {
                "type": "string",
                "description": "상품 페이지 URL"
              }
            ]
          },
          "mobileUrl": {
            "oneOf": [
              {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/mobileUrl"
                }
              },
              {
                "$ref": "#/$defs/mobileUrl"
              },
              {
                "type": "array",
                "description": "모바일 상품 페이지 URL",
                "items": {
                  "type": "string"
                }
              },
              {
                "type": "string",
                "description": "모바일 상품 페이지 URL"
              }
            ]
          },
          "itemCondition": {
            "type": "string",
            "description": "상품 상태",
            "enum": [
              "NewCondition",
              "RefurbishedCondition",
              "UsedCondition",
              "DamagedCondition"
            ]
          },
          "hasAdultConsideration": {
            "type": "string",
            "description": "성인 대상 상품",
            "enum": [
              "AlcoholConsideration",
              "DangerousGoodConsideration",
              "HealthcareConsideration",
              "NarcoticConsideration",
              "ReducedRelevanceForChildrenConsideration",
              "SexualContentConsideration",
              "TobaccoNicotineConsideration",
              "UnclassifiedAdultConsideration",
              "ViolenceConsideration",
              "WeaponConsideration"
            ]
          },
          "countryOfOrigin": {
            "type": "object",
            "description": "제조 국가 정보",
            "properties": {
              "@type": {
                "type": "string",
                "description": "https://schema.org/Country",
                "enum": [
                  "Country"
                ],
                "default": "Country"
              },
              "address": {
                "type": "string",
                "description": "제조 국가 코드 (ISO 3166-1-alpha-2)"
              }
            },
            "required": [
              "address"
            ]
          },
          "material": {
            "oneOf": [
              {
                "type": "array",
                "minItems": 1,
                "items": {
                  "$ref": "#/$defs/material"
                }
              },
              {
                "$ref": "#/$defs/material"
              },
              {
                "type": "array",
                "description": "소재 정보",
                "items": {
                  "type": "string"
                }
              },
              {
                "type": "string",
                "description": "소재 정보"
              }
            ]
          },
          "additionalProperty": {
            "type": "array",
            "description": "부가 정보",
            "minItems": 1,
            "items": {
              "type": "object",
              "properties": {
                "@type": {
                  "type": "string",
                  "description": "https://schema.org/PropertyValue",
                  "enum": [
                    "PropertyValue"
                  ],
                  "default": "PropertyValue"
                },
                "propertyID": {
                  "type": "string",
                  "description": "속성 아이디"
                },
                "value": {
                  "description": "속성 값"
                }
              }
            }
          },
          "offers": {
            "oneOf": [
              {
                "$ref": "#/$defs/offers"
              },
              {
                "type": "array",
                "description": "",
                "minItems": 1,
                "items": {
                  "$ref": "#/$defs/offers"
                }
              }
            ]
          }
        },
        "required": [
          "sku",
          "name",
          "description",
          "brand",
          "category",
          "url",
          "offers"
        ]
      }
    }
  },
  "required": [
    "agent",
    "@graph"
  ],
  "$defs": {
    "langName": {
      "type": "object",
      "properties": {
        "@value": {
          "type": "string",
          "description": "상품명"
        },
        "@language": {
          "type": "string",
          "description": "ISO 639-1 언어코드",
          "enum": [
            "ko",
            "en",
            "ja"
          ],
          "pattern": "^[a-z]{2}$",
          "default": "ko"
        }
      },
      "required": [
        "@value",
        "@language"
      ]
    },
    "brandName": {
      "type": "object",
      "description": "브랜드 이름",
      "properties": {
        "@value": {
          "type": "string",
          "description": "브랜드 이름"
        },
        "@language": {
          "type": "string",
          "description": "ISO 639-1 언어코드",
          "enum": [
            "ko",
            "en",
            "ja"
          ],
          "pattern": "^[a-z]{2}$",
          "default": "ko"
        }
      },
      "required": [
        "@value",
        "@language"
      ]
    },
    "description": {
      "type": "object",
      "description": "상품 상세 설명 정보",
      "properties": {
        "@type": {
          "type": "string",
          "description": "https://schema.org/TextObject",
          "enum": [
            "TextObject"
          ],
          "default": "TextObject"
        },
        "text": {
          "type": "string",
          "description": "상품 상세 설명"
        },
        "inLanguage": {
          "type": "string",
          "description": "ISO 639-1 언어코드",
          "enum": [
            "ko",
            "en",
            "ja"
          ],
          "pattern": "^[a-z]{2}$",
          "default": "ko"
        },
        "image": {
          "description": "상품 상세 설명 (이미지)",
          "oneOf": [
            {
              "type": "array",
              "minItems": 1,
              "items": {
                "$ref": "#/$defs/descriptionImage"
              }
            },
            {
              "$ref": "#/$defs/descriptionImage"
            }
          ]
        },
        "additionalProperty": {
          "type": "array",
          "description": "상품 설명 부가 정보",
          "minItems": 1,
          "items": {
            "type": "object",
            "properties": {
              "@type": {
                "type": "string",
                "description": "https://schema.org/PropertyValue",
                "enum": [
                  "PropertyValue"
                ],
                "default": "PropertyValue"
              },
              "propertyID": {
                "type": "string",
                "description": "속성 아이디"
              },
              "value": {
                "description": "속성 값"
              }
            }
          }
        }
      },
      "required": [
        "text",
        "inLanguage"
      ]
    },
    "descriptionImage": {
      "type": "object",
      "description": "상품 상세 설명 (이미지)",
      "properties": {
        "@type": {
          "type": "string",
          "description": "https://schema.org/ImageObject",
          "enum": [
            "ImageObject"
          ],
          "default": "ImageObject"
        },
        "contentUrl": {
          "type": "string",
          "description": "이미지 파일 URL"
        },
        "inLanguage": {
          "type": "string",
          "description": "ISO 639-1 언어코드",
          "enum": [
            "ko",
            "en",
            "ja"
          ],
          "pattern": "^[a-z]{2}$",
          "default": "ko"
        }
      }
    },
    "category": {
      "type": "object",
      "properties": {
        "@type": {
          "type": "string",
          "description": "https://schema.org/CategoryCode",
          "enum": [
            "CategoryCode"
          ],
          "default": "CategoryCode"
        },
        "codeValue": {
          "type": "string",
          "description": "카테고리 코드"
        },
        "name": {
          "description": "카테고리 이름 정보",
          "oneOf": [
            {
              "type": "array",
              "minItems": 1,
              "items": {
                "$ref": "#/$defs/categoryName"
              }
            },
            {
              "$ref": "#/$defs/categoryName"
            }
          ]
        },
        "position": {
          "type": "integer",
          "description": "카테고리 수준 (대/중/소/세)"
        }
      },
      "required": [
        "codeValue",
        "name",
        "position"
      ]
    },
    "categoryName": {
      "type": "object",
      "properties": {
        "@value": {
          "type": "string",
          "description": "카테고리 이름"
        },
        "@language": {
          "type": "string",
          "description": "ISO 639-1 언어코드",
          "enum": [
            "ko",
            "en",
            "ja"
          ],
          "pattern": "^[a-z]{2}$",
          "default": "ko"
        }
      },
      "required": [
        "@value",
        "@language"
      ]
    },
    "positiveNote": {
      "type": "object",
      "description": "핵심 장점 요약 정보",
      "properties": {
        "@value": {
          "type": "string",
          "description": "핵심 장점 요약"
        },
        "@language": {
          "type": "string",
          "description": "ISO 639-1 언어코드",
          "enum": [
            "ko",
            "en",
            "ja"
          ],
          "pattern": "^[a-z]{2}$",
          "default": "ko"
        }
      },
      "required": [
        "@value",
        "@language"
      ]
    },
    "url": {
      "type": "object",
      "description": "상품 페이지 URL",
      "properties": {
        "@value": {
          "type": "string",
          "description": "상품 페이지 URL"
        },
        "@language": {
          "type": "string",
          "description": "ISO 639-1 언어코드",
          "enum": [
            "ko",
            "en",
            "ja"
          ],
          "pattern": "^[a-z]{2}$",
          "default": "ko"
        }
      },
      "required": [
        "@value",
        "@language"
      ]
    },
    "mobileUrl": {
      "type": "object",
      "description": "모바일 상품 페이지 URL",
      "properties": {
        "@value": {
          "type": "string",
          "description": "모바일 상품 페이지 URL"
        },
        "@language": {
          "type": "string",
          "description": "ISO 639-1 언어코드",
          "enum": [
            "ko",
            "en",
            "ja"
          ],
          "pattern": "^[a-z]{2}$",
          "default": "ko"
        }
      },
      "required": [
        "@value",
        "@language"
      ]
    },
    "image": {
      "type": "object",
      "description": "상품 이미지 정보",
      "properties": {
        "@type": {
          "type": "string",
          "description": "https://schema.org/ImageObject",
          "enum": [
            "ImageObject"
          ],
          "default": "ImageObject"
        },
        "representativeOfPage": {
          "type": "boolean",
          "description": "대표 이미지 여부",
          "default": false
        },
        "contentUrl": {
          "type": "string",
          "description": "이미지 파일 URL"
        },
        "contentSize": {
          "type": "string",
          "description": "이미지 파일 사이즈"
        },
        "width": {
          "type": "object",
          "description": "이미지 넓이",
          "properties": {
            "@type": {
              "type": "string",
              "description": "https://schema.org/QuantitativeValue",
              "enum": [
                "QuantitativeValue"
              ],
              "default": "QuantitativeValue"
            },
            "value": {
              "type": "number",
              "description": "이미지 넓이 값"
            }
          }
        },
        "height": {
          "type": "object",
          "description": "이미지 파일의 높이",
          "properties": {
            "@type": {
              "type": "string",
              "description": "https://schema.org/QuantitativeValue",
              "enum": [
                "QuantitativeValue"
              ],
              "default": "QuantitativeValue"
            },
            "value": {
              "type": "number",
              "description": "이미지 파일의 높이 값"
            }
          }
        }
      },
      "required": [
        "contentUrl"
      ]
    },
    "material": {
      "type": "object",
      "description": "소재 정보",
      "properties": {
        "@value": {
          "type": "string",
          "description": "소재"
        },
        "@language": {
          "type": "string",
          "description": "ISO 639-1 언어코드",
          "enum": [
            "ko",
            "en",
            "ja"
          ],
          "pattern": "^[a-z]{2}$",
          "default": "ko"
        }
      },
      "required": [
        "@value",
        "@language"
      ]
    },
    "priceSpecification": {
      "type": "object",
      "description": "가격 유형",
      "properties": {
        "@type": {
          "type": "string",
          "description": "https://schema.org/UnitPriceSpecification",
          "enum": [
            "UnitPriceSpecification"
          ],
          "default": "UnitPriceSpecification"
        },
        "priceType": {
          "type": "string",
          "description": "가격 유형",
          "enum": [
            "InvoicePrice",
            "ListPrice",
            "MSRP",
            "MinimumAdvertisedPrice",
            "RegularPrice",
            "SRP",
            "SalePrice",
            "StrikethroughPrice"
          ]
        },
        "price": {
          "type": "number",
          "description": "유닛 가격"
        },
        "priceCurrency": {
          "type": "string",
          "description": "ISO 4217 통화코드 (예: KRW, USD, JPY)"
        },
        "unitCode": {
          "type": "string",
          "description": "단위"
        }
      },
      "required": [
        "priceType",
        "price",
        "priceCurrency",
        "unitCode"
      ]
    },
    "offers": {
      "type": "object",
      "description": "SKU 별 가격, 판매 가능여부",
      "properties": {
        "@type": {
          "type": "string",
          "description": "https://schema.org/Offer",
          "enum": [
            "Offer"
          ],
          "default": "Offer"
        },
        "sku": {
          "type": "string",
          "description": "판매용 SKU"
        },
        "gtin": {
          "type": "string",
          "description": "국제 표준 바코드 (GTIN / EAN / UPC / ISBN), GTIN-13 = EAN"
        },
        "mpn": {
          "type": "string",
          "description": "제조사 부품 번호 (Manufacturer Part Number)"
        },
        "price": {
          "type": "number",
          "description": "판매가격"
        },
        "priceCurrency": {
          "type": "string",
          "description": "ISO 4217 통화코드 (예: KRW, USD, JPY)",
          "pattern": "^[A-Z]{3}$"
        },
        "priceSpecification": {
          "oneOf": [
            {
              "type": "array",
              "minItems": 1,
              "items": {
                "$ref": "#/$defs/priceSpecification"
              }
            },
            {
              "$ref": "#/$defs/priceSpecification"
            }
          ]
        },
        "color": {
          "type": "string",
          "description": "색상"
        },
        "size": {
          "type": "string",
          "description": "사이즈"
        },
        "availability": {
          "type": "string",
          "description": "재고 상태",
          "enum": [
            "BackOrder",
            "Discontinued",
            "InStock",
            "InStoreOnly",
            "LimitedAvailability",
            "MadeToOrder",
            "OnlineOnly",
            "OutOfStock",
            "PreOrder",
            "PreSale",
            "Reserved",
            "SoldOut"
          ]
        },
        "availabilityStarts": {
          "type": "string",
          "description": "ISO 8601 UTC 판매 시작시간 (2025-11-28T10:00:00Z)",
          "pattern": "Z$"
        },
        "availabilityEnds": {
          "type": "string",
          "description": "ISO 8601 UTC 판매 종료시간 (2025-11-28T10:00:00Z)",
          "pattern": "Z$"
        },
        "inventoryLevel": {
          "type": "object",
          "description": "재고 현황 정보",
          "properties": {
            "@type": {
              "type": "string",
              "description": "https://schema.org/QuantitativeValue",
              "enum": [
                "QuantitativeValue"
              ],
              "default": "QuantitativeValue"
            },
            "value": {
              "type": "number",
              "description": "재고 현황"
            }
          },
          "required": [
            "value"
          ]
        },
        "shippingDetails": {
          "type": "object",
          "description": "배송 정보",
          "properties": {
            "@type": {
              "type": "string",
              "description": "https://schema.org/OfferShippingDetails",
              "enum": [
                "OfferShippingDetails"
              ],
              "default": "OfferShippingDetails"
            },
            "weight": {
              "type": "object",
              "description": "배송 무게",
              "properties": {
                "@type": {
                  "type": "string",
                  "description": "https://schema.org/QuantitativeValue",
                  "enum": [
                    "QuantitativeValue"
                  ],
                  "default": "QuantitativeValue"
                },
                "value": {
                  "type": "number",
                  "description": "배송 무게"
                },
                "unitCode": {
                  "type": "string",
                  "description": "배송 무게 표시 단위"
                }
              },
              "required": [
                "value",
                "unitCode"
              ]
            }
          },
          "required": [
            "weight"
          ]
        },
        "image": {
          "oneOf": [
            {
              "type": "array",
              "minItems": 1,
              "items": {
                "$ref": "#/$defs/image"
              }
            },
            {
              "$ref": "#/$defs/image"
            }
          ]
        },
        "additionalProperty": {
          "type": "array",
          "description": "부가 정보",
          "minItems": 1,
          "items": {
            "type": "object",
            "properties": {
              "@type": {
                "type": "string",
                "description": "https://schema.org/PropertyValue",
                "enum": [
                  "PropertyValue"
                ],
                "default": "PropertyValue"
              },
              "propertyID": {
                "type": "string",
                "description": "속성 아이디"
              },
              "value": {
                "description": "속성 값"
              }
            }
          }
        }
      },
      "required": [
        "sku",
        "mpn",
        "price",
        "priceCurrency",
        "color",
        "size",
        "availability",
        "availabilityStarts",
        "availabilityEnds",
        "image"
      ]
    }
  }
}
```

</details>

<details>

<summary>상품 수정</summary>

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "고객사 상품수집 - 상품 수정",
  "description": "고객사의 상품 데이터 수정",
  "type": "object",
  "properties": {
    "@context": {
      "type": "string",
      "description": "context",
      "enum": [
        "https://schema.org"
      ],
      "default": "https://schema.org"
    },
    "specversion": {
      "type": "string",
      "description": "스펙 버전",
      "enum": [
        "1.0"
      ],
      "default": "1.0"
    },
    "id": {
      "type": "string",
      "description": "이벤트 고유 식별자",
      "enum": [
        "EVT-UPDATE-PRODUCT"
      ],
      "default": "EVT-UPDATE-PRODUCT"
    },
    "type": {
      "type": "string",
      "description": "상품 수정 유형",
      "enum": [
        "update_product"
      ],
      "default": "update_product"
    },
    "agent": {
      "type": "object",
      "description": "조직 정보",
      "required": [
        "name"
      ],
      "properties": {
        "@type": {
          "type": "string",
          "description": "조직",
          "enum": [
            "Organization"
          ],
          "default": "Organization"
        },
        "name": {
          "type": "string",
          "description": "수정 요청한 기업"
        }
      }
    },
    "@graph": {
      "type": "array",
      "description": "상품 데이터",
      "minItems": 1,
      "maxItems": 1000,
      "items": {
        "type": "object",
        "properties": {
          "@type": {
            "type": "string",
            "description": "https://schema.org/Product",
            "enum": [
              "Product"
            ],
            "default": "Product"
          },
          "sku": {
            "type": "string",
            "description": "상품 코드"
          },
          "name": {
            "description": "상품명",
            "oneOf": [
              {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/langName"
                }
              },
              {
                "$ref": "#/$defs/langName"
              },
              {
                "type": "string"
              }
            ]
          },
          "description": {
            "oneOf": [
              {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/description"
                }
              },
              {
                "$ref": "#/$defs/description"
              }
            ]
          },
          "brand": {
            "type": "object",
            "description": "브랜드 정보",
            "properties": {
              "@type": {
                "type": "string",
                "description": "https://schema.org/Brand",
                "enum": [
                  "Brand"
                ],
                "default": "Brand"
              },
              "@id": {
                "type": "string",
                "description": "브랜드 아이디"
              },
              "name": {
                "oneOf": [
                  {
                    "type": "array",
                    "items": {
                      "$ref": "#/$defs/brandName"
                    }
                  },
                  {
                    "$ref": "#/$defs/brandName"
                  },
                  {
                    "type": "string",
                    "description": "브랜드 이름"
                  }
                ]
              },
              "logo": {
                "type": "array",
                "description": "브랜드 로고",
                "items": {
                  "type": "string",
                  "description": "브랜드 로고"
                }
              }
            },
            "required": [
              "@id",
              "name"
            ]
          },
          "category": {
            "description": "카테고리 정보",
            "oneOf": [
              {
                "type": "array",
                "description": "카테고리",
                "minItems": 1,
                "items": {
                  "$ref": "#/$defs/category"
                }
              },
              {
                "$ref": "#/$defs/category"
              }
            ]
          },
          "positiveNotes": {
            "oneOf": [
              {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/positiveNote"
                }
              },
              {
                "$ref": "#/$defs/positiveNote"
              },
              {
                "type": "array",
                "description": "핵심 장점 요약",
                "items": {
                  "type": "string"
                }
              },
              {
                "type": "string",
                "description": "핵심 장점 요약"
              }
            ]
          },
          "url": {
            "oneOf": [
              {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/url"
                }
              },
              {
                "$ref": "#/$defs/url"
              },
              {
                "type": "array",
                "description": "상품 페이지 URL",
                "items": {
                  "type": "string"
                }
              },
              {
                "type": "string",
                "description": "상품 페이지 URL"
              }
            ]
          },
          "mobileUrl": {
            "oneOf": [
              {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/mobileUrl"
                }
              },
              {
                "$ref": "#/$defs/mobileUrl"
              },
              {
                "type": "array",
                "description": "모바일 상품 페이지 URL",
                "items": {
                  "type": "string"
                }
              },
              {
                "type": "string",
                "description": "모바일 상품 페이지 URL"
              }
            ]
          },
          "itemCondition": {
            "type": "string",
            "description": "상품 상태",
            "enum": [
              "NewCondition",
              "RefurbishedCondition",
              "UsedCondition",
              "DamagedCondition"
            ]
          },
          "hasAdultConsideration": {
            "type": "string",
            "description": "성인 대상 상품",
            "enum": [
              "AlcoholConsideration",
              "DangerousGoodConsideration",
              "HealthcareConsideration",
              "NarcoticConsideration",
              "ReducedRelevanceForChildrenConsideration",
              "SexualContentConsideration",
              "TobaccoNicotineConsideration",
              "UnclassifiedAdultConsideration",
              "ViolenceConsideration",
              "WeaponConsideration"
            ]
          },
          "countryOfOrigin": {
            "type": "object",
            "description": "제조 국가 정보",
            "properties": {
              "@type": {
                "type": "string",
                "description": "https://schema.org/Country",
                "enum": [
                  "Country"
                ],
                "default": "Country"
              },
              "address": {
                "type": "string",
                "description": "제조 국가 코드 (ISO 3166-1-alpha-2)"
              }
            },
            "required": [
              "address"
            ]
          },
          "material": {
            "oneOf": [
              {
                "type": "array",
                "minItems": 1,
                "items": {
                  "$ref": "#/$defs/material"
                }
              },
              {
                "$ref": "#/$defs/material"
              },
              {
                "type": "array",
                "description": "소재 정보",
                "items": {
                  "type": "string"
                }
              },
              {
                "type": "string",
                "description": "소재 정보"
              }
            ]
          },
          "additionalProperty": {
            "type": "array",
            "description": "부가 정보",
            "minItems": 1,
            "items": {
              "type": "object",
              "properties": {
                "@type": {
                  "type": "string",
                  "description": "https://schema.org/PropertyValue",
                  "enum": [
                    "PropertyValue"
                  ],
                  "default": "PropertyValue"
                },
                "propertyID": {
                  "type": "string",
                  "description": "속성 아이디"
                },
                "value": {
                  "description": "속성 값"
                }
              }
            }
          },
          "offers": {
            "oneOf": [
              {
                "$ref": "#/$defs/offers"
              },
              {
                "type": "array",
                "description": "",
                "minItems": 1,
                "items": {
                  "$ref": "#/$defs/offers"
                }
              }
            ]
          }
        },
        "required": [
          "sku",
          "name",
          "description",
          "brand",
          "category",
          "url",
          "offers"
        ]
      }
    }
  },
  "required": [
    "agent",
    "@graph"
  ],
  "$defs": {
    "langName": {
      "type": "object",
      "properties": {
        "@value": {
          "type": "string",
          "description": "상품명"
        },
        "@language": {
          "type": "string",
          "description": "ISO 639-1 언어코드",
          "enum": [
            "ko",
            "en",
            "ja"
          ],
          "pattern": "^[a-z]{2}$",
          "default": "ko"
        }
      },
      "required": [
        "@value",
        "@language"
      ]
    },
    "brandName": {
      "type": "object",
      "description": "브랜드 이름",
      "properties": {
        "@value": {
          "type": "string",
          "description": "브랜드 이름"
        },
        "@language": {
          "type": "string",
          "description": "ISO 639-1 언어코드",
          "enum": [
            "ko",
            "en",
            "ja"
          ],
          "pattern": "^[a-z]{2}$",
          "default": "ko"
        }
      },
      "required": [
        "@value",
        "@language"
      ]
    },
    "description": {
      "type": "object",
      "description": "상품 상세 설명 정보",
      "properties": {
        "@type": {
          "type": "string",
          "description": "https://schema.org/TextObject",
          "enum": [
            "TextObject"
          ],
          "default": "TextObject"
        },
        "text": {
          "type": "string",
          "description": "상품 상세 설명"
        },
        "inLanguage": {
          "type": "string",
          "description": "ISO 639-1 언어코드",
          "enum": [
            "ko",
            "en",
            "ja"
          ],
          "pattern": "^[a-z]{2}$",
          "default": "ko"
        },
        "image": {
          "description": "상품 상세 설명 (이미지)",
          "oneOf": [
            {
              "type": "array",
              "minItems": 1,
              "items": {
                "$ref": "#/$defs/descriptionImage"
              }
            },
            {
              "$ref": "#/$defs/descriptionImage"
            }
          ]
        },
        "additionalProperty": {
          "type": "array",
          "description": "상품 설명 부가 정보",
          "minItems": 1,
          "items": {
            "type": "object",
            "properties": {
              "@type": {
                "type": "string",
                "description": "https://schema.org/PropertyValue",
                "enum": [
                  "PropertyValue"
                ],
                "default": "PropertyValue"
              },
              "propertyID": {
                "type": "string",
                "description": "속성 아이디"
              },
              "value": {
                "description": "속성 값"
              }
            }
          }
        }
      },
      "required": [
        "text",
        "inLanguage"
      ]
    },
    "descriptionImage": {
      "type": "object",
      "description": "상품 상세 설명 (이미지)",
      "properties": {
        "@type": {
          "type": "string",
          "description": "https://schema.org/ImageObject",
          "enum": [
            "ImageObject"
          ],
          "default": "ImageObject"
        },
        "contentUrl": {
          "type": "string",
          "description": "이미지 파일 URL"
        },
        "inLanguage": {
          "type": "string",
          "description": "ISO 639-1 언어코드",
          "enum": [
            "ko",
            "en",
            "ja"
          ],
          "pattern": "^[a-z]{2}$",
          "default": "ko"
        }
      }
    },
    "category": {
      "type": "object",
      "properties": {
        "@type": {
          "type": "string",
          "description": "https://schema.org/CategoryCode",
          "enum": [
            "CategoryCode"
          ],
          "default": "CategoryCode"
        },
        "codeValue": {
          "type": "string",
          "description": "카테고리 코드"
        },
        "name": {
          "description": "카테고리 이름 정보",
          "oneOf": [
            {
              "type": "array",
              "minItems": 1,
              "items": {
                "$ref": "#/$defs/categoryName"
              }
            },
            {
              "$ref": "#/$defs/categoryName"
            }
          ]
        },
        "position": {
          "type": "integer",
          "description": "카테고리 수준 (대/중/소/세)"
        }
      },
      "required": [
        "codeValue",
        "name",
        "position"
      ]
    },
    "categoryName": {
      "type": "object",
      "properties": {
        "@value": {
          "type": "string",
          "description": "카테고리 이름"
        },
        "@language": {
          "type": "string",
          "description": "ISO 639-1 언어코드",
          "enum": [
            "ko",
            "en",
            "ja"
          ],
          "pattern": "^[a-z]{2}$",
          "default": "ko"
        }
      },
      "required": [
        "@value",
        "@language"
      ]
    },
    "positiveNote": {
      "type": "object",
      "description": "핵심 장점 요약 정보",
      "properties": {
        "@value": {
          "type": "string",
          "description": "핵심 장점 요약"
        },
        "@language": {
          "type": "string",
          "description": "ISO 639-1 언어코드",
          "enum": [
            "ko",
            "en",
            "ja"
          ],
          "pattern": "^[a-z]{2}$",
          "default": "ko"
        }
      },
      "required": [
        "@value",
        "@language"
      ]
    },
    "url": {
      "type": "object",
      "description": "상품 페이지 URL",
      "properties": {
        "@value": {
          "type": "string",
          "description": "상품 페이지 URL"
        },
        "@language": {
          "type": "string",
          "description": "ISO 639-1 언어코드",
          "enum": [
            "ko",
            "en",
            "ja"
          ],
          "pattern": "^[a-z]{2}$",
          "default": "ko"
        }
      },
      "required": [
        "@value",
        "@language"
      ]
    },
    "mobileUrl": {
      "type": "object",
      "description": "모바일 상품 페이지 URL",
      "properties": {
        "@value": {
          "type": "string",
          "description": "모바일 상품 페이지 URL"
        },
        "@language": {
          "type": "string",
          "description": "ISO 639-1 언어코드",
          "enum": [
            "ko",
            "en",
            "ja"
          ],
          "pattern": "^[a-z]{2}$",
          "default": "ko"
        }
      },
      "required": [
        "@value",
        "@language"
      ]
    },
    "image": {
      "type": "object",
      "description": "상품 이미지 정보",
      "properties": {
        "@type": {
          "type": "string",
          "description": "https://schema.org/ImageObject",
          "enum": [
            "ImageObject"
          ],
          "default": "ImageObject"
        },
        "representativeOfPage": {
          "type": "boolean",
          "description": "대표 이미지 여부",
          "default": false
        },
        "contentUrl": {
          "type": "string",
          "description": "이미지 파일 URL"
        },
        "contentSize": {
          "type": "string",
          "description": "이미지 파일 사이즈"
        },
        "width": {
          "type": "object",
          "description": "이미지 넓이",
          "properties": {
            "@type": {
              "type": "string",
              "description": "https://schema.org/QuantitativeValue",
              "enum": [
                "QuantitativeValue"
              ],
              "default": "QuantitativeValue"
            },
            "value": {
              "type": "number",
              "description": "이미지 넓이 값"
            }
          }
        },
        "height": {
          "type": "object",
          "description": "이미지 파일의 높이",
          "properties": {
            "@type": {
              "type": "string",
              "description": "https://schema.org/QuantitativeValue",
              "enum": [
                "QuantitativeValue"
              ],
              "default": "QuantitativeValue"
            },
            "value": {
              "type": "number",
              "description": "이미지 파일의 높이 값"
            }
          }
        }
      },
      "required": [
        "contentUrl"
      ]
    },
    "material": {
      "type": "object",
      "description": "소재 정보",
      "properties": {
        "@value": {
          "type": "string",
          "description": "소재"
        },
        "@language": {
          "type": "string",
          "description": "ISO 639-1 언어코드",
          "enum": [
            "ko",
            "en",
            "ja"
          ],
          "pattern": "^[a-z]{2}$",
          "default": "ko"
        }
      },
      "required": [
        "@value",
        "@language"
      ]
    },
    "priceSpecification": {
      "type": "object",
      "description": "가격 유형",
      "properties": {
        "@type": {
          "type": "string",
          "description": "https://schema.org/UnitPriceSpecification",
          "enum": [
            "UnitPriceSpecification"
          ],
          "default": "UnitPriceSpecification"
        },
        "priceType": {
          "type": "string",
          "description": "가격 유형",
          "enum": [
            "InvoicePrice",
            "ListPrice",
            "MSRP",
            "MinimumAdvertisedPrice",
            "RegularPrice",
            "SRP",
            "SalePrice",
            "StrikethroughPrice"
          ]
        },
        "price": {
          "type": "number",
          "description": "유닛 가격"
        },
        "priceCurrency": {
          "type": "string",
          "description": "ISO 4217 통화코드 (예: KRW, USD, JPY)"
        },
        "unitCode": {
          "type": "string",
          "description": "단위"
        }
      },
      "required": [
        "priceType",
        "price",
        "priceCurrency",
        "unitCode"
      ]
    },
    "offers": {
      "type": "object",
      "description": "SKU 별 가격, 판매 가능여부",
      "properties": {
        "@type": {
          "type": "string",
          "description": "https://schema.org/Offer",
          "enum": [
            "Offer"
          ],
          "default": "Offer"
        },
        "sku": {
          "type": "string",
          "description": "판매용 SKU"
        },
        "gtin": {
          "type": "string",
          "description": "국제 표준 바코드 (GTIN / EAN / UPC / ISBN), GTIN-13 = EAN"
        },
        "mpn": {
          "type": "string",
          "description": "제조사 부품 번호 (Manufacturer Part Number)"
        },
        "price": {
          "type": "number",
          "description": "판매가격"
        },
        "priceCurrency": {
          "type": "string",
          "description": "ISO 4217 통화코드 (예: KRW, USD, JPY)",
          "pattern": "^[A-Z]{3}$"
        },
        "priceSpecification": {
          "oneOf": [
            {
              "type": "array",
              "minItems": 1,
              "items": {
                "$ref": "#/$defs/priceSpecification"
              }
            },
            {
              "$ref": "#/$defs/priceSpecification"
            }
          ]
        },
        "color": {
          "type": "string",
          "description": "색상"
        },
        "size": {
          "type": "string",
          "description": "사이즈"
        },
        "availability": {
          "type": "string",
          "description": "재고 상태",
          "enum": [
            "BackOrder",
            "Discontinued",
            "InStock",
            "InStoreOnly",
            "LimitedAvailability",
            "MadeToOrder",
            "OnlineOnly",
            "OutOfStock",
            "PreOrder",
            "PreSale",
            "Reserved",
            "SoldOut"
          ]
        },
        "availabilityStarts": {
          "type": "string",
          "description": "ISO 8601 UTC 판매 시작시간 (2025-11-28T10:00:00Z)",
          "pattern": "Z$"
        },
        "availabilityEnds": {
          "type": "string",
          "description": "ISO 8601 UTC 판매 종료시간 (2025-11-28T10:00:00Z)",
          "pattern": "Z$"
        },
        "inventoryLevel": {
          "type": "object",
          "description": "재고 현황 정보",
          "properties": {
            "@type": {
              "type": "string",
              "description": "https://schema.org/QuantitativeValue",
              "enum": [
                "QuantitativeValue"
              ],
              "default": "QuantitativeValue"
            },
            "value": {
              "type": "number",
              "description": "재고 현황"
            }
          },
          "required": [
            "value"
          ]
        },
        "shippingDetails": {
          "type": "object",
          "description": "배송 정보",
          "properties": {
            "@type": {
              "type": "string",
              "description": "https://schema.org/OfferShippingDetails",
              "enum": [
                "OfferShippingDetails"
              ],
              "default": "OfferShippingDetails"
            },
            "weight": {
              "type": "object",
              "description": "배송 무게",
              "properties": {
                "@type": {
                  "type": "string",
                  "description": "https://schema.org/QuantitativeValue",
                  "enum": [
                    "QuantitativeValue"
                  ],
                  "default": "QuantitativeValue"
                },
                "value": {
                  "type": "number",
                  "description": "배송 무게"
                },
                "unitCode": {
                  "type": "string",
                  "description": "배송 무게 표시 단위"
                }
              },
              "required": [
                "value",
                "unitCode"
              ]
            }
          },
          "required": [
            "weight"
          ]
        },
        "image": {
          "oneOf": [
            {
              "type": "array",
              "minItems": 1,
              "items": {
                "$ref": "#/$defs/image"
              }
            },
            {
              "$ref": "#/$defs/image"
            }
          ]
        },
        "additionalProperty": {
          "type": "array",
          "description": "부가 정보",
          "minItems": 1,
          "items": {
            "type": "object",
            "properties": {
              "@type": {
                "type": "string",
                "description": "https://schema.org/PropertyValue",
                "enum": [
                  "PropertyValue"
                ],
                "default": "PropertyValue"
              },
              "propertyID": {
                "type": "string",
                "description": "속성 아이디"
              },
              "value": {
                "description": "속성 값"
              }
            }
          }
        }
      },
      "required": [
        "sku",
        "mpn",
        "price",
        "priceCurrency",
        "color",
        "size",
        "availability",
        "availabilityStarts",
        "availabilityEnds",
        "image"
      ]
    }
  }
}
```

</details>

<details>

<summary>상품 삭제</summary>

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "고객사 상품수집 - 상품 삭제",
  "description": "고객사의 상품 데이터 삭제 요청 수집",
  "type": "object",
  "properties": {
    "@context": {
      "type": "string",
      "description": "context",
      "enum": [
        "https://schema.org"
      ],
      "default": "https://schema.org"
    },
    "specversion": {
      "type": "string",
      "description": "스펙 버전",
      "enum": [
        "1.0"
      ],
      "default": "1.0"
    },
    "id": {
      "type": "string",
      "description": "이벤트 고유 식별자",
      "enum": [
        "EVT-DELETE-PRODUCT"
      ],
      "default": "EVT-DELETE-PRODUCT"
    },
    "type": {
      "type": "string",
      "description": "상품 수집 유형",
      "enum": [
        "delete_product"
      ],
      "default": "delete_product"
    },
    "agent": {
      "type": "object",
      "description": "조직 정보",
      "required": [
        "name"
      ],
      "properties": {
        "@type": {
          "type": "string",
          "description": "조직",
          "enum": [
            "Organization"
          ],
          "default": "Organization"
        },
        "name": {
          "type": "string",
          "description": "생성 요청한 기업"
        }
      }
    },
    "@graph": {
      "type": "array",
      "description": "상품 데이터",
      "minItems": 1,
      "maxItems": 1000,
      "items": {
        "type": "object",
        "properties": {
          "@type": {
            "type": "string",
            "description": "https://schema.org/Product",
            "enum": [
              "Product"
            ],
            "default": "Product"
          },
          "sku": {
            "type": "string",
            "description": "상품 코드"
          }
        },
        "required": [
          "sku"
        ]
      }
    }
  },
  "required": [
    "@graph"
  ]
}

```

</details>
