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: search/detail idlines[].id (offer_id / Taobao mi_id still accepted), variants[].sku_idspec_id (Pedidos de compra).

Identidad y canal

CampoTipoDescripción
idstringTaobao = mi_id (lines[].id de pedido; cambia periódicamente — no cachear a largo plazo). 1688 = offerId. Weidian actualmente prod_weidian_{source_product_id}
channelstring1688, taobao o weidian
source_product_idstring1688 = offerId (same as id); Taobao = original item_id
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 (ofertas nuevas desde ≥2); 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, …)
attributes[].name / valuestringEtiquetas de visualización (localizadas según language)
attributes[].original_name / original_valuestringClaves chinas estables para agrupar / coincidir
attributes[].prop_idstring | nullID de propiedad upstream como string (Taobao prop_id; 1688 attributeId). Preferir sobre el texto del nombre
attributes[].value_idstring | nullID de valor upstream como string (Taobao value_id). 1688 sin valueId → null
attributes[].imagestring | nullImagen de la opción / swatch
priceobjectPrecio a nivel SKU en yuanes
stocknumberCantidad disponible; 0 = sin stock
imagestring | nullImagen principal del SKU
shippingobject | nullDimensiones de paquete SKU 1688 (tabla abajo); Taobao null
min_order_quantitynumber | nullMOQ 1688 (valor a nivel de producto en cada SKU)
distributionobject | nullPrecios dropship de 1688

Dimensiones de paquete SKU (variants[].shipping)

Mapeado desde el upstream 1688 productShippingInfo.skuShippingDetails (SkuShippingDetail). Taobao no tiene equivalente — siempre null. Valores vacíos o 0 se normalizan a null; sin datos, shipping es null.

CampoTipoDescripción
width_cmnumber | nullAncho, cm (declarado por el vendedor)
length_cmnumber | nullLargo, cm
height_cmnumber | nullAlto, cm
weight_kgnumber | nullPeso, kg
official_width_cmnumber | nullAncho medido oficial, cm
official_length_cmnumber | nullLargo medido oficial, cm
official_height_cmnumber | nullAlto medido oficial, cm
official_weight_kgnumber | nullPeso medido oficial, kg
ai_weight_kgnumber | nullPeso predicho por IA, kg
ai_weight_accuracystring | nullPrecisión del peso IA en la categoría hoja (p. ej. 80%)
sourcestring | nullOrigen de las dimensiones (p. ej. 商家自填)

Para estimar flete, prioriza official_*, luego lo declarado por el vendedor, luego ai_weight_kg (con ai_weight_accuracy como pista de confianza).

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": "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...",
        "upstream_sku_id": "12123313",
        "stock": 100,
        "shipping": {
          "width_cm": 10,
          "length_cm": 10,
          "height_cm": 10,
          "weight_kg": 1.2,
          "official_width_cm": 5,
          "official_length_cm": 12,
          "official_height_cm": 14,
          "official_weight_kg": 0.001,
          "ai_weight_kg": 0.001,
          "ai_weight_accuracy": "80%",
          "source": "商家自填"
        }
      }
    ]
  },
  "request_id": "req_..."
}

Disponibilidad de campos por canal

Campo1688TaobaoWeidian
videos, price_tiers, trade_scoreVaría
variants[].shipping, distribution
variants[].attributes[].prop_id✓ (attributeId)✓ (prop_id)
variants[].attributes[].value_id— (null)✓ (value_id)
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 (o por prop_id si está presente).
  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.

Claves de coincidencia: en Taobao, prioriza prop_id + value_id cuando existan (identidades CPV estables; evitan cruces cuando muchas SKU comparten el mismo nombre de atributo). Para agrupar en UI, usa original_name + original_value. name / value solo para mostrar. No infieras tipos semánticos a partir de las etiquetas.

{
  "prop_id": "1627207",
  "value_id": "43553464153",
  "name": "Color Classification",
  "value": "[Special for Bicycle Maintenance] Professional 46-Piece Set",
  "original_name": "颜色分类",
  "original_value": "【自行车维修专用】专业46件套",
  "image": "https://img.alicdn.com/..."
}

En 1688 se usa la misma forma: prop_idattributeId y value_id: null (SkuAttribute upstream no tiene valueId).

Get Support

Need integration help? Contact Developer Support at support@hiobuy.com · Response within 1–2 business days

Email support