Le API Prodotti permettono di aggiornare qualsiasi prodotto indipendentemente dalla tipologia di catalogo a cui appartiene: data entry, fornitore, custom, inventario marketplace, etc.
Se il catalogo è agganciato a una fonte dati esterna caricata in automatico (es: file fornitore), i dati caricati via API potrebbero venir sovrascritti dai processi automatici di importazione effettuati da Sellrapido.
Per tale ragione si suggerisce di usare le API con cataloghi di tipo "data entry" oppure di bloccare preventivamente i campi dei prodotti che si desidera aggiornare via API
Questa API non è disponibile di default, va richiesta l'attivazione come descritto sotto.
Introduzione
Per poter utilizzare le API relative ai prodotti è necessario che all’account venga assegnata l’ACL:api_products
Questa ACL abilita l’accesso alle funzionalità di creazione e modifica dei prodotti come descritto nel presente documento. Le richieste effettuate senza l’abilitazione appropriata verranno rifiutate con un errore di autorizzazione (HTTP 403 – Forbidden).
L'attivazione dell'ACL va chiesta aprendo un ticket al supporto Sellrapido.
Descrizione
Di seguito trovate le specifiche per implementare le API POST e PATCH utilizzabili per la creazione e l'aggiornamento di una lista di prodotti all'interno di Sellrapido.
- POST: consente la creazione di nuovi prodotti.
- PATCH: consente l'aggiornamento parziale dei prodotti esistenti.
Entrambe le API utilizzano formato JSON e restituiscono codici di stato HTTP standard.
POST /api/product/{uuid}
Consente di creare uno o più prodotti in base a catalogo e SKU.
Endpoint
POST
/api/product/{uuid}
Header
Content-Type:
application/json
Parametri
uuid
(string, required): token API visibile nella sezione "Dati Personali" del proprio profilo Sellrapido
Restrizioni Payload
- Array JSON con massimo 1000 elementi
- Ogni elemento deve includere:
catalog
(integer, required)sku
(string, required)price1
(double, required > 0)quantity
(integer, required > 0)
Campi Modificabili
- condition_code, condition_description, sku_label, title, subtitle, description, description_extra, brand
- url_image1 → url_image9
- price2 → price6, price_cost, price_shipping1 → price_shipping6
- fee_additional1 → fee_additional6, vat_perc, ean, isbn, mpn, asin
- weight, weight_um, variations, extra1 → extra9
- item_note, delivery_days, attributes, on_demand, on_demand_days
Esempio Payload
[
{
"catalog": 123456,
"sku": "SKU-00123",
"title": "Nuovo titolo prodotto",
"subtitle": "Sottotitolo aggiornato",
"description": "<p>Questa è una <strong>descrizione HTML</strong> con un elenco:</p><ul><li>Caratteristica 1</li><li>Caratteristica 2</li></ul><p>Grazie per l'interesse!</p>",
"brand": "MarcaX",
"quantity": 10,
"url_image1": "https://example.com/image1.jpg",
"price1": 19.99,
"price_cost": 10.50,
"vat_perc": 22,
"ean": "1234567890123",
"weight": 0.75,
"weight_um": "kg",
"extra1": "Informazione extra 1",
"item_note": "Nota sull'articolo",
"delivery_days": 3,
"on_demand": 1,
"on_demand_days": 7
}
]
Risposta
{
"created_items": [
{"index": 1, "data": { "catalog": 123456, "sku": "SKU-00123", ... }},
...
],
"errors": [
{"index": 0, "message": "Invalid fields [url]"},
...
]
}
PATCH /api/product/{uuid}
Consente aggiornamenti parziali dei prodotti.
Endpoint
PATCH
/api/product/{uuid}
Header
Content-Type:
application/json
Parametri
uuid
(string, required)
Restrizioni Payload
- Array JSON con massimo 1000 elementi
- Ogni elemento deve includere:
catalog,
sku
Campi Modificabili
Uguali a quelli della POST.
Esempio Payload
[
{
"catalog": 123456,
"sku": "SKU-00123",
"price1": 17.1,
"quantity": 15,
"attributes": [{ "name": "Numero prese Scart", "value": "1" }]
}
]
Risposta
{
"updated_items": [
{"index": 1, "data": {"price1": 17.1, ...}},
...
],
"errors": [
{"index": 0, "message": "Invalid fields [url]"},
...
]
}
Codici di Risposta
- 200 OK – Richiesta accettata.
- 400 Bad Request – Dati non corretti.
- 500 Internal Server Error – Errore interno.
Messaggi di Errore Possibili
- Request body must be an array
- Invalid fields [field1, field2]
- No updatable fields
- Product `SKU` not found in catalog ID
- Validation error: invalid format for field `field`