TracePass
Riferimento

Prodotti

Il livello del catalogo — prodotti, immagini, lotti. Un prodotto può avere molti passaporti (uno per unità serializzata).

POST/api/v1/products

Creare un prodotto

Crea un prodotto. Il template di categoria viene risolto automaticamente dallo slug `category` — deve corrispondere a una categoria preconfigurata (es. `batteries`, `textiles`, `jewelry`). Le stringhe model sono univoche all'interno dello spazio di lavoro.

GET/api/v1/products/{id}

Leggere un singolo prodotto

Legge un prodotto per ID. Restituisce il documento completo, inclusi i valori predefiniti dei campi, gli URL delle immagini, il riferimento al template e il `passportCount` corrente. Conta come una lettura v1.

GET/api/v1/products

Elencare i prodotti

Elenco paginato di ogni prodotto posseduto dallo spazio di lavoro, ordinato per `createdAt` decrescente. Dimensione della pagina limitata a 100. Filtrate per slug di categoria, status (`active` / `archived`), oppure con una ricerca a testo libero su nome + model.

PATCH/api/v1/products/{id}

Aggiornare un prodotto

Applica una patch a uno o più campi del prodotto. Inviate solo le chiavi che volete modificare — i campi omessi restano invariati. La semantica dell'intero array su `imageUrls` è intenzionale: il vostro CMS è l'insieme canonico delle immagini, quindi un PATCH con `imageUrls: ["a","b"]` sostituisce ciò che era presente. Per aggiungere una singola immagine senza riscrivere l'elenco, usate invece l'endpoint di caricamento multipart.

POST/api/v1/products/{id}/images

Caricare un'immagine del prodotto

Carica un singolo file immagine (multipart/form-data, nome del campo `file`) e lo aggiunge in coda all'array `imageUrls` del prodotto. Usatelo quando non avete pronto un URL del CDN — l'immagine finisce nel nostro bucket R2 e l'URL pubblico viene restituito nella risposta.