Saltar al contenido principal

Productos

Listar productos

GET /api/v1/catalog/products

Parámetros:

NombreTipoDescripción
cursorstringCursor de paginación
limitintItems por página (default 25, máx 100)
filter[status]stringactive, draft, archived
filter[vendor]stringNombre del proveedor
sortstring-created_at, title, -price

Respuesta 200:

{
"data": [
{
"id": "uuid",
"title": "Polo Clásico",
"slug": "polo-clasico",
"status": "active",
"price": 4900,
"currency": "PEN",
"vendor": "Mi Marca",
"created_at": "2026-04-08T12:00:00Z"
}
],
"meta": { "pagination": { "cursor": "eyJ...", "has_next": true, "limit": 25 } }
}

Crear producto

POST /api/v1/catalog/products

{
"title": "Polo Clásico",
"slug": "polo-clasico",
"short_description": "Polo 100% algodón",
"price": 4900,
"currency": "PEN",
"status": "active",
"vendor": "Mi Marca"
}

Respuesta 201: objeto Product completo.


Obtener producto

GET /api/v1/catalog/products/:id


Actualizar producto

PUT /api/v1/catalog/products/:id

Mismos campos que crear. Omite los campos que no quieras cambiar.


Eliminar producto

DELETE /api/v1/catalog/products/:id

Respuesta 204 No Content


Gestionar variantes

Generar variantes desde opciones

POST /api/v1/catalog/products/:id/variants/generate

Genera automáticamente todas las combinaciones de opciones definidas.

Actualizar precio de variante

PATCH /api/v1/catalog/products/:id/variants/:variant_id

{ "price": 5500, "compare_at_price": 6000 }