Precios Avanzados
Tabla de Contenidos
1. Introducción y Arquitectura
El sistema de Precios B2B de Orangecat es una arquitectura modular, escalable y flexible diseñada para manejar escenarios de precios complejos en Magento 2. Sigue un Patrón de Orquestador donde un módulo central (Prices) actúa como punto de entrada, mientras que módulos independientes (PricesList, PricesCompany) proporcionan la lógica específica.
Cómo funciona
El módulo principal define una interfaz PriceCalculatorInterface. Cada módulo de
implementación inyecta su calculador en un CalculatorPool. Cuando Magento solicita un
precio, el Orquestador recorre estos calculadores para determinar el precio final, garantizando una
integración perfecta y una fácil extensibilidad.
2. Orangecat Prices (Core)
El módulo Orangecat Prices es el orquestador de todo el ecosistema de precios. Intercepta la generación de precios nativa de Magento y delega el cálculo en los módulos registrados.
2.1. Menú de Administración
Accede a la configuración de precios a través de la barra lateral del Admin de Magento en Orangecat > Prices.
Figura 2.1: Menú de Precios en el Admin de Magento
2.2. Ajustes Generales
Configura el comportamiento principal del motor de precios en Tiendas > Configuración > Orangecat > Prices.
Figura 2.2: Ajustes de Precios Core
Los ajustes clave en el orquestador incluyen:
- Modo de Resolución de Conflictos: Si múltiples módulos de precios devuelven un
precio, ¿cuál gana?
- Precio más bajo: El mejor para el cliente.
- Prioridad: Sigue el orden de ejecución de los módulos (Último módulo ejecutado).
3. Orangecat Prices Listing
El módulo Orangecat Prices Listing permite a los administradores crear Listas de Precios globales. Estas listas contienen precios de productos específicos o descuentos y se pueden asignar a múltiples empresas simultáneamente.
3.1. Configuración General
Ajustes que se encuentran en Tiendas > Configuración > Orangecat > Prices List:
- Activar Listas de Precios: Activa o desactiva la funcionalidad de Listas de Precios B2B personalizadas.
- Modo de Resolución: Elige cómo se aplicarán los descuentos:
- Cascada: Aplica los descuentos secuencialmente.
- Peso: Utiliza una lógica ponderada para la resolución.
3.2. Gestión de Listas de Precios
La vista de cuadrícula proporciona una visión general de todas las listas de precios activas e inactivas en el sistema.
Figura 3.1: Cuadrícula de Gestión de Listas de Precios
3.2. Editando una Lista de Precios
Al editar una lista, puedes definir su ámbito y atributos básicos.
Figura 3.2: Atributos Generales de la Lista de Precios
3.3. Selección de Productos y Precios
Selecciona productos para incluir en la lista y aplica reglas de precios personalizadas (Precio Fijo o Porcentaje de Descuento).
Figura 3.3: Seleccionando Productos para la Lista
Figura 3.4: Definiendo Precios de Productos
3.4. Asociando Listas de Precios a Empresas
Una vez creada una Lista de Precios, se puede asociar con una o varias empresas desde el Admin de Magento. Esto permite que esas empresas se beneficien de las reglas de precios definidas.
Figura 3.5: Asociando Listas de Precios con una Empresa
3.5. Importando Listas de Precios
Para facilitar las actualizaciones masivas, el módulo incluye una función de importación que permite a los administradores subir listas de precios y sus correspondientes precios utilizando archivos CSV.
Figura 3.6: Interfaz de Importación de Listas de Precios
3.6. Documentación de la API
El módulo expone una API REST completa para integraciones externas (ERP/CRM).
GET /search (Buscar Listas de Precios)
POST / (Añadir Lista de Precios)
PUT /{id} (Actualizar Lista de Precios)
GET /{id} (Obtener Detalles de la Lista de Precios)
GET /code/{code} (Obtener por Código)
DELETE /{id} (Eliminar Lista de Precios)
POST /prices (Añadir Precios a la Lista)
GET /prices/{id} (Obtener Precios de la Lista)
POST /associate-company (Asignar a Empresa)
4. Orangecat Prices Company
El módulo Orangecat Prices Company proporciona el nivel más alto de especificidad al permitir sobrescribir precios dedicados a una sola empresa. Esto tiene prioridad sobre las listas de precios globales.
4.1. Configuración General
Ajustes que se encuentran en Tiendas > Configuración > Orangecat > Prices Company:
- Activar Precios de Empresa Personalizados: Activa o desactiva la funcionalidad de precios por empresa.
- Estrategia de Resolución de Precios: Si un producto ya tiene un precio dinámico (por
ejemplo, de una Lista de Precios), ¿debería este Precio de Empresa acumularse encima o sobrescribir
contra el Precio Base del catálogo?
- Sobrescribir: Aplicar contra el Precio Base del Catálogo.
- Acumular: Aplicar encima de descuentos anteriores.
4.2. Gestión de Precios de Empresa
Figura 4.1: Cuadrícula de Precios Específicos por Empresa
4.2. Asignando Precios a Empresas
Navega a la pantalla de edición de la empresa para gestionar sus reglas de precios exclusivas.
Figura 4.2: Gestionando Precios para una Empresa Específica
Figura 4.3: Seleccionando Productos Exclusivos
Figura 4.4: Aplicando Tarifas Específicas de Empresa
4.3. Importando Precios de Empresa
Los administradores pueden importar masivamente precios de productos para empresas específicas a través de la herramienta de importación, asegurando una rápida sincronización con los datos de precios externos.
Figura 4.5: Interfaz de Importación de Precios de Empresa
4.4. Documentación de la API
Endpoints REST para gestionar mapeos directos de precios de empresa a producto.
GET /search (Buscar Precios de Empresa)
POST /add (Añadir Precio a Empresa)
GET /price/{companyId}/{sku} (Obtener Precio Específico)
DELETE /company/{companyId} (Eliminar todos los precios de la empresa)
DELETE /sku/{sku} (Eliminar SKU de todas las empresas)