Catálogo público
El catálogo público es la cara de lectura de la oferta de un sitio: productos y servicios con su precio, sus categorías, sus filtros y sus medidas, servidos por HTTP a quien pinte el sitio. No se usa para editar nada; la gestión vive en Portafolio. Sirve para que un sitio cliente arme listado, ficha y buscador sin tener la base de datos detrás.
Qué hace
Sección titulada «Qué hace»GET /api/catalog/productsdevuelve el listado paginado de la oferta activa.GET /api/catalog/products/{slug}da la ficha.GET /api/catalog/categoriesdevuelve el árbol conproducts_count, que cuenta oferta completa: productos y servicios.GET /api/catalog/filtersyGET /api/catalog/facetsdan los valores de atributo de variante y las facetas de medida y norma, con conteo cruzado.GET /api/catalog/storieslista las ofertas con video, ordenadas por cuándo se añadió el video.GET /api/catalog/product-viewsyGET /api/catalog/field-definitionssirven las vistas guardadas del catálogo y los campos personalizados filtrables.GET /api/manifestentrega el manifiesto del sitio, fuera del prefijocatalog.- Solo sale lo que tiene
is_activeencendido. Las ofertas espejo de los planes de Merez se excluyen porplan_idy, por si acaso, por las categorías reservadasplanesycreditos.
De qué depende
Sección titulada «De qué depende»- Del módulo
portfolio. La clave del módulo está en inglés; los endpoints siguen diciendocatalog. - De una credencial con la habilidad
catalog: token de Sitio osite_keyde ingesta. La compuerta no es middleware de ruta:PublicCatalogController::resolveSite()valida credencial, origen CORS y módulo, en ese orden. - El grupo
/api/catalog/*solo llevacors.catalog. El manifiesto añade un límite de 60 peticiones por minuto.
Qué pasa cuando se apaga
Sección titulada «Qué pasa cuando se apaga»El contenido no se borra: se deja de servir. Sin el módulo, la respuesta es 403 {"module":"portfolio"}. Si la credencial no trae la habilidad, 403 {"ability":"catalog"}. Si el origen no está autorizado, la petición no pasa. Al volver a encender el módulo, lo que estaba activo vuelve a salir con la misma URL y el mismo slug.
Ojo con la asimetría del panel: listar sin módulo devuelve 200 con lista vacía; escribir devuelve 403.
Límites y trampas
Sección titulada «Límites y trampas»- Dos nombres para dos guardas. Módulo
portfolio, habilidadcatalog. No es un descuido: renombrar la habilidad habría invalidado cada clave de ingesta ya emitida en producción. /filterssolo enseña un valor cuando más de una oferta lo usa. Con una sola referencia, el bloque de filtros aparece vacío y no es un fallo.- Apagar una ficha con
is_activela saca del listado, de la ficha, de las facetas y del conteo por categoría. La faceta no miente: se vacía. - Los planes de Merez no aparecen en el catálogo público aunque sean ofertas del sitio operador.
- La búsqueda se apoya en sinónimos y equivalencias de medida cargados desde el panel. Sin ese vocabulario, buscar por sinónimo no encuentra nada.
- El backend no genera
sitemap.xml: el sitio lo arma consumiendo estas respuestas.
Ver también
Sección titulada «Ver también»- Portafolio: donde se carga y se publica la oferta.
- Blog: el otro feed público, con su propia compuerta doble.
- Integraciones: credenciales por sitio y orígenes autorizados.