TracePass
Prodotti

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.

POST/api/v1/products
Scarica OpenAPI 3.1
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.

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 <api-key>`.

    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 — `batteries`, `textiles`, `jewelry`, `electronics`, `furniture`, `chemicals`, `packaging`, `toys`, `fmcg`, `tyres`, `iron-steel`, `construction`.

    e.g. batteries

  • 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.

  • 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 `name` e `description`. Per impostazione predefinita è il `defaultSourceLocale` del vostro spazio di lavoro (di solito `en`).

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": "batteries",
    "defaultFieldValues": {
      "battery_chemistry": "lithium-ion",
      "nominal_voltage": 48
    }
  }'

Risposta

{
  "_id": "6650a1b2c3d4e5f6a7b8c9d0",
  "name": "Li-Ion 48V Battery Pack",
  "model": "BP-48V-100",
  "category": "batteries",
  "templateId": "6650a1b2c3d4e5f6a7b8c9d1",
  "defaultFieldValues": { "battery_chemistry": "lithium-ion", "nominal_voltage": 48 },
  "passportCount": 0,
  "status": "active",
  "createdAt": "2026-05-09T10:00:00.000Z"
}