Product API 응답 모델

response_format: "standard"(기본값)를 사용하면 상품 엔드포인트는 아래 타입을 반환합니다. 정식 TypeScript: packages/shared/src/products.ts.

엔드포인트: detail · search · image search · parse

응답 envelope {#envelope}

엔드포인트형태
detail, parse{ product: StandardProductDetail, request_id }
search, search-by-imageStandardProductList & { request_id }
upload-image{ channel, image_id, request_id }

StandardProductDetail {#standard-product-detail}

상품 페이지와 체크아웃을 위한 전체 상품 스냅샷입니다. 주문으로 매핑: source_product_idoffer_id, variants[].sku_idspec_id(Procurement orders).

식별자 및 채널

필드타입설명
idstringHIOBuy 복합 키: {channel}_{source_product_id}
channelstring1688, taobao, 또는 weidian
source_product_idstring1688 = offerId; Taobao = mi_id(주문 API에 필요)
source_urlstring정식 상품 페이지 URL

현지화 텍스트(title, description)

필드타입설명
originalstring마켓플레이스 원문(보통 중국어)
translatedstring | null요청한 language의 번역
languagestringtranslated의 로케일
descriptionobject | null긴 상세 설명(대개 HTML)

가격(price, price_tiers[])

모든 금액은 CNY yuan입니다(fen 아님). promotion_amount가 있으면 우선 사용하고, 없으면 display_amount를 사용하세요.

필드타입설명
price.original_amountnumber프로모션 전 정가
price.display_amountnumber구매자에게 표시되는 가격(CNY)
price.promotion_amountnumber | null적용 가능한 경우 프로모션 단가
price.original_currency / display_currencystring항상 CNY
price_tiers[]array1688 도매 구간 가격, Taobao에서는 비어 있음
min_order_quantitynumber | null1688 MOQ
distribution_min_quantitynumber | null1688 dropship 최소 수량

미디어(images[], videos)

필드타입설명
images[].urlstring이미지 CDN URL
images[].typeenummain, gallery, 또는 variant
videos.main / videos.detailstring | null1688 동영상, Taobao는 null

Attributes와 variants

SKU 선택과 주문 라인을 결정하는 것은 variants[]뿐입니다.

필드역할
attributes[]CPV 스펙 — 표시 전용이며 SKU 해석에 사용하지 않음
variants[]가격, 재고, 스펙을 포함한 구매 가능한 SKU 매트릭스

Variant 객체(variants[])

필드타입설명
sku_idstring주문 생성 시 spec_id로 전달
upstream_sku_idstring | null1688 숫자형 skuId
attributes[]array스펙 차원(색상, 사이즈 등)
priceobjectSKU 단위 위안 가격
stocknumber사용 가능 수량, 0 = 품절
imagestring | nullSKU 기본 이미지
shippingobject | null운임 계산용 1688 패키지 치수
distributionobject | null1688 dropship 가격

판매자, 배송 및 메타데이터

필드타입설명
seller.id / seller.namestring상점 id와 표시명
seller.shop_urlstring | null스토어프런트 링크
shipping.shipping_fromstring | null중국 내 발송 지역
shipping.domestic_shipping_feeobject | null위안 단위 중국 내 예상 배송비
metadata.raw_categorystring | nullUpstream 카테고리
metadata.brandstring | null선언된 브랜드
metadata.updated_atstringISO 8601 마지막 동기화 시각
trade_scorestring | null1688 품질 점수

예시(일부 생략)

{
  "product": {
    "id": "1688_554456348334",
    "channel": "1688",
    "source_product_id": "554456348334",
    "title": {
      "original": "...",
      "translated": "...",
      "language": "en"
    },
    "price": {
      "display_amount": 29.9,
      "promotion_amount": 24.9
    },
    "variants": [
      {
        "sku_id": "b266e0...",
        "stock": 100
      }
    ]
  },
  "request_id": "req_..."
}

채널별 필드 제공 여부

필드1688TaobaoWeidian
videos, price_tiers, trade_scoreVaries
variants[].shipping, distribution
주문용 source_product_idofferIdmi_idPlatform id

StandardProductList {#standard-product-list}

searchimage search에서 반환됩니다. 각 items[] 항목은 요약이며, SKU 매트릭스는 detail을 호출하세요.

필드타입설명
channelstring조회한 마켓플레이스
keywordstring키워드 echo(순수 이미지 검색이면 빈 값)
page / page_sizenumber적용된 페이지네이션
totalnumberUpstream 전체 수(근사치일 수 있음)
items[]arrayStandardProductListItem 객체
pic_region_infoobject이미지 검색: 감지된 크롭 영역

StandardProductListItem

필드타입설명
id, channel, source_product_id, source_urlstringdetail 조회에는 source_product_id 사용
titleLocalizedTitle목록 제목
priceProductPriceCNY yuan 단위 요약 가격
imagestring썸네일 URL
seller.namestring상점명

Upload-image 응답 {#upload-image-response}

필드타입설명
channelstring이미지를 저장한 마켓플레이스
image_idstringimage search에서 재사용

Variant 선택 {#variant-selection}

  1. detail을 로드하고 product.variants를 읽습니다.
  2. 선택 UI 차원을 위해 attributes[].original_name별로 그룹화합니다.
  3. 각 사용자 선택에 따라 variants를 필터링하고 품절 옵션을 비활성화합니다.
  4. 일치하는 sku_idsource_product_idorder preview에 전달합니다.