Modelos de respuesta de la API de productos

Con response_format: "standard" (predeterminado), los endpoints de producto devuelven los tipos siguientes. TypeScript canónico: packages/shared/src/products.ts.

Endpoints: detalle · búsqueda · búsqueda por imagen · parse

Envoltorio de respuesta {#envelope}

EndpointForma
detail, parse{ product: StandardProductDetail, request_id }
search, search-by-imageStandardProductList & { request_id }
upload-image{ channel, image_id, request_id }

StandardProductDetail {#standard-product-detail}

Snapshot completo de producto para páginas de producto y checkout. Mapea a pedidos: source_product_idoffer_id, variants[].sku_idspec_id (Pedidos de compra).

Identidad y canal

CampoTipoDescripción
idstringClave compuesta de HIOBuy: {channel}_{source_product_id}
channelstring1688, taobao o weidian
source_product_idstring1688 = offerId; Taobao = mi_id (obligatorio para API de pedidos)
source_urlstringURL canónica de la página de producto

Texto localizado (title, description)

CampoTipoDescripción
originalstringTexto del marketplace (normalmente chino)
translatedstring | nullTraducción para el language solicitado
languagestringLocale de translated
descriptionobject | nullDetalle largo (a menudo HTML)

Precios (price, price_tiers[])

Todos los importes son yuanes CNY (no fen). Prefiere promotion_amount cuando esté definido; en caso contrario, display_amount.

CampoTipoDescripción
price.original_amountnumberPrecio de lista antes de promociones
price.display_amountnumberPrecio visible para el comprador (CNY)
price.promotion_amountnumber | nullPrecio unitario promocional cuando aplique
price.original_currency / display_currencystringSiempre CNY
price_tiers[]arrayTramos mayoristas de 1688; vacío en Taobao
min_order_quantitynumber | nullMOQ de 1688
distribution_min_quantitynumber | nullMínimo dropship de 1688

Medios (images[], videos)

CampoTipoDescripción
images[].urlstringURL CDN de imagen
images[].typeenummain, gallery o variant
videos.main / videos.detailstring | nullVideos de 1688; Taobao null

Atributos frente a variantes

Solo variants[] controla la selección de SKU y las líneas de pedido.

CampoRol
attributes[]Especificaciones CPV: solo visualización, no para resolución de SKU
variants[]Matriz de SKU comprable con precio, stock y especificaciones

Objeto de variante (variants[])

CampoTipoDescripción
sku_idstringPásalo como spec_id al crear el pedido
upstream_sku_idstring | nullskuId numérico de 1688
attributes[]arrayDimensiones de especificación (color, talla, …)
priceobjectPrecio a nivel SKU en yuanes
stocknumberCantidad disponible; 0 = sin stock
imagestring | nullImagen principal del SKU
shippingobject | nullDimensiones de paquete de 1688 para flete
distributionobject | nullPrecios dropship de 1688

Vendedor, envío y metadatos

CampoTipoDescripción
seller.id / seller.namestringId de tienda y nombre mostrado
seller.shop_urlstring | nullEnlace a la tienda
shipping.shipping_fromstring | nullRegión de despacho nacional
shipping.domestic_shipping_feeobject | nullTarifa nacional estimada en yuanes
metadata.raw_categorystring | nullCategoría upstream
metadata.brandstring | nullMarca declarada
metadata.updated_atstringÚltima sincronización ISO 8601
trade_scorestring | nullPuntuación de calidad de 1688

Ejemplo (truncado)

{
  "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_..."
}

Disponibilidad de campos por canal

Campo1688TaobaoWeidian
videos, price_tiers, trade_scoreVaría
variants[].shipping, distribution
source_product_id para pedidosofferIdmi_idId de plataforma

StandardProductList {#standard-product-list}

Desde búsqueda y búsqueda por imagen. Cada entrada items[] es un resumen; llama a detail para la matriz SKU.

CampoTipoDescripción
channelstringMarketplace consultado
keywordstringEco de la palabra clave (vacío para búsqueda solo por imagen)
page / page_sizenumberPaginación aplicada
totalnumberTotal upstream (puede ser aproximado)
items[]arrayObjetos StandardProductListItem
pic_region_infoobjectBúsqueda por imagen: región de recorte detectada

StandardProductListItem

CampoTipoDescripción
id, channel, source_product_id, source_urlstringUsa source_product_id para obtener detalle
titleLocalizedTitleTítulo del listado
priceProductPricePrecio resumido en yuanes CNY
imagestringURL de miniatura
seller.namestringNombre de tienda

Respuesta upload-image {#upload-image-response}

CampoTipoDescripción
channelstringMarketplace que almacenó la imagen
image_idstringReutilizar en búsqueda por imagen

Selección de variantes {#variant-selection}

  1. Carga detalle → lee product.variants.
  2. Agrupa por attributes[].original_name para selectores de dimensión.
  3. Filtra variantes según cada elección del usuario; deshabilita opciones sin stock.
  4. Pasa el sku_id y source_product_id coincidentes a order preview.