Produkt-API-Antwortmodelle
Mit response_format: "standard" (Standard) geben Produkt-Endpoints die folgenden Typen zurück. Kanonisches TypeScript: packages/shared/src/products.ts.
Endpoints: Detail · Suche · Bildsuche · Parse
Response-Envelope {#envelope}
| Endpoint | Form |
|---|---|
detail, parse | { product: StandardProductDetail, request_id } |
search, search-by-image | StandardProductList & { request_id } |
upload-image | { channel, image_id, request_id } |
StandardProductDetail {#standard-product-detail}
Vollständiger Produktsnapshot für Produktseiten und Checkout. Mapping auf Bestellungen: source_product_id → offer_id, variants[].sku_id → spec_id (Beschaffungsbestellungen).
Identität & Channel
| Feld | Typ | Beschreibung |
|---|---|---|
id | string | HIOBuy-Kompositschlüssel: {channel}_{source_product_id} |
channel | string | 1688, taobao oder weidian |
source_product_id | string | 1688 = offerId; Taobao = mi_id (für Order-APIs erforderlich) |
source_url | string | Kanonische Produktseiten-URL |
Lokalisierter Text (title, description)
| Feld | Typ | Beschreibung |
|---|---|---|
original | string | Marketplace-Text (typischerweise Chinesisch) |
translated | string | null | Übersetzung für angefragtes language |
language | string | Locale von translated |
description | object | null | Ausführliches Detail (oft HTML) |
Preise (price, price_tiers[])
Alle Beträge CNY Yuan (nicht Fen). Bevorzugen Sie promotion_amount, wenn gesetzt, sonst display_amount.
| Feld | Typ | Beschreibung |
|---|---|---|
price.original_amount | number | Listenpreis vor Aktionen |
price.display_amount | number | Käuferseitiger Preis (CNY) |
price.promotion_amount | number | null | Aktions-Stückpreis, falls zutreffend |
price.original_currency / display_currency | string | Immer CNY |
price_tiers[] | array | 1688-Großhandelsstaffeln; leer bei Taobao |
min_order_quantity | number | null | 1688 MOQ |
distribution_min_quantity | number | null | 1688-Dropship-Mindestmenge |
Medien (images[], videos)
| Feld | Typ | Beschreibung |
|---|---|---|
images[].url | string | Bild-CDN-URL |
images[].type | enum | main, gallery oder variant |
videos.main / videos.detail | string | null | 1688-Videos; Taobao null |
Attribute vs. Varianten
Nur variants[] steuert SKU-Auswahl und Bestellpositionen.
| Feld | Rolle |
|---|---|
attributes[] | CPV-Spezifikationen - nur Anzeige, nicht für SKU-Auflösung |
variants[] | Kaufbare SKU-Matrix mit Preis, Bestand und Spezifikationen |
Variantenobjekt (variants[])
| Feld | Typ | Beschreibung |
|---|---|---|
sku_id | string | Bei Order Create als spec_id übergeben |
upstream_sku_id | string | null | Numerische 1688-skuId |
attributes[] | array | Spezifikationsdimensionen (Farbe, Größe, …) |
price | object | SKU-Preis in Yuan |
stock | number | Verfügbare Menge; 0 = nicht vorrätig |
image | string | null | SKU-Hauptbild |
shipping | object | null | 1688-Paketabmessungen für Fracht |
distribution | object | null | 1688-Dropship-Preise |
Verkäufer, Versand & Metadaten
| Feld | Typ | Beschreibung |
|---|---|---|
seller.id / seller.name | string | Shop-ID und Anzeigename |
seller.shop_url | string | null | Storefront-Link |
shipping.shipping_from | string | null | Inländische Versandregion |
shipping.domestic_shipping_fee | object | null | Geschätzte Inlandgebühr in Yuan |
metadata.raw_category | string | null | Upstream-Kategorie |
metadata.brand | string | null | Angegebene Marke |
metadata.updated_at | string | Letzte Synchronisierung nach ISO 8601 |
trade_score | string | null | 1688-Qualitätsscore |
Beispiel (gekürzt)
{
"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_..."
}Feldverfügbarkeit nach Channel
| Feld | 1688 | Taobao | Weidian |
|---|---|---|---|
videos, price_tiers, trade_score | ✓ | — | Variiert |
variants[].shipping, distribution | ✓ | — | — |
source_product_id für Bestellungen | offerId | mi_id | Plattform-ID |
StandardProductList {#standard-product-list}
Aus Suche und Bildsuche. Jeder items[]-Eintrag ist eine Zusammenfassung - Detail aufrufen für SKU-Matrix.
| Feld | Typ | Beschreibung |
|---|---|---|
channel | string | Abgefragter Marketplace |
keyword | string | Echo des Keywords (leer bei reiner Bildsuche) |
page / page_size | number | Angewendete Paginierung |
total | number | Upstream-Gesamtzahl (kann ungefähr sein) |
items[] | array | StandardProductListItem-Objekte |
pic_region_info | object | Bildsuche: erkannte Crop-Region |
StandardProductListItem
| Feld | Typ | Beschreibung |
|---|---|---|
id, channel, source_product_id, source_url | string | source_product_id verwenden, um Detail abzurufen |
title | LocalizedTitle | Listing-Titel |
price | ProductPrice | Summary-Preis in CNY Yuan |
image | string | Thumbnail-URL |
seller.name | string | Shop-Name |
Upload-image-Antwort {#upload-image-response}
| Feld | Typ | Beschreibung |
|---|---|---|
channel | string | Marketplace, der das Bild gespeichert hat |
image_id | string | In Bildsuche wiederverwenden |
Variantenauswahl {#variant-selection}
- Detail laden →
product.variantslesen. - Nach
attributes[].original_namefür Dimensionsauswahlen gruppieren. - Varianten bei jeder Benutzerauswahl filtern; nicht vorrätige Optionen deaktivieren.
- Passende
sku_idundsource_product_idan Order Preview übergeben.