API Douyin Dettagli del prodotto
Stato di salute dell'API
- Operatività nelle ultime 24 ore
- Normale
- Buono / normale
- Disponibile
- Limitato
- Quasi del tutto inattivo
Ultime 24 ore
Ultimi 30 giorni
Leggi un prodotto di Douyin Mall tramite ID numerico. Ottieni prezzo visualizzato e scontato in CNY, dato di vendita, negozio, immagini, garanzie, note di spedizione, varianti e stato di vendita. Prendi product_id da product_search o live_product_search, non uno SKU o un ID promozione.
Invia POST https://api.everyinfra.com/api/v1/social con platform impostato su douyin e action impostato su product_detail. Prezzo $13.33 per 1.000 richieste ($0.01333 per chiamata). Le chiamate non riuscite e i risultati vuoti non vengono addebitati. Sincrona. Per i job più lenti, aggiungi "mode": "async" al corpo della richiesta, recupera il job_id ed esegui il polling.
Douyin Product details legge un prodotto di Douyin Mall tramite product_id e restituisce titolo, negozio, prezzo mostrato e prezzo scontato pubblico attuale, il dato sulle vendite mostrato nella pagina, immagini principali e di dettaglio, le garanzie di servizio pubblicizzate, note sulla spedizione, opzioni delle varianti e se è in vendita. Risponde alla domanda su quanto costa un prodotto su Douyin in questo momento, chi lo vende e quanto vende, per venditori che monitorano i concorrenti, brand che tengono d'occhio i rivenditori e agenzie che verificano un prodotto prima che un creator lo promuova.
Entrambi i prezzi sono in yuan. sold_count è un'istantanea del dato di vendita pubblico del prodotto, non delle vendite di un singolo creator. shipping_fee_text e shipping_estimate_text mantengono la formulazione della pagina, quindi analizzali prima di confrontare i negozi. variant_groups elenca ogni gruppo di opzioni solo con i nomi e gli ID pubblici delle opzioni, senza prezzo né disponibilità per opzione.
Prompt per l'AI
#Aiutami a scrivere uno script di raccolta dei dati con l'endpoint Douyin Dettagli del prodotto di EveryInfra (douyin/product_detail).
Come funziona l'endpoint:
- Richiesta: POST https://api.everyinfra.com/api/v1/social con l'header Authorization: Bearer <chiave API>. Leggi la chiave dalla variabile d'ambiente EVERYINFRA_API_KEY e non scriverla mai direttamente nel codice.
- Nel corpo della richiesta imposta platform su douyin e action su product_detail, e inserisci i parametri in params.
- Parametri obbligatori:
- product_id: ID numerico di un prodotto Douyin restituito da product_search o live_product_search. Non è un ID SKU, un ID promozione, un titolo o un URL.
- Restituisce un oggetto. Campi principali: product_id (ID stabile del prodotto su Douyin Mall), title, price_cny (Prezzo del prodotto visualizzato, in yu…), discount_price_cny (Prezzo scontato pubblico attuale in yuan), sales_text (Dato di vendita esattamente come lo mos…), sold_count (Unità vendute attualmente mostrate nell…), shop_id (ID del negozio su Douyin Mall), shop_name (Nome del negozio su Douyin Mall), shop_avatar_url (URL dell'avatar del negozio su Douyin M…), image_url, main_image_urls (URL dell'immagine principale e delle im…), detail_image_urls (URL delle immagini lunghe usate nella s…); 17 campi in totale, elenco completo su https://api.everyinfra.com/api/v1/social/catalog?platform=douyin.
- Esempio di corpo della richiesta:
{
"platform": "douyin",
"action": "product_detail",
"params": {
"product_id": "3836720422792070096"
}
}
- Prezzo: $13.33 per 1.000 richieste; le richieste non riuscite e i risultati vuoti non vengono addebitati.
- Per decine o centinaia di target, aggiungi "mode": "async" al corpo: ricevi subito un job_id ed esegui il polling su GET https://api.everyinfra.com/api/v1/jobs/{job_id} per ottenere il risultato.
- In caso di 422, correggi la richiesta usando i nomi dei parametri e i valori consentiti suggeriti nell'errore; in caso di 429 o 503, attendi il tempo indicato da Retry-After e riprova.
Prima di scrivere il codice, chiedimi quali target mi servono, quanti, quali campi e quale formato di output voglio; poi conferma con me il piano e il costo indicativo.Parametri della richiesta
#| Nome | Posizione | Tipo | Obbligatorio | Predefinito | Descrizione |
|---|---|---|---|---|---|
Authorization | header | string | Sì | - | Bearer seguito dalla tua chiave API. Creala nella console; non inserirla mai in un URL o in un repository di codice. |
platform | body | string | Sì | douyin | Identificativo della piattaforma, valore fisso. |
action | body | string | Sì | product_detail | Identificativo della funzionalità, valore fisso. |
product_id | body.params | string | Sì | - | ID numerico di un prodotto Douyin restituito da product_search o live_product_search. Non è un ID SKU, un ID promozione, un titolo o un URL. |
Esempi di codice
#curl -X POST 'https://api.everyinfra.com/api/v1/social' \
-H "Authorization: Bearer $EVERYINFRA_API_KEY" \
-H 'Content-Type: application/json' \
--data-raw '{
"platform": "douyin",
"action": "product_detail",
"params": {
"product_id": "3836720422792070096"
}
}'Definizione OpenAPI (JSON)Gli esempi leggono la chiave dalla variabile d'ambiente EVERYINFRA_API_KEY; il codice copiato non contiene mai la tua chiave.
Esempio di risposta
#{ "id": "req_…", "platform": "douyin", "action": "product_detail", "results": { "product_id": "3836720422792070096", "title": "【呆萌熊】新品双头双效唇釉哑光镜面显白滋润持久*", "price_cny": 29.9, "discount_price_cny": 29.9, "sales_text": "已售 2.1万", "sold_count": 21000, "shop_id": "299794838", "shop_name": "云熙韩系美妆店", "shop_avatar_url": "https://p26-item.ecombdimg.com/img/tos-cn-i-6vegkygxbk/f8ba953ab37546efb8a919a4e9ead1a8~tplv-5mmsx3fupr-resize:74:74.webp", "image_url": "https://p26-item.ecombdimg.com/img/ecom-shop-material/jpeg_m_37a8f86e0effdbc561476e142b123a40_sx_459175_www800-800~tplv-5mmsx3fupr-resize_q:1080:1080:q90.webp", "main_image_urls": [ "https://p26-item.ecombdimg.com/img/ecom-shop-material/jpeg_m_37a8f86e0effdbc561476e142b123a40_sx_459175_www800-800~tplv-5mmsx3fupr-resize_q:1080:1080:q90.webp", "https://p3-item.ecombdimg.com/img/ecom-shop-material/png_m_574f7406e9dd12bb3f18273204bf327f_sx_896309_www800-800~tplv-5mmsx3fupr-resize_q:1080:1080:q90.webp", "https://p26-item.ecombdimg.com/img/ecom-shop-material/jpeg_m_534c2bcde929242168bd6807ad88a191_sx_437036_www800-800~tplv-5mmsx3fupr-resize_q:1080:1080:q90.webp" ], "detail_image_urls": [ "https://p3-item.ecombdimg.com/img/ecom-shop-material/jpeg_m_def6b7201342e9f4b6ac75d03e204a5c_sx_481255_www790-1056~tplv-5mmsx3fupr-resize:1080:0.webp", "https://p3-item.ecombdimg.com/img/ecom-shop-material/jpeg_m_9886a360258475ee00925b5a9002f008_sx_536482_www790-1050~tplv-5mmsx3fupr-resize:1080:0.webp", "https://p26-item.ecombdimg.com/img/ecom-shop-material/jpeg_m_5f7156ffb9ef5e49cf37af6be985d933_sx_487609_www790-1394~tplv-5mmsx3fupr-resize:1080:0.webp" ], "assurances": [ "7天无理由退货" ], "shipping_fee_text": "免运费", "shipping_estimate_text": "预计明天发货", "variant_groups": [ { "name": "色号", "options": [ { "id": "•••", "name": "01烟熏烤奶" }, { "id": "•••", "name": "02芭乐奶油" }, { "id": "•••", "name": "03樱桃玫瑰" } ] }, { "name": "第二支选择", "options": [ { "id": "•••", "name": "01烟熏烤奶" }, { "id": "•••", "name": "02芭乐奶油" }, { "id": "•••", "name": "03樱桃玫瑰" } ] } ], "on_sale": true, "platform": "douyin" }, "billing": { "charged": …, "charged_usd": …, "balance_after_usd": …, … }, "quota": { … }}
Campi della risposta
#I dati di business si trovano in results. La tabella elenca i campi che un record può contenere; i valori che la piattaforma non mostra non vengono mai inventati.
| Campo | Significato |
|---|---|
product_id | ID stabile del prodotto su Douyin Mall. |
title | Titolo. null quando la piattaforma non prevede titoli (ad esempio post di solo testo). |
price_cny | Prezzo del prodotto visualizzato, in yuan. |
discount_price_cny | Prezzo scontato pubblico attuale in yuan; se manca, non viene mai ricavato dal prezzo di listino. |
sales_text | Dato di vendita esattamente come lo mostra la pagina del prodotto. |
sold_count | Unità vendute attualmente mostrate nella pagina del prodotto; è un'istantanea al momento della lettura, non le vendite di un singolo creator. |
shop_id | ID del negozio su Douyin Mall. |
shop_name | Nome del negozio su Douyin Mall. |
shop_avatar_url | URL dell'avatar del negozio su Douyin Mall. |
image_url | Link all'immagine. Le funzionalità con più immagini possono restituire un array image_urls. |
main_image_urls | URL dell'immagine principale e delle immagini del carosello del prodotto. |
detail_image_urls | URL delle immagini lunghe usate nella sezione dei dettagli del prodotto. |
assurances | Etichette delle garanzie di servizio mostrate per il prodotto. |
shipping_fee_text | Costo di spedizione o nota sul luogo di spedizione, esattamente come li mostra la pagina. |
shipping_estimate_text | Nota sui tempi stimati di spedizione, esattamente come la mostra la pagina. |
variant_groups | Gruppi di varianti e relative opzioni; solo nomi dei gruppi, nomi delle opzioni e ID pubblici delle opzioni, senza prezzo o scorte per opzione. |
on_sale | Indica se il prodotto risultava in vendita al momento della lettura. |
platform | Identificativo della piattaforma di origine, uguale a platform nella richiesta (ad esempio xiaohongshu, tiktok). |
FAQ
#Dove trovo un product_id?
#Nei risultati delle funzionalità Douyin Product search o Live product search, che contengono l'ID numerico del prodotto di Douyin Mall. Passa quel numero, non l'ID SKU, l'ID della promozione o il titolo del prodotto che compaiono anch'essi in alcuni risultati; qui solo l'ID prodotto identifica la scheda prodotto.
sold_count indica quanto ha venduto un creator?
#No. È il numero di unità vendute che la pagina del prodotto mostra pubblicamente al momento della chiamata, riferito all'intero prodotto, quindi non dice nulla su un particolare creator o una live. Salvalo con la data della chiamata per costruire un andamento delle vendite, e conserva sales_text per la dicitura esatta mostrata dalla pagina.
Perché discount_price_cny manca per alcuni prodotti?
#Viene compilato solo quando il prodotto mostra un prezzo scontato pubblico al momento della chiamata. Quando è assente, considera price_cny come prezzo esposto; lo sconto non viene mai stimato né ricavato da esso. Entrambi i valori sono in yuan, quindi puoi confrontarli direttamente quando sono presenti entrambi.
Errori e addebiti
#- 401
- Chiave mancante o non valida.
- 402
- Saldo insufficiente. Effettua prima una ricarica.
- 422
- Nome o valore del parametro non valido. Correggilo seguendo i suggerimenti dell'errore. Nessun addebito.
- 429
- Raggiunto il limite di richieste al minuto. Attendi il tempo indicato da Retry-After, poi riprova.
- 503
- Impossibile completare. L'importo trattenuto torna sul tuo saldo. Se l'esito è incerto, verificalo prima di riprovare.
- Risposta 200 vuota
- Nessun dato. Nessun addebito.