/api/v1/productsCreare un prodotto
Crea un prodotto. Il template di categoria viene risolto automaticamente dallo slug category — deve corrispondere a una categoria preconfigurata (es. battery, textile, jewelry). Le stringhe model sono univoche all'interno dello spazio di lavoro.
Conta come una scrittura v1. Rispetta Idempotency-Key. Il campo opzionale imageUrls accetta un array di URL HTTPS pubblici (max 20 per prodotto, max 2048 caratteri ciascuno); il CDN del cliente rimane canonico e TracePass non lo ri-pubblica. Usate l'endpoint di caricamento multipart quando non avete pronti gli URL del CDN.
Header
- Authorizationobbligatorio
string
Bearer <token>— una chiave APItp_(Developer → API Keys; più semplice, per server-to-server) oppure un access token OAuth 2.0 (Developer → OAuth Apps; per app autorizzate dall'utente, scoped e revocabili). La pagina Authentication contiene il flusso OAuth completo e l'elenco degli scopes.e.g. Bearer tp_REDACTED_xxxxxxxxxxxx
- Idempotency-Key
string
UUID v4 per operazione logica.
Campi del corpo
- nameobbligatorio
string (1-200)
Nome visualizzato.
e.g. Li-Ion 48V Battery Pack
- modelobbligatorio
string (1-100)
Identificatore del modello. Deve essere univoco all'interno del vostro spazio di lavoro.
e.g. BP-48V-100
- categoryobbligatorio
string
Slug della categoria preconfigurata —
battery,textile,jewelry,electronics,furniture,detergents,paints-coatings,packaging,toys,fmcg,tyres,steel,construction.e.g. battery
- description
string (≤ 2000)
Descrizione opzionale.
- defaultFieldValues
object
Valori iniziali applicati a ogni passaporto creato da questo prodotto. La chiave di ogni voce deve esistere nel template di categoria. Ogni valore è verificato rispetto al template: una stringa numerica in un campo numerico viene salvata come numero, e qualsiasi altro valore che il template rifiuta restituisce 400
Invalid default field valuescondetails. - imageUrls
string[] (max 20)
URL HTTPS pubblici di immagini. Sostituisce l'array esistente in PATCH; aggiunge in coda sull'endpoint di caricamento multipart.
- sourceLocale
string (ISO 639-1)
Locale di
nameedescription. Per impostazione predefinita è ildefaultSourceLocaledel vostro spazio di lavoro (di solitoen).
Richiesta
curl -sS https://app.tracepass.eu/api/v1/products \
-H "Authorization: Bearer tp_REDACTED_xxxxxxxxxxxx" \
-H "Idempotency-Key: 7b4f1e2c-9a3d-4e5b-8c1a-2d3e4f5a6b7c" \
-H "Content-Type: application/json" \
-d '{
"name": "Li-Ion 48V Battery Pack",
"model": "BP-48V-100",
"category": "battery",
"defaultFieldValues": {
"batteryChemistry": "NMC",
"nominalVoltage": 48
}
}'Risposta
{
"_id": "6650a1b2c3d4e5f6a7b8c9d0",
"name": "Li-Ion 48V Battery Pack",
"model": "BP-48V-100",
"category": "battery",
"templateId": "6650a1b2c3d4e5f6a7b8c9d1",
"defaultFieldValues": { "batteryChemistry": "NMC", "nominalVoltage": 48 },
"passportCount": 0,
"status": "active",
"createdAt": "2026-05-09T10:00:00.000Z"
}