Recommendations
dc-wl-groceries-core-recommendations Servicio responsable de las recomendaciones de productos. Actúa como proxy hacia un proveedor externo de recomendaciones y expone APIs gRPC + grpc-gateway para: - Productos frecuentes: productos que el usuario compra habitualmente, basado en historial de compras. - Bestsellers: productos más vendidos del catálogo, sin personalización. - Productos similares: productos relacionados a un SKU dado. - Productos elegidos (Pensados para ti): recomendaciones personalizadas cruzando userId con un conjunto de SKUs.
Migración a la arquitectura White Label completada: ahora sigue la estructura de cuatro capas, expone gRPC/Protobuf con grpc-gateway, y usa el modelo multi-tenant por FX en lugar de HTTP/Gin con structs propios.
Dominio
1Servicios en dominios compartidos
3Estos servicios operan en al menos uno de los mismos dominios. Si hay demasiados, es otra señal de que los límites de dominio no están bien definidos.
Servicio unificado de catálogo. Consolida en un solo microservicio, un solo contrato y una sola capa de cálculo de precios lo que antes vivía repartido entre [Product Search (legacy)](/catalog/services/dc-wl-groceries-core-search) y [Product Detail (legacy)](/catalog/services/dc-wl-groceries-core-products). Expone 21 RPCs gRPC + grpc-gateway HTTP, API-first sobre Protobuf, para: - Búsqueda/discovery: keyword search, navegación por categoría/colección, facets, autocomplete, autosuggest, productos relacionados, top searches (Constructor.io con fallback a VTEX/VIS). - Producto/detalle: obtención por id/sku/slug/ean (individual y batch), con resolución in-process del producto base (VTEX Catalog) más overlay de stock/precio en tiempo real (VIS). - Enriquecimiento por tenant: productType/food, PPUM formateado, showAddToCart, tags de promoción, info-tags, display ads (CMedia).
⚠ Construido y validado a paridad en vivo contra los dos servicios legacy en los 4 tenants activos (`ar-jumbo`, `ar-disco`, `co-jumbo`, `br-prezunic`), con un harness de paridad offline reproducible. Todavía en pruebas: hay que acelerar la validación para completar la migración y deprecar Search y Product legacy. Reduce ~44% del código de producción y pasa de operar 2 servicios a 1, eliminando el riesgo de que la lógica de precio/medida diverja entre búsqueda y detalle.
Servicio legado responsable de la ficha de producto. Expone APIs HTTP para obtener información detallada de un producto, utilizando un modelo de datos muy similar al de Search, pero enriquecido con: - Detalles adicionales del producto. - Ingredientes y atributos específicos. - Recomendaciones de productos relacionados. - Información extendida para la pantalla de detalle.
⚠ La discusión sobre desmantelarlo y consolidar con Search ya se resolvió: el nuevo microservicio [Catalog](/catalog/services/dc-wl-groceries-core-catalog) (`dc-wl-groceries-core-catalog`) unifica ambas responsabilidades. Catalog está validado a paridad contra este servicio en los 4 tenants activos y en fase de pruebas antes del cutover; hay que acelerar esa validación. Una vez completada, este servicio se depreca.
Servicio legado responsable de la búsqueda y descubrimiento de productos. Expone APIs gRPC/HTTP para: - Top searches y sugerencias de búsqueda. - Autocomplete y autosuggest combinando términos y productos relacionados. - Búsqueda de productos por keyword, categoría y colección. - Obtención de facets y opciones de filtrado para resultados de búsqueda. - Información de paginación, ordenación y filtros aplicados sobre los resultados.
⚠ La discusión sobre consolidar con Product ya se resolvió: el nuevo microservicio [Catalog](/catalog/services/dc-wl-groceries-core-catalog) (`dc-wl-groceries-core-catalog`) unifica ambas responsabilidades. Catalog está validado a paridad contra este servicio en los 4 tenants activos y en fase de pruebas antes del cutover; hay que acelerar esa validación. Una vez completada, este servicio se depreca.