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 : source_product_idoffer_id, variants[].sku_idspec_id (Commandes d’approvisionnement).

Identité et canal

ChampTypeDescription
idstringClé composite HIOBuy : {channel}_{source_product_id}
channelstring1688, taobao ou weidian
source_product_idstring1688 = offerId ; Taobao = mi_id (obligatoire pour les API de commande)
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 ; 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, …)
priceobjectPrix au niveau SKU en yuan
stocknumberQuantité disponible ; 0 = rupture de stock
imagestring | nullImage principale du SKU
shippingobject | nullDimensions de colis 1688 pour le fret
distributionobject | nullTarification dropship 1688

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

Disponibilité des champs par canal

Champ1688TaobaoWeidian
videos, price_tiers, trade_scoreVariable
variants[].shipping, distribution
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.
  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.