API JD.com Negozio
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
Sfoglia fino a 24 prodotti di un negozio JD.com, ognuno con ID articolo, titolo, prezzo, valuta e disponibilità. Passa lo shop_id numerico del negozio o il suo link mall.jd.com. I risultati non rappresentano l'intero inventario del negozio.
Invia POST https://api.everyinfra.com/api/v1/social con platform impostato su jd e action impostato su shop. Prezzo $28.81 per 1.000 richieste ($0.02881 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.
JD.com Shop elenca i prodotti di un negozio JD, dato il suo shop_id. Ogni riga contiene l'item_id del prodotto, titolo, link, prezzo e valuta, immagine principale e nome, ID e link della pagina del negozio. Mostra cosa vende un negozio e a quali prezzi, così i brand possono verificare i rivenditori autorizzati, i venditori possono studiare l'assortimento di un concorrente e gli analisti possono seguire assortimento e prezzi di un negozio nel tempo.
shop_id è l'ID numerico del negozio, oppure il link della pagina del negozio https://mall.jd.com/index-<number>.html senza query string né frammento; un ID prodotto non va bene. Ogni item_id è un ID prodotto JD numerico che le altre funzionalità JD accettano senza conversioni. price arriva senza simbolo di valuta, quindi leggilo insieme a currency, e conserva shop_name e shop_url con le righe per etichettare i negozi nei report.
Prompt per l'AI
#Aiutami a scrivere uno script di raccolta dei dati con l'endpoint JD.com Negozio di EveryInfra (jd/shop).
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 jd e action su shop, e inserisci i parametri in params.
- Parametri obbligatori:
- shop_id: Identifica il negozio usato dall'azione shop. Passa una stringa di cifre o l'URL canonico legacy https://mall.jd.com/index-<digits>.html senza query né frammento.
- Parametri facoltativi:
- limit: Numero massimo di righe da restituire in questa chiamata: un intero da 1 a 24. Se lo ometti, viene applicato il valore predefinito; una chiamata può restituire meno righe. (predefinito: 24)
- Restituisce un elenco di record. Campi principali di ogni record: item_id (ID numerico del prodotto su JD), url, title, price, currency, shop_id (ID numerico del negozio su JD), shop_name (Nome pubblico del negozio), shop_url (Pagina pubblica del negozio su JD), image_url (URL dell'immagine: in search, product_d…), available (Indica se l'articolo era acquistabile a…).
- Esempio di corpo della richiesta:
{
"platform": "jd",
"action": "shop",
"params": {
"shop_id": "1000004259"
}
}
- Prezzo: $28.81 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ì | jd | Identificativo della piattaforma, valore fisso. |
action | body | string | Sì | shop | Identificativo della funzionalità, valore fisso. |
shop_id | body.params | string | Sì | - | Identifica il negozio usato dall'azione shop. Passa una stringa di cifre o l'URL canonico legacy https://mall.jd.com/index-<digits>.html senza query né frammento; gli URL di altri host vengono rifiutati e questo selettore non accetta l'item_id di un prodotto. |
limit | body.params | integer (1–24) | No | 24 | Numero massimo di righe da restituire in questa chiamata: un intero da 1 a 24. Se lo ometti, viene applicato il valore predefinito; una chiamata può restituire meno righe. I valori più alti restituiscono 422 prima di qualsiasi addebito. |
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": "jd",
"action": "shop",
"params": {
"shop_id": "1000004259"
}
}'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": "jd", "action": "shop", "results": [ { "item_id": "100386940168", "url": "https://item.jd.com/100386940168.html", "title": "HUAWEIWATCH GT7Pro碳晶黑46mm钛合金&纳米微晶陶瓷户外进阶运动21天超长续航华为智能手表", "price": 2688, "currency": "CNY", "shop_id": "1000004259", "shop_name": "华为京东自营旗舰店", "shop_url": "https://mall.jd.com/index-1000004259.html", "image_url": "https://img14.360buyimg.com/n0/jfs/t1/550965/17/7947/140219/6ae2b424F7cc9d94c/00835a05a09af40b.jpg", "platform": "jd" }, { "item_id": "100343412080", "url": "https://item.jd.com/100343412080.html", "title": "华为MateBook 14 鸿蒙版笔记本电脑 国家补贴 2.8K OLED触控屏 鸿蒙AI 24GB 1TB原野绿 圆键盘", "price": 7599, "currency": "CNY", "shop_id": "1000004259", "shop_name": "华为京东自营旗舰店", "shop_url": "https://mall.jd.com/index-1000004259.html", "image_url": "https://img14.360buyimg.com/n0/jfs/t1/537470/34/12588/89809/6acef399F2a2483a1/00835a05a01f9084.jpg", "platform": "jd" } ], "count": 24, "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 |
|---|---|
item_id | ID numerico del prodotto su JD. Dai risultati di ricerca puoi passarlo direttamente alle chiamate per i dettagli, le recensioni o il prezzo. |
url | Link al record sulla piattaforma. |
title | Titolo. null quando la piattaforma non prevede titoli (ad esempio post di solo testo). |
price | Prezzo come numero senza simbolo di valuta; vedi currency. |
currency | Codice valuta del prezzo (ad esempio CNY, USD). Se price è presente ma currency è null, non dare per scontata una valuta. |
shop_id | ID numerico del negozio su JD. |
shop_name | Nome pubblico del negozio. |
shop_url | Pagina pubblica del negozio su JD. |
image_url | URL dell'immagine: in search, product_detail, shop e skus è l'immagine principale (copertina) del prodotto; in description_images è l'immagine descrittiva di quella riga (l'immagine HTTPS a dimensione piena sul server di hosting delle immagini di JD). |
available | Indica se l'articolo era acquistabile al momento della lettura (righe product_detail, product_price e shop); false se esaurito, null se la pagina non lo indicava. |
platform | Identificativo della piattaforma di origine, uguale a platform nella richiesta (ad esempio xiaohongshu, tiktok). |
FAQ
#Dove trovo l'ID di un negozio JD?
#Nella pagina del negozio stesso: in https://mall.jd.com/index-<number>.html, il numero è l'ID del negozio, e puoi passare il numero oppure quel link senza query string. Anche i risultati di JD Search e Product details includono uno shop_id per il negozio che vende ciascun prodotto.
Posso partire dal link di un prodotto?
#Non direttamente, perché shop_id accetta un ID negozio e un ID prodotto non è un valore valido. Leggi prima il prodotto con JD Product details: lo shop_id nel risultato identifica il negozio, e puoi passarlo qui per elencare il resto dell'assortimento.
Come verifico prezzi e disponibilità dei prodotti elencati?
#Le righe contengono price e currency così come li indica il negozio. Per il prezzo attuale e per sapere se un prodotto è acquistabile in questo momento, passa il suo item_id a JD Product price; per varianti, stato delle scorte e record completo del prodotto, usa JD Product details. I feedback degli acquirenti arrivano da JD Reviews.
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.
Riferimenti ufficiali
#Usati solo per verificare oggetti e terminologia. Non implicano alcuna autorizzazione o approvazione di EveryInfra da parte della piattaforma.
- JD.com JSSDK: destinazioni separate per SKU e negozio ↗
La documentazione di JD.com sui reindirizzamenti usa `skuId` per una destinazione di dettaglio prodotto e `shopId` per una destinazione di dettaglio negozio. Questo conferma che identificatori di prodotto e di negozio vanno tenuti separati; non stabilisce diritti di raccolta delle pagine web, il parsing degli URL supportati, cataloghi completi dei negozi o il comportamento delle richieste di EveryInfra.
Verificato il 2026-09-11