API REST YOUCART
Ogni cosa che si fa dal pannello si può fare via API: catalogo, ordini, magazzino, resi. 127 endpoint JSON, inclusi in tutti i piani, senza limiti di chiamate.
Questa pagina è generata dalla stessa tabella di rotte che il server carica all'avvio: se un endpoint è elencato qui, esiste.
Prima di cominciare
L'indirizzo è quello del negozio
Non esiste un endpoint centrale: ogni negozio risponde sul proprio sottodominio, e il negozio viene riconosciuto dall'indirizzo della richiesta, non da un parametro.
https://tuonegozio.youcart.it/api/v1/…
È la ragione per cui una credenziale di un negozio non funziona
sull'indirizzo di un altro: viene rifiutata con 401, anche se
è valida a casa sua.
Due modi di autenticarsi
Per integrare un altro programma si usa una chiave API. Il token JWT serve alle applicazioni che agiscono per conto di una persona collegata, come la vetrina.
Chiave API — per i programmi
Si emette dal pannello del negozio, sezione Chiavi API.
Va nell'intestazione X-Api-Key:
curl -H "X-Api-Key: yc_a1b2c3…" \
https://tuonegozio.youcart.it/api/v1/youcart/prodotti
Tre cose da sapere sulle chiavi
- Si vede una volta sola. Alla creazione. Non è recuperabile: nel database c'è solo il suo hash. Se la perdi, ne emetti un'altra.
- Nasce in sola lettura. La scrittura si concede
esplicitamente al momento dell'emissione. Una chiave senza quel
permesso riceve
403sugli endpoint di scrittura. - Non tocca le credenziali. Nemmeno con la scrittura: una chiave non può emettere altre chiavi né riconfigurare l'SMTP del negozio. Così revocarla basta davvero a chiudere l'accesso.
Token JWT — per conto di una persona
Si ottiene da POST /api/v1/auth/login e dura
30 minuti. Va in Authorization:
curl -H "Authorization: Bearer <token>" \
https://tuonegozio.youcart.it/api/v1/auth/me
Il formato delle risposte
Sempre lo stesso, in caso di successo e di errore.
// riuscita
{ "success": true, "data": { … } }
// fallita — "errori" è sempre una lista
{ "success": false,
"errori": [ { "codice": "VALIDATION", "messaggio": "…" } ] }
Codici che vale la pena distinguere
| Codice | Significa | Cosa fare |
|---|---|---|
401 | Credenziale assente, scaduta o di un altro negozio | Rifai il login o controlla l'indirizzo |
403 | Riconosciuto, ma senza il permesso | Serve una chiave con scrittura, o un amministratore |
402 | Il piano del negozio non comprende la funzionalità | Non è un errore tecnico: il messaggio dice da quale piano è disponibile |
404 | Non esiste, o non appartiene a questo negozio | I due casi non si distinguono, di proposito |
409 | Conflitto: già esistente, o già in quello stato | Rileggi lo stato attuale prima di riprovare |
Il 402 è quello che sorprende di più: un endpoint può esistere,
la credenziale essere giusta, e la risposta essere comunque un rifiuto
perché quella funzionalità appartiene a un piano superiore. Nella tabella
qui sotto gli endpoint interessati portano l'indicazione del piano minimo.
Convenzioni
- Identificativi: esadecimali a 32 caratteri
maiuscoli (
A1B2…). Il confronto è sensibile: usali come li ricevi. - Paginazione:
?pagina=1&per_pagina=24, massimo 100 per pagina. La risposta riportapagina,per_paginaetotale. - Importi: stringhe decimali, nella valuta del negozio — non è sempre l'euro. L'IVA è scomposta per aliquota.
- I prezzi non si inviano: prezzo, sconto e costo di spedizione vengono sempre riletti dal catalogo lato server. Un importo nel corpo della richiesta viene ignorato.
- Corpo: JSON,
Content-Type: application/json.
Tutti gli endpoint
pubblico nessuna credenziale · collegato chiave API o token · amministratore chiave con scrittura, o admin
Stato del servizio
| Metodo | Percorso | Accesso |
|---|---|---|
| GET | /api/v1/health | pubblico |
Accesso e password
| Metodo | Percorso | Accesso |
|---|---|---|
| POST | /api/v1/auth/register | pubblico |
| POST | /api/v1/auth/login | pubblico |
| GET | /api/v1/auth/me | collegato |
| PUT | /api/v1/auth/password | collegato |
| POST | /api/v1/auth/password/dimenticata | pubblico |
| POST | /api/v1/auth/password/reimposta | pubblico |
Catalogo (pubblico)
| Metodo | Percorso | Accesso |
|---|---|---|
| GET | /api/v1/youcart/prodotti | pubblico |
| GET | /api/v1/youcart/prodotti/ricerca | pubblico |
| GET | /api/v1/youcart/prodotti/categorie | pubblico |
| GET | /api/v1/youcart/prodotti/marche | pubblico |
| GET | /api/v1/youcart/prodotti/csv | pubblico |
| GET | /api/v1/youcart/prodotti/{slug} | pubblico |
| GET | /api/v1/youcart/categorie | pubblico |
| GET | /api/v1/youcart/categorie/{slug} | pubblico |
Carrello
| Metodo | Percorso | Accesso |
|---|---|---|
| GET | /api/v1/youcart/carrello | pubblico |
| POST | /api/v1/youcart/carrello/items | pubblico |
| PATCH | /api/v1/youcart/carrello/items/{id} | pubblico |
| DELETE | /api/v1/youcart/carrello/items/{id} | pubblico |
Ordini
| Metodo | Percorso | Accesso |
|---|---|---|
| POST | /api/v1/youcart/ordini | collegato |
| GET | /api/v1/youcart/ordini | collegato |
| GET | /api/v1/youcart/ordini/{id} | collegato |
| PUT | /api/v1/youcart/admin/ordini/{id}/fatturazione | amministratore |
| PUT | /api/v1/youcart/admin/ordini/{id}/evasione | amministratore |
| POST | /api/v1/youcart/ordini/{id}/riordina | collegato |
| PUT | /api/v1/youcart/admin/ordini/{id}/annulla | amministratore |
Notifiche email
| Metodo | Percorso | Accesso |
|---|---|---|
| GET | /api/v1/youcart/notifiche-email | collegato |
| POST | /api/v1/youcart/notifiche-email | collegato |
| PUT | /api/v1/youcart/notifiche-email/{id} | collegato |
| DELETE | /api/v1/youcart/notifiche-email/{id} | collegato |
Preventivi
| Metodo | Percorso | Accesso |
|---|---|---|
| POST | /api/v1/youcart/preventivi | collegatoda Pro |
| GET | /api/v1/youcart/preventivi | collegatoda Pro |
| GET | /api/v1/youcart/preventivi/{id} | collegatoda Pro |
| DELETE | /api/v1/youcart/preventivi/{id} | collegatoda Pro |
| GET | /api/v1/youcart/preventivi/{id}/csv | collegatoda Pro |
| PUT | /api/v1/youcart/preventivi/{id}/esito | collegatoda Pro |
| PUT | /api/v1/youcart/admin/preventivi/{id}/risposta | amministratoreda Pro |
Promozioni
| Metodo | Percorso | Accesso |
|---|---|---|
| GET | /api/v1/youcart/admin/promozioni | amministratoreda Pro |
| POST | /api/v1/youcart/admin/promozioni | amministratoreda Pro |
| PUT | /api/v1/youcart/admin/promozioni/{id} | amministratoreda Pro |
| PUT | /api/v1/youcart/admin/promozioni/{id}/attiva | amministratoreda Pro |
Registro operazioni
| Metodo | Percorso | Accesso |
|---|---|---|
| GET | /api/v1/youcart/admin/registro | amministratore |
Spedizione (pubblico)
| Metodo | Percorso | Accesso |
|---|---|---|
| GET | /api/v1/youcart/spedizione/zone | pubblico |
| GET | /api/v1/youcart/spedizione/preventivo | pubblico |
Spedizione (amministrazione)
| Metodo | Percorso | Accesso |
|---|---|---|
| POST | /api/v1/youcart/admin/spedizione/zone | amministratore |
| PUT | /api/v1/youcart/admin/spedizione/zone/{id} | amministratore |
| DELETE | /api/v1/youcart/admin/spedizione/zone/{id} | amministratore |
| GET | /api/v1/youcart/spedizione/tariffe | pubblico |
| POST | /api/v1/youcart/admin/spedizione/tariffe | amministratore |
| PUT | /api/v1/youcart/admin/spedizione/tariffe/{id} | amministratore |
| DELETE | /api/v1/youcart/admin/spedizione/tariffe/{id} | amministratore |
Negozio e configurazione
| Metodo | Percorso | Accesso |
|---|---|---|
| GET | /api/v1/youcart/negozio/impostazioni | pubblico |
| PUT | /api/v1/youcart/admin/negozio/impostazioni | amministratore |
| GET | /api/v1/youcart/admin/negozio/smtp | amministratore |
| PUT | /api/v1/youcart/admin/negozio/smtp | amministratore |
| POST | /api/v1/youcart/admin/negozio/smtp/prova | amministratore |
| GET | /api/v1/youcart/admin/negozio/email/coda | amministratore |
| GET | /api/v1/youcart/admin/negozio/profilo | amministratore |
| PUT | /api/v1/youcart/admin/negozio/profilo | amministratore |
| GET | /api/v1/youcart/admin/negozio/visite | amministratore |
Rubrica indirizzi
| Metodo | Percorso | Accesso |
|---|---|---|
| GET | /api/v1/youcart/indirizzi | collegato |
| POST | /api/v1/youcart/indirizzi | collegato |
| PUT | /api/v1/youcart/indirizzi/{id} | collegato |
| DELETE | /api/v1/youcart/indirizzi/{id} | collegato |
Pagamenti
| Metodo | Percorso | Accesso |
|---|---|---|
| GET | /api/v1/youcart/admin/pagamenti | amministratore |
| PUT | /api/v1/youcart/admin/pagamenti/{id}/incasso | amministratore |
| PUT | /api/v1/youcart/admin/pagamenti/{id}/annulla | amministratore |
Anagrafica B2B
| Metodo | Percorso | Accesso |
|---|---|---|
| GET | /api/v1/youcart/admin/contatti | amministratoreda Business |
| GET | /api/v1/youcart/admin/contatti/{id} | amministratoreda Business |
| POST | /api/v1/youcart/admin/contatti | amministratoreda Business |
| PUT | /api/v1/youcart/admin/contatti/{id} | amministratoreda Business |
| PUT | /api/v1/youcart/admin/contatti/{id}/utente | amministratoreda Business |
Listini B2B
| Metodo | Percorso | Accesso |
|---|---|---|
| GET | /api/v1/youcart/admin/listini | amministratoreda Premium |
| GET | /api/v1/youcart/admin/listini/{id} | amministratoreda Premium |
| POST | /api/v1/youcart/admin/listini | amministratoreda Premium |
| PUT | /api/v1/youcart/admin/listini/{id} | amministratoreda Premium |
| DELETE | /api/v1/youcart/admin/listini/{id} | amministratoreda Premium |
| PUT | /api/v1/youcart/admin/listini/{id}/voce | amministratoreda Premium |
| DELETE | /api/v1/youcart/admin/listini/{id}/voce/{voce} | amministratoreda Premium |
Catalogo (amministrazione)
| Metodo | Percorso | Accesso |
|---|---|---|
| POST | /api/v1/youcart/admin/prodotti | amministratore |
| PUT | /api/v1/youcart/admin/prodotti/{id} | amministratore |
| DELETE | /api/v1/youcart/admin/prodotti/{id} | amministratore |
| GET | /api/v1/youcart/admin/prodotti/ricerche-log | amministratore |
| GET | /api/v1/youcart/admin/prodotti/{id}/immagini | amministratore |
| POST | /api/v1/youcart/admin/prodotti/{id}/immagini | amministratore |
| DELETE | /api/v1/youcart/admin/prodotti/{id}/immagini/{immagine} | amministratore |
| PUT | /api/v1/youcart/admin/prodotti/{id}/immagini/{immagine}/principale | amministratore |
Categorie (amministrazione)
| Metodo | Percorso | Accesso |
|---|---|---|
| POST | /api/v1/youcart/admin/categorie | amministratore |
| PUT | /api/v1/youcart/admin/categorie/{id} | amministratore |
| DELETE | /api/v1/youcart/admin/categorie/{id} | amministratore |
Magazzino
| Metodo | Percorso | Accesso |
|---|---|---|
| GET | /api/v1/youcart/admin/magazzini | amministratoreda Premium |
| POST | /api/v1/youcart/admin/magazzini | amministratoreda Premium |
| GET | /api/v1/youcart/admin/giacenze | amministratoreda Premium |
| GET | /api/v1/youcart/admin/magazzino/movimenti | amministratoreda Premium |
| POST | /api/v1/youcart/admin/magazzino/movimenti | amministratoreda Premium |
| PUT | /api/v1/youcart/admin/magazzino/scorta | amministratoreda Premium |
Resi (cliente)
| Metodo | Percorso | Accesso |
|---|---|---|
| GET | /api/v1/youcart/rma | collegatoda Business |
| POST | /api/v1/youcart/rma | collegatoda Business |
| GET | /api/v1/youcart/rma/{id} | collegatoda Business |
| POST | /api/v1/youcart/rma/{id}/annulla | collegatoda Business |
| POST | /api/v1/youcart/rma/{id}/spedizione | collegatoda Business |
Resi (amministrazione)
| Metodo | Percorso | Accesso |
|---|---|---|
| POST | /api/v1/youcart/admin/rma/{id}/accetta | amministratoreda Business |
| POST | /api/v1/youcart/admin/rma/{id}/rifiuta | amministratoreda Business |
| POST | /api/v1/youcart/admin/rma/{id}/ricevi | amministratoreda Business |
| POST | /api/v1/youcart/admin/rma/{id}/ispeziona | amministratoreda Business |
| POST | /api/v1/youcart/admin/rma/{id}/risolvi | amministratoreda Business |
| POST | /api/v1/youcart/admin/rma/{id}/chiudi | amministratoreda Business |
Assistenza (cliente)
| Metodo | Percorso | Accesso |
|---|---|---|
| GET | /api/v1/youcart/assistenza | collegatoda Business |
| POST | /api/v1/youcart/assistenza | collegatoda Business |
| GET | /api/v1/youcart/assistenza/{id} | collegatoda Business |
| POST | /api/v1/youcart/assistenza/{id}/messaggi | collegatoda Business |
| PUT | /api/v1/youcart/assistenza/{id}/stato | collegatoda Business |
Assistenza (amministrazione)
| Metodo | Percorso | Accesso |
|---|---|---|
| PUT | /api/v1/youcart/admin/assistenza/{id}/assegna | amministratoreda Business |
Account clienti
| Metodo | Percorso | Accesso |
|---|---|---|
| GET | /api/v1/youcart/admin/account-clienti | amministratore |
| PUT | /api/v1/youcart/admin/account-clienti/{id}/sospendi | amministratore |
Chiavi API
| Metodo | Percorso | Accesso |
|---|---|---|
| GET | /api/v1/youcart/admin/chiavi-api | amministratore |
| POST | /api/v1/youcart/admin/chiavi-api | amministratore |
| DELETE | /api/v1/youcart/admin/chiavi-api/{id} | amministratore |
Pagamenti online
| Metodo | Percorso | Accesso |
|---|---|---|
| GET | /api/v1/youcart/admin/pagamenti/configurazione | amministratore |
| PUT | /api/v1/youcart/admin/pagamenti/configurazione | amministratore |
| POST | /api/v1/youcart/ordini/{id}/paga | collegato |
| POST | /api/v1/youcart/pagamenti/notifica | pubblico |
| GET | /api/v1/youcart/pagamenti/notifica | pubblico |
Domini admin
| Metodo | Percorso | Accesso |
|---|---|---|
| GET | /api/v1/youcart/admin/domini | amministratore |
| POST | /api/v1/youcart/admin/domini | amministratore |
| POST | /api/v1/youcart/admin/domini/{id}/verifica | amministratore |
| DELETE | /api/v1/youcart/admin/domini/{id} | amministratore |
Serve una mano con l'integrazione?
Scrivici con il caso d'uso: ti diciamo quali endpoint servono e se qualcosa va costruito.