/api/v1/productsСъздаване на продукт
Създава продукт. Шаблонът на категорията се резолвира автоматично от slug `category` — трябва да съответства на seeded категория (напр. `batteries`, `textiles`, `jewelry`). Model низовете са уникални в работното пространство.
Брои се като едно v1 записване. Поддържа Idempotency-Key. Незадължителен `imageUrls` приема масив от публични HTTPS URL-и (макс. 20 на продукт, макс. 2048 знака всеки); CDN на клиента остава каноничен и TracePass не ги re-host-ва. Използвайте multipart upload endpoint, когато нямате CDN URL-и.
Хедъри
- Authorizationзадължително
string
`Bearer <api-key>`.
e.g. Bearer tp_REDACTED_xxxxxxxxxxxx
- Idempotency-Key
string
UUID v4 за логическа операция.
Полета в тялото
- nameзадължително
string (1-200)
Показвано име.
e.g. Li-Ion 48V Battery Pack
- modelзадължително
string (1-100)
Идентификатор на модел. Трябва да е уникален в работното пространство.
e.g. BP-48V-100
- categoryзадължително
string
Seeded slug на категорията.
e.g. batteries
- description
string (≤ 2000)
Незадължително описание.
- defaultFieldValues
object
Seed стойности, прилагани към всеки паспорт, създаден от този продукт.
- imageUrls
string[] (max 20)
Публични HTTPS URL-и за изображения.
- sourceLocale
string (ISO 639-1)
Локал на `name` и `description`.
Заявка
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
}
}'Отговор
{
"_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"
}