Modèles de réponse de l’API Produits

Avec response_format: "standard" (par défaut), les endpoints produit retournent les types ci-dessous. TypeScript canonique : packages/shared/src/products.ts.

Endpoints : détail · recherche · recherche par image · analyse

Enveloppe de réponse {#envelope}

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

StandardProductDetail {#standard-product-detail}

Instantané complet du produit pour les pages produit et le checkout. Mapping vers les commandes : search/detail idlines[].id (offer_id / Taobao mi_id still accepted), variants[].sku_idspec_id (Commandes d’approvisionnement).

Identité et canal

ChampTypeDescription
idstringTaobao = mi_id (lines[].id commande; change périodiquement — ne pas cacher longtemps). 1688 = offerId. Weidian utilise actuellement prod_weidian_{source_product_id}
channelstring1688, taobao ou weidian
source_product_idstring1688 = offerId (same as id); Taobao = original item_id
source_urlstringURL canonique de page produit

Texte localisé (title, description)

ChampTypeDescription
originalstringTexte marketplace (généralement chinois)
translatedstring | nullTraduction pour le language demandé
languagestringLocale de translated
descriptionobject | nullDétail long format (souvent HTML)

Tarification (price, price_tiers[])

Tous les montants sont en yuan CNY (pas en fen). Préférez promotion_amount lorsqu’il est défini, sinon display_amount.

ChampTypeDescription
price.original_amountnumberPrix catalogue avant promotions
price.display_amountnumberPrix affiché à l’acheteur (CNY)
price.promotion_amountnumber | nullPrix unitaire promotionnel le cas échéant
price.original_currency / display_currencystringToujours CNY
price_tiers[]arrayPaliers de gros 1688 (nouvelles offres dès ≥2) ; vide sur Taobao
min_order_quantitynumber | nullMOQ 1688
distribution_min_quantitynumber | nullMinimum dropship 1688

Médias (images[], videos)

ChampTypeDescription
images[].urlstringURL CDN de l’image
images[].typeenummain, gallery ou variant
videos.main / videos.detailstring | nullVidéos 1688 ; Taobao null

Attributs vs variantes

Seul variants[] pilote la sélection SKU et les lignes de commande.

ChampRôle
attributes[]Spécifications CPV — affichage uniquement, pas pour résoudre le SKU
variants[]Matrice SKU achetable avec prix, stock et spécifications

Objet variante (variants[])

ChampTypeDescription
sku_idstringÀ passer comme spec_id lors de la création de commande
upstream_sku_idstring | nullskuId numérique 1688
attributes[]arrayDimensions de spécification (couleur, taille, …)
attributes[].name / valuestringLibellés d’affichage (localisés selon language)
attributes[].original_name / original_valuestringClés chinoises stables pour regrouper / faire correspondre
attributes[].prop_idstring | nullID de propriété upstream en string (Taobao prop_id ; 1688 attributeId). À préférer au texte du nom
attributes[].value_idstring | nullID de valeur upstream en string (Taobao value_id). 1688 sans valueId → null
attributes[].imagestring | nullImage d’option / pastille
priceobjectPrix au niveau SKU en yuan
stocknumberQuantité disponible ; 0 = rupture de stock
imagestring | nullImage principale du SKU
shippingobject | nullDimensions de colis SKU 1688 (tableau ci-dessous) ; Taobao null
min_order_quantitynumber | nullMOQ 1688 (valeur produit sur chaque SKU)
distributionobject | nullTarification dropship 1688

Dimensions de colis SKU (variants[].shipping)

Mappé depuis l’upstream 1688 productShippingInfo.skuShippingDetails (SkuShippingDetail). Taobao n’a pas d’équivalent — toujours null. Les tailles/poids vides ou 0 sont normalisés en null ; sans données, shipping est null.

ChampTypeDescription
width_cmnumber | nullLargeur, cm (déclarée marchand)
length_cmnumber | nullLongueur, cm
height_cmnumber | nullHauteur, cm
weight_kgnumber | nullPoids, kg
official_width_cmnumber | nullLargeur mesurée officielle, cm
official_length_cmnumber | nullLongueur mesurée officielle, cm
official_height_cmnumber | nullHauteur mesurée officielle, cm
official_weight_kgnumber | nullPoids mesuré officiel, kg
ai_weight_kgnumber | nullPoids prédit par IA, kg
ai_weight_accuracystring | nullPrécision du poids IA pour la catégorie feuille (ex. 80%)
sourcestring | nullSource des dimensions (ex. 商家自填)

Pour l’estimation fret, préférer official_*, puis les valeurs marchand, puis ai_weight_kg (avec ai_weight_accuracy comme indice de confiance).

Vendeur, expédition et métadonnées

ChampTypeDescription
seller.id / seller.namestringID boutique et nom affiché
seller.shop_urlstring | nullLien de boutique
shipping.shipping_fromstring | nullRégion d’expédition domestique
shipping.domestic_shipping_feeobject | nullFrais domestiques estimés en yuan
metadata.raw_categorystring | nullCatégorie upstream
metadata.brandstring | nullMarque déclarée
metadata.updated_atstringDernière synchronisation ISO 8601
trade_scorestring | nullScore qualité 1688

Exemple (tronqué)

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

Disponibilité des champs par canal

Champ1688TaobaoWeidian
videos, price_tiers, trade_scoreVariable
variants[].shipping, distribution
variants[].attributes[].prop_id✓ (attributeId)✓ (prop_id)
variants[].attributes[].value_id— (null)✓ (value_id)
source_product_id pour les commandesofferIdmi_idID plateforme

StandardProductList {#standard-product-list}

Depuis recherche et recherche par image. Chaque entrée items[] est un résumé — appelez le détail pour la matrice SKU.

ChampTypeDescription
channelstringMarketplace interrogée
keywordstringÉcho du mot-clé (vide pour une recherche purement par image)
page / page_sizenumberPagination appliquée
totalnumberTotal upstream (peut être approximatif)
items[]arrayObjets StandardProductListItem
pic_region_infoobjectRecherche par image : région de recadrage détectée

StandardProductListItem

ChampTypeDescription
id, channel, source_product_id, source_urlstringUtilisez source_product_id pour récupérer le détail
titleLocalizedTitleTitre de listing
priceProductPricePrix résumé en yuan CNY
imagestringURL de vignette
seller.namestringNom de boutique

Réponse upload-image {#upload-image-response}

ChampTypeDescription
channelstringMarketplace qui a stocké l’image
image_idstringRéutilisation dans recherche par image

Sélection de variante {#variant-selection}

  1. Chargez détail → lisez product.variants.
  2. Groupez par attributes[].original_name pour les sélecteurs de dimension (ou par prop_id si présent).
  3. Filtrez les variantes à chaque choix utilisateur ; désactivez les options en rupture de stock.
  4. Passez le sku_id correspondant et source_product_id à prévisualisation de commande.

Clés de correspondance : sur Taobao, privilégiez prop_id + value_id lorsqu’ils sont présents (identités CPV stables ; évitent les mélanges quand plusieurs SKU partagent le même nom d’attribut). Pour le regroupement UI, utilisez original_name + original_value. name / value uniquement pour l’affichage. N’inférez pas de type sémantique à partir des libellés.

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

Sur 1688, même forme : prop_idattributeId et value_id: null (SkuAttribute upstream sans valueId).

Get Support

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

Email support