Este endpoint devuelve el producto completo, con soporte para proyecciones extendidas vía ?extend=. Esta página también cubre dos endpoints relacionados sobre un producto puntual: productos similares por embeddings y el resumen de variantes/opciones.
Úsalo cuando necesites:
Mostrar la ficha completa de un producto en tu aplicación.
Traer inventario por variante y ubicación sin una llamada adicional (extend=inventory).
Sugerir productos relacionados en una página de detalle.
Obtener solo la estructura de variantes/opciones de un producto sin traer el resto de sus campos.
extend acepta una lista separada por comas de campos adicionales, de un conjunto cerrado: variants, options, description, bindings, metadata, inventory, dimensions, seo, all.
extend=inventory y extend=all adjuntan stock real
Cuando incluyes inventory (o all) en extend, la respuesta adjunta el inventario disponible por variante y por ubicación — el stock de una variante no vive en el documento del producto (se resuelve por join contra la colección de inventario separada), así que sin este extend el campo de stock simplemente no aparece.
Para el modelo de datos completo del producto (todos los campos, sub-shapes de precio/costo/media/binding, y las divergencias conocidas entre el schema real y el tipo TS público), consulta el modelo de datos del producto.
A diferencia de otros dominios de la API de Fenicia, este endpoint responde el objeto Product directamente en la raíz del JSON — no envuelto en {data: ...}.
{ "code": "not-found", "message": "Product not found: CAM-ROJO-M" }
Permiso requerido:products:read
Los resultados usan búsqueda por embeddings con un umbral mínimo de similitud (minScore: 0.3) — productos por debajo de ese umbral no aparecen, aunque pertenezcan a la misma categoría. El 404 se dispara cuando el mensaje de error interno contiene el texto "not found" (por ejemplo, cuando el sourceSku no existe).