POST

Stato di salute dell'API

Operatività nelle ultime 24 ore
Normale
  • Buono / normale
  • Disponibile
  • Limitato
  • Quasi del tutto inattivo
Normale

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

#
NomePosizioneTipoObbligatorioPredefinitoDescrizione
AuthorizationheaderstringSì-Bearer seguito dalla tua chiave API. Creala nella console; non inserirla mai in un URL o in un repository di codice.
platformbodystringSìjdIdentificativo della piattaforma, valore fisso.
actionbodystringSìshopIdentificativo della funzionalità, valore fisso.
shop_idbody.paramsstringSì-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.
limitbody.paramsinteger (1–24)No24Numero 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

#
bash
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

#
Acquisita il November 7, 2026 at 14:47 (UTC) chiamando questa API con i parametri dell'esempio di codice qui sopra. results e count sono la risposta reale di quella chiamata, da cui sono state rimosse le informazioni personali (nomi, handle, avatar, link ai profili, recapiti); l'elenco conserva i primi 2. id, billing e quota cambiano a ogni chiamata, quindi ne viene mostrata solo la struttura.
json
{  "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.

CampoSignificato
item_idID numerico del prodotto su JD. Dai risultati di ricerca puoi passarlo direttamente alle chiamate per i dettagli, le recensioni o il prezzo.
urlLink al record sulla piattaforma.
titleTitolo. null quando la piattaforma non prevede titoli (ad esempio post di solo testo).
pricePrezzo come numero senza simbolo di valuta; vedi currency.
currencyCodice valuta del prezzo (ad esempio CNY, USD). Se price è presente ma currency è null, non dare per scontata una valuta.
shop_idID numerico del negozio su JD.
shop_nameNome pubblico del negozio.
shop_urlPagina pubblica del negozio su JD.
image_urlURL 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).
availableIndica 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.
platformIdentificativo 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.

Errori

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

Le nostre statistiche di visita interne sono sempre attive. Google Analytics viene caricato solo se scegli «Consenti analisi». Informativa sulla privacy