> ## Documentation Index
> Fetch the complete documentation index at: https://developers-partners.delivered.co.kr/llms.txt
> Use this file to discover all available pages before exploring further.

# 상품 등록

> 
            상품 등록 API 입니다.
            상품을 Bulk로 등록합니다. 1회 요청 시 최대 100건까지 처리합니다.

            응답은 부분 성공 모델입니다.
            - successCount: 등록 성공한 상품 수
            - failureCount: 실패한 상품 수
            - failures[]: 실패한 상품별 상세 (shopProductId, errorCode, message)
              실패가 있어도 HTTP 200으로 응답하므로, 클라이언트는 failures[]를 반드시 확인해야 합니다.
        



## OpenAPI

````yaml /api-reference/global-link-api.json POST /open-api/v1/global-link/products
openapi: 3.0.1
info:
  title: Global Link Open API
  description: '-'
  version: 1.0.0
servers:
  - url: https://gw-staging.delivered.co.kr/global-ship
    description: 테스트 환경
  - url: https://auth.delivered.co.kr/global-ship
    description: 운영 환경
security:
  - Authorization: []
tags:
  - name: 글로벌링크 상품
    description: 글로벌링크 상품
paths:
  /open-api/v1/global-link/products:
    post:
      tags:
        - Global Link Product
      summary: 글로벌링크 상품 등록
      description: |2-

                    상품 등록 API 입니다.
                    상품을 Bulk로 등록합니다. 1회 요청 시 최대 100건까지 처리합니다.

                    응답은 부분 성공 모델입니다.
                    - successCount: 등록 성공한 상품 수
                    - failureCount: 실패한 상품 수
                    - failures[]: 실패한 상품별 상세 (shopProductId, errorCode, message)
                      실패가 있어도 HTTP 200으로 응답하므로, 클라이언트는 failures[]를 반드시 확인해야 합니다.
                
      operationId: registerProducts
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GlobalLinkProductRegisterRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GlobalLinkProductRegisterResponse'
components:
  schemas:
    GlobalLinkProductRegisterRequest:
      required:
        - products
      type: object
      properties:
        products:
          type: array
          description: 등록할 상품 목록 (1회 요청당 최대 100건)
          items:
            $ref: '#/components/schemas/GlobalLinkProduct'
    GlobalLinkProductRegisterResponse:
      required:
        - failureCount
        - failures
        - successCount
      type: object
      properties:
        successCount:
          type: integer
          description: 등록 성공한 상품 수
          format: int32
          example: 98
        failureCount:
          type: integer
          description: 등록 실패한 상품 수
          format: int32
          example: 2
        failures:
          type: array
          description: 실패한 상품 상세 목록. failureCount가 0이면 빈 배열
          items:
            $ref: '#/components/schemas/FailedProduct'
    GlobalLinkProduct:
      required:
        - brandName
        - discountedProductPrice
        - domesticShippingPrice
        - freeDomesticShippingPriceCondition
        - mainImage
        - originProductUrl
        - productDetailImages
        - productImages
        - productName
        - productPrice
        - shopProductId
        - stockQuantity
      type: object
      properties:
        productName:
          type: string
          description: 상품명
          example: 베이직 코튼 반팔 티셔츠
        brandName:
          type: string
          description: 브랜드명
          example: Delivered Korea
        mainImage:
          type: string
          description: 대표 이미지 URL
          example: https://www.***.co.kr/main.jpg
        productImages:
          type: array
          description: 상품 이미지 URL 목록
          items:
            type: string
            description: 상품 이미지 URL 목록
        productDetailImages:
          type: array
          description: 상품 상세 이미지 URL 목록
          items:
            type: string
            description: 상품 상세 이미지 URL 목록
        productPrice:
          type: integer
          description: 상품가 (KRW)
          format: int64
          example: 19900
        discountedProductPrice:
          type: integer
          description: 할인 적용가 (KRW). 할인이 없으면 productPrice와 동일 값
          format: int64
          example: 14900
        domesticShippingPrice:
          type: integer
          description: 국내 배송비 (KRW)
          format: int64
          example: 3000
        freeDomesticShippingPriceCondition:
          type: integer
          description: 국내 무료배송 조건 금액 (KRW). 해당 금액 이상 구매 시 배송비 무료. 조건 없으면 0
          format: int64
          example: 30000
        stockQuantity:
          type: integer
          description: 재고 수량
          format: int32
          example: 250
        originProductUrl:
          type: string
          description: 원본 상품 URL (파트너사 상품 페이지)
          example: https://www.***.co.kr/***
        shopProductId:
          type: string
          description: 파트너사 상품 ID (shop 내 unique)
          example: product-001
        productOptionGroup:
          type: array
          description: 상품 옵션 그룹. 옵션이 없는 단일 상품이면 null
          items:
            $ref: '#/components/schemas/ProductOptionGroup'
      description: 등록할 상품 목록 (1회 요청당 최대 100건)
    FailedProduct:
      required:
        - errorCode
        - message
        - shopProductId
      type: object
      properties:
        shopProductId:
          type: string
          description: 실패한 상품의 판매처 상품 ID
          example: product-001
        errorCode:
          type: string
          description: 실패 사유 코드
          example: INVALID_PRICE
        message:
          type: string
          description: 실패 사유 메시지
          example: 할인가가 원가보다 큽니다
      description: 실패한 상품 상세 목록. failureCount가 0이면 빈 배열
    ProductOptionGroup:
      required:
        - productOption
        - productOptionGroupName
        - productOptionGroupType
      type: object
      properties:
        productOptionGroupType:
          type: string
          description: '옵션 그룹 타입 (SIMPLE: 단일선택, COMBINATION: 조합형, TEXT: 텍스트 입력)'
          example: COMBINATION
          enum:
            - SIMPLE
            - COMBINATION
            - TEXT
        productOptionGroupName:
          type: array
          description: '옵션 그룹명 목록 (예: 색상, 사이즈)'
          items:
            $ref: '#/components/schemas/ProductOptionGroupName'
        productOption:
          type: array
          description: 옵션(SKU) 목록
          items:
            $ref: '#/components/schemas/ProductOption'
      description: 상품 옵션 그룹. 옵션이 없는 단일 상품이면 null
    ProductOptionGroupName:
      required:
        - productOptionGroupName
        - shopGroupOptionId
      type: object
      properties:
        shopGroupOptionId:
          type: integer
          description: 파트너사의 옵션 그룹 ID
          format: int64
          example: 1
        productOptionGroupName:
          type: string
          description: 옵션 그룹명
          example: 색상
      description: '옵션 그룹명 목록 (예: 색상, 사이즈)'
    ProductOption:
      required:
        - availablePurchaseQuantityMax
        - availablePurchaseQuantityMin
        - optionPrice
        - order
        - productOptionName
        - shopOptionId
        - stockQuantity
      type: object
      properties:
        productOptionName:
          type: array
          description: '옵션 그룹별 옵션값 목록 (예: 색상=블랙, 사이즈=M)'
          items:
            $ref: '#/components/schemas/ProductOptionName'
        optionPrice:
          type: integer
          description: 옵션 단가 (KRW)
          format: int64
          example: 19900
        stockQuantity:
          type: integer
          description: 옵션별 재고 수량
          format: int32
          example: 50
        order:
          type: integer
          description: 옵션 노출 순서 (0부터 시작)
          format: int32
          example: 0
        shopOptionId:
          type: string
          description: 파트너사의 옵션 ID
          example: opt-001
        availablePurchaseQuantityMin:
          type: integer
          description: 최소 구매 가능 수량
          format: int32
          example: 1
        availablePurchaseQuantityMax:
          type: integer
          description: 최대 구매 가능 수량
          format: int32
          example: 10
      description: 옵션(SKU) 목록
    ProductOptionName:
      required:
        - productOptionName
        - shopGroupOptionId
      type: object
      properties:
        shopGroupOptionId:
          type: integer
          description: 해당 값이 속한 옵션 그룹 ID (ProductOptionGroupName.shopGroupOptionId 참조)
          format: int64
          example: 1
        productOptionName:
          type: string
          description: '옵션값 (예: 블랙, M)'
          example: 블랙
      description: '옵션 그룹별 옵션값 목록 (예: 색상=블랙, 사이즈=M)'
  securitySchemes:
    Authorization:
      type: apiKey
      description: 발급받은 시크릿 키
      name: Authorization
      in: header

````