Metodo HTTP
POST
Endpoint
https://MIOSERVER/store360_api
Risorsa
Creazione / aggiornamento prodotti
POST /products
Esempio:
https://MIOSERVER/store360_api/products
Crea un prodotto se lo Sku non esiste, altrimenti aggiorna quello esistente. Lo stesso endpoint serve per entrambi i casi e accetta più prodotti per richiesta.
Struttura del Body
{
"Prodotti": [
{
"Sku": "ABC123",
"Nome": "Nome prodotto",
"Descrizione": "Descrizione prodotto",
"Barcode": "8003558097869",
"MPN": "",
"Produttore": "Nome produttore",
"Categoria": "Elettrodomestici>Frigoriferi",
"Iva": 22,
"Qta": 10,
"PrezzoEcommerce": 29.90,
"PrezzoAmazon": 32.00,
"PrezzoMetro": 30.50
}
]
}
Campi dell’oggetto Prodotto
| Campo | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| Sku | string | sì | Codice univoco del prodotto |
| Nome | string | sì, se nuovo | Nome del prodotto |
| Iva | number | sì, se nuovo | Aliquota IVA in percentuale (es. 22). Deve essere un’aliquota configurata in Store360, altrimenti il prodotto viene scartato. Su un prodotto esistente cambia solo se inviata |
| PrezzoEcommerce | number | sì, se nuovo | Prezzo lordo sull’ecommerce; il netto viene calcolato dall’aliquota |
| Descrizione | string | no | Se omessa su un prodotto nuovo viene usato il Nome |
| Barcode | string | no | Codice a barre (EAN) |
| MPN | string | no | Manufacturer Part Number |
| Produttore | string | no | Nome del produttore; se non esiste viene creato |
| Categoria | string | no | Percorso con i livelli separati da > (es. Elettrodomestici>Frigoriferi). I livelli mancanti vengono creati. Se omessa su un prodotto nuovo va nella categoria "Prodotti"; su un prodotto esistente, se diversa, il prodotto viene spostato |
| CodicePadre | string | no | Codice del prodotto padre, condiviso da tutte le varianti. Se omesso su un prodotto nuovo è uguale allo Sku |
| Varianti | string | no | Attributi della variante nel formato chiave==valore;chiave==valore; (es. Colore==Rosso;Taglia==XL;). Nel GET /products tornano come oggetto varianti |
| Qta | integer | no | Quantità a magazzino (0 se omessa su un prodotto nuovo) |
| PrezzoAmazon | number | no | Prezzo lordo su Amazon. Se il prodotto non è ancora configurato su Amazon, la configurazione viene creata |
| PrezzoMetro | number | no | Prezzo lordo su Metro Markets. Se il prodotto non è ancora configurato su Metro, la configurazione viene creata |
| PrezzoEbay | number | no | Prezzo lordo su eBay Italia. Aggiornato solo se il prodotto è già configurato su eBay (la configurazione non viene creata) |
I canali marketplace utilizzabili dipendono dai moduli attivi sul vostro account.
Varianti
Per creare le varianti di uno stesso prodotto inviare uno Sku per variante, con lo stesso CodicePadre e Varianti diverse.
{
"Prodotti": [
{
"Sku": "MAGLIA-ROSSO-XL",
"CodicePadre": "MAGLIA-001",
"Varianti": "Colore==Rosso;Taglia==XL;",
"Nome": "Maglietta",
"Iva": 22,
"PrezzoEcommerce": 9.90,
"Qta": 5
},
{
"Sku": "MAGLIA-BLU-M",
"CodicePadre": "MAGLIA-001",
"Varianti": "Colore==Blu;Taglia==M;",
"Nome": "Maglietta",
"Iva": 22,
"PrezzoEcommerce": 9.90,
"Qta": 3
}
]
}
Header Richiesti
Content-Type: application/json
Authorization: Bearer {access_token}
Comportamento
- Ogni prodotto viene elaborato in modo indipendente: un errore su un prodotto non blocca gli altri
- Un prodotto non valido (es. Sku mancante, prodotto nuovo senza Nome, Iva o PrezzoEcommerce, aliquota non configurata) viene scartato e segnalato nella response
- Per aggiornare solo prezzi e quantità di prodotti già esistenti si può usare anche
PUT /stock-price
JSON di Risposta
{
"ResponseTo": "Products",
"Timestamp": "1765640000",
"Ack": "OK",
"MessaggioErrore": "",
"CodiceErrore": "0",
"Output": "File elaborato correttamente\nElaborati 1 prodotti\nSku ABC123: creato"
}
Output riporta il numero di prodotti elaborati e una riga per ogni prodotto (creato, aggiornato o il motivo dello scarto).
