PrestaShop Validación condicional de pedidos

La validación condicional de pedidos bloquea o avisa en el checkout cuando el carrito incumple tus reglas. Define condiciones de productos, cantidades, totales, clientes y envío, y muestra motivos claros en carrito y pedido. Incluye simulador y registro de auditoría para probar políticas antes de aplicarlas en tienda.

Główne zdjęcie produktu: Validación condicional de pedidos
129.00 €

Galeria 1/12

PrestaShop Control de Pedidos Avanzado

Este módulo PrestaShop de clase empresarial permite un control total del checkout, bloqueando pedidos que incumplen sus reglas de negocio. Permite definir políticas visuales con árboles de condiciones anidadas AND/OR ilimitadas, utilizando 55 campos para escenarios complejos (SKU incompatibles, MOQ incorrectos, restricciones geográficas o de pago). Ofrece acciones de bloqueo estricto o advertencia, presentando motivos claros y comprensibles al cliente. Además, incluye un simulador de carrito, un panel de análisis detallado y un registro de auditoría completo. Prevenga pedidos problemáticos de manera proactiva con esta solución avanzada.

Versión del módulo: 1.1.0
Versiones de la tienda:
9.x8.x1.7.x
Funciona con ThirtyBees: No
Traducciones:
Este módulo: Validación condicional de pedidos está totalmente traducido al idioma: Slovenčina (sk)Este módulo: Validación condicional de pedidos está totalmente traducido al idioma: Magyar (hu)Este módulo: Validación condicional de pedidos está totalmente traducido al idioma: Čeština (cs)Este módulo: Validación condicional de pedidos está totalmente traducido al idioma: Srpski (rs)Este módulo: Validación condicional de pedidos está totalmente traducido al idioma: Français (fr)Este módulo: Validación condicional de pedidos está totalmente traducido al idioma: 中文 (zh)Este módulo: Validación condicional de pedidos está totalmente traducido al idioma: Русский (ru)Este módulo: Validación condicional de pedidos está totalmente traducido al idioma: Norsk (no)Este módulo: Validación condicional de pedidos está totalmente traducido al idioma: Български (bg)Este módulo: Validación condicional de pedidos está totalmente traducido al idioma: Íslenska (is)Este módulo: Validación condicional de pedidos está totalmente traducido al idioma: Polski (pl)Este módulo: Validación condicional de pedidos está totalmente traducido al idioma: Slovenščina (si)Este módulo: Validación condicional de pedidos está totalmente traducido al idioma: हिन्दी (hi)Este módulo: Validación condicional de pedidos está totalmente traducido al idioma: Lietuvių (lt)Este módulo: Validación condicional de pedidos está totalmente traducido al idioma: Svenska (sv)Este módulo: Validación condicional de pedidos está totalmente traducido al idioma: Українська (ua)Este módulo: Validación condicional de pedidos está totalmente traducido al idioma: 日本語 (ja)Este módulo: Validación condicional de pedidos está totalmente traducido al idioma: Ελληνικά (el)Este módulo: Validación condicional de pedidos está totalmente traducido al idioma: Eesti (et)Este módulo: Validación condicional de pedidos está totalmente traducido al idioma: Deutsch (de)Este módulo: Validación condicional de pedidos está totalmente traducido al idioma: Nederlands (nl)Este módulo: Validación condicional de pedidos está totalmente traducido al idioma: Dansk (da)Este módulo: Validación condicional de pedidos está totalmente traducido al idioma: English (en)Este módulo: Validación condicional de pedidos está totalmente traducido al idioma: Română (ro)Este módulo: Validación condicional de pedidos está totalmente traducido al idioma: Italiano (it)Este módulo: Validación condicional de pedidos está totalmente traducido al idioma: Bahasa Indonesia (id)Este módulo: Validación condicional de pedidos está totalmente traducido al idioma: Latviešu (lv)Este módulo: Validación condicional de pedidos está totalmente traducido al idioma: Português (pt)Este módulo: Validación condicional de pedidos está totalmente traducido al idioma: Hrvatski (hr)Este módulo: Validación condicional de pedidos está totalmente traducido al idioma: Suomi (fi)Este módulo: Validación condicional de pedidos está totalmente traducido al idioma: Español (es)

Bloquea pedidos que incumplen tus reglas.
Políticas visuales. Motivos claros. Auditoría completa.

PrestaShop aceptará sin problema cualquier carrito que aún tenga stock - incluso cuando la combinación sea ilegal para tu negocio: SKU incompatibles, packs de MOQ incorrectos, pedidos de invitados por encima de un límite, países restringidos o métodos de pago que nunca deberían combinarse. Validación condicional de pedidos es software de clase enterprise para el control del checkout: políticas visuales, árboles de condiciones anidadas AND/OR con agrupación ilimitada, acciones de bloqueo o advertencia, banners de motivos orientados al cliente, simulador de carrito, panel de analítica y un registro de auditoría completo. Combina condiciones libremente - anida grupos, une elementos hermanos con AND u OR, apila varias reglas por política y varias políticas por carrito - y en la práctica obtienes un margen prácticamente ilimitado para aplicar reglas de pedido avanzadas. Sin código. Sin trucos de plantilla. Un único motor que detiene los carritos problemáticos antes de que se conviertan en pedidos problemáticos.

PrestaShop 9, 8, 1.7
55 campos de condición
Bloquear o advertir en el checkout
Simulador + registro de auditoría

Qué ofrece Validación condicional de pedidos

Capacidades que convierten «esperar que lean las FAQ» en un control gestionado del checkout. Creado como software de clase enterprise para tiendas que necesitan reglas de pedido reales - no un único importe mínimo de carrito. El poder es combinatorio: grupos, uniones AND/OR, políticas y reglas se multiplican en programas prácticamente ilimitados.

Políticas de bloqueo o advertencia

Detención total del checkout (filtra opciones de pago, bloquea la finalización del pedido) o advertencia suave con un banner claro. Políticas con nombre, ordenación por prioridad, detener en la primera coincidencia cuando las campañas no deben solaparse. Varias reglas por política, cada una con su propio código, acción y mensaje multilingüe.

Otros: un único valor mínimo de carrito global

Constructor de condiciones anidadas AND/OR

55 campos con grupos de arrastrar y soltar. Cada elemento hermano tiene su propia unión AND u OR - así (A AND B) OR C es un árbol real, no una lista aplanada. Anidación ilimitada para una lógica de merchandising que coincide con cómo piensan realmente los equipos de operaciones.

Otros: comprobaciones fijas en la plantilla

Motivos comprensibles para el cliente

Los clientes ven tu mensaje más una lista numerada de Motivos con nombres de producto y cantidades en negrita - idéntica en el carrito y en el checkout. La deduplicación difusa mantiene la lista limpia cuando se activan varias políticas.

Otros: fallo silencioso o error impreciso

Simulador de carrito

Elige un carrito y un cliente reales. Consulta las políticas que coinciden, bloqueo vs. advertencia, códigos de regla y mensajes exactos antes de afectar a ningún comprador real. Comparte el mismo evaluador que producción.

Otros: probar en producción y rezar

Panel de analítica

Tarjetas KPI para invocaciones de reglas, bloqueos de checkout y pedidos afectados. Tendencias diarias / semanales / mensuales con Chart.js y un gráfico circular por código de regla - para que merchandising vea qué se dispara realmente.

Otros: sin visibilidad tras la configuración

Registro de auditoría completo

Evaluaciones de validación, bloqueos, simulaciones, CRUD/activación/duplicado/importación/exportación de políticas y cambios de configuración. Actor, ID de carrito, código de regla, acción e instantánea JSON. Exportación desde el controlador de auditoría completo.

Otros: checkout como caja negra

Importar, exportar, duplicar

Descarga cualquier política como JSON, súbela a un entorno de pruebas, duplícala con un clic. Mueve árboles de MOQ e incompatibilidad entre tiendas sin reconstruirlos a mano.

Otros: reconstruir manualmente cada temporada

Bloqueo estricto de pago

Cuando se bloquea, las opciones de pago se vacían y las protecciones JS del front impiden continuar / finalizar el pedido. La validación del lado del servidor sigue ejecutándose antes de crear el pedido - defensa en profundidad.

Otros: solo un banner, el pedido pasa igualmente

Umbrales conscientes de la moneda

Las condiciones de importe se configuran en la moneda predeterminada y se convierten a la moneda del carrito para la evaluación y los motivos orientados al cliente - un comportamiento multidivisa coherente.

Otros: números en bruto, moneda incorrecta

Combina condiciones. Agrúpalas. Apila políticas.

Esto no es un único importe mínimo de pedido para toda la tienda. Es un motor de validación combinatorio - y eso es lo que desbloquea reglas de checkout de nivel enterprise que el PrestaShop nativo no puede alcanzar.

Condiciones sobre condiciones. Árboles AND/OR anidados con uniones por cada elemento hermano - así (A AND B) OR C se puede expresar. Profundidad ilimitada para la lógica de merchandising.
Grupos sobre grupos. Cada grupo es un paréntesis lógico. Pon las reglas de MOQ en un grupo, las reglas geográficas en otro, únelas con OR en la raíz - o con AND para condiciones más estrictas.
Reglas sobre reglas. Varias reglas de validación por política: bloquear pares incompatibles, advertir por bajo gasto VIP, exigir múltiplos de pack - cada una con código, acción y mensaje.
Políticas sobre políticas. Varias políticas activas en el mismo carrito. Ordenación por prioridad. Detener en la primera coincidencia cuando necesitas exclusividad. En caso contrario, se combinan los motivos en un único banner.

55 campos de condición x 14 operadores x grupos anidados ilimitados x políticas y reglas ilimitadas = en la práctica, posibilidades prácticamente ilimitadas.

Árboles de condiciones anidadas AND/OR

Las listas planas de tipo «si esto Y aquello» fallan en el momento en que merchandising necesita lógica real. Validación condicional de pedidos almacena las condiciones como un árbol de grupos, no una única lista de comprobación. Cada grupo es un paréntesis lógico: las condiciones y los grupos anidados en su interior se evalúan juntos. Entre cada elemento hermano - ya sea ese hermano una condición hoja u otro grupo - eliges AND u OR. Los grupos se anidan sin límites artificiales de profundidad, de modo que expresiones como (Producto A en el carrito AND Producto B en el carrito) OR (Cliente invitado AND Total del carrito >= 200) son de primera clase, no trucos.

Cómo funciona el agrupamiento. El grupo raíz contiene la lógica de nivel superior. Añade condiciones como hojas; añade un grupo anidado para un nuevo paréntesis lógico. Los tiradores de arrastre reordenan los hermanos o mueven nodos entre grupos. El selector de unión entre elementos alterna AND/OR por cada relación - el hermano nº 2 puede estar unido con OR al nº 3, mientras que el nº 3 está unido con AND al nº 4. El motor recorre el árbol recursivamente: cada grupo se reduce a verdadero/falso, y luego las uniones del padre combinan los resultados de los hijos.
AND frente a OR. AND significa que todos los operandos deben cumplirse. OR significa que al menos uno debe cumplirse. Combínalos: un OR externo acepta una vía VIP o una vía de alto gasto; los AND internos ajustan cada rama de forma independiente.
Reevaluación en vivo. El árbol se almacena como JSON estructurado en la política y se vuelve a comprobar en cada mutación del carrito - añadir producto, cambiar cantidad, iniciar sesión, cambiar dirección, elegir transportista o pago. El simulador y el checkout del front comparten el mismo evaluador.

Tres patrones lógicos que puedes construir visualmente

Par incompatible

Árbol: (Producto 12 en el carrito AND Producto 34 en el carrito). En palabras simples: Bloquear solo cuando ambos SKU aparecen juntos.

VIP o alto gasto

Árbol: (Grupo en VIP) OR (Total del carrito >= 500 AND Con sesión iniciada = Sí). Advertencia suave a menos que sea VIP o de gasto elevado.

Geo + MOQ

Árbol: (País de entrega not in UE) OR (Categoría en el carrito AND Cantidad de categoría múltiplo de 6). Dos reglas de negocio, una política.

Uniones AND/OR por cada elemento hermano x anidación ilimitada x 55 campos = lógica booleana tan expresiva como una hoja de cálculo, tan legible como un diagrama de flujo.

Gamechanger

Barrera de checkout condicional y visual - detén carritos problemáticos con motivos que los clientes entienden

La mayoría de las tiendas gestionan las reglas de pedido de una de tres formas rotas: unas FAQ que nadie lee, un módulo de carrito mínimo que solo comprueba una cifra, o PHP a medida que se rompe en la siguiente actualización. Ninguna combina segmentación profunda y anidada, comunicación clara con el cliente y aplicación auditable en un solo lugar.

Paso 1 - CUÁNDO intervenir

Árbol de condiciones visual con grupos AND/OR anidados: productos, múltiplos de MOQ, totales, peso, grupos, invitado/con sesión, país, zona, código postal, transportista, pago, historial de pedidos, dominio de correo, día/hora/fecha. Las reglas se disparan solo cuando el árbol coincide.

Paso 2 - QUÉ hacer

Cada regla elige bloquear o advertir, un código de regla estable para la analítica, prioridad y un mensaje multilingüe. El motor añade Motivos estructurados con nombres de producto y cantidades en negrita.

Paso 3 - CÓMO lo demuestras

Simulador sobre carritos reales. KPI en el panel. Registro de auditoría con instantáneas JSON. Las opciones de pago se eliminan al bloquear - no solo un recuadro rojo.

Por qué importa: No confías en que los clientes lean las normas de empaquetado, y no mantienes personalizaciones de plantilla frágiles. Utilizas software de clase enterprise - un motor de validación condicional donde las condiciones se anidan con AND/OR, las acciones bloquean o advierten, y cada decisión puede simularse, medirse y auditarse.

20 casos de uso reales

Cada ejemplo es una política que puedes construir con grupos anidados. Bloquea cuando el cumplimiento es imposible; advierte cuando solo necesitas informar. Los motivos se muestran en el carrito y en el checkout.

1. Pares de productos incompatibles

Camiseta estampada AND descarga vectorial en el mismo carrito (grupo AND). Bloquea y lista ambos nombres.

2. Múltiplos de cantidad de pack (MOQ)

La cantidad del producto debe ser múltiplo de 4. Cantidad 3 bloquea con un motivo claro sobre el tamaño del pack.

3. Abuso de envío gratuito

(Envío = 0) AND (Total del carrito < 50). Protege los umbrales de envío gratuito.

4. Límite de gasto para invitados

Invitado = Sí AND Total del carrito >= 200. Fuerza el inicio de sesión o bloquea pedidos anónimos de alto valor.

5. Cumplimiento solo en la UE

País de entrega not in lista UE. Bloquea destinos no enviables en una etapa temprana.

6. Contra reembolso prohibido en carritos pesados

Pago = cashondelivery AND peso >= 20. Evita rechazos del transportista en el checkout.

7. Mínimo de categoría de muestras

Categoría in Muestras AND cantidad mínima de categoría 3. Evita el desperdicio de un solo sobre.

8. Exclusividad de marca

Fabricante A en el carrito AND Fabricante B en el carrito. Exclusividad contractual.

9. Abuso de cupón de primer pedido

Primer pedido = No AND cupón aplicado. Protege los códigos de adquisición.

10. Solo correo corporativo (B2B)

Grupo = B2B AND dominio de correo not contains gmail. Higiene del canal mayorista.

11. División virtual + físico

Tiene virtual AND Requiere envío. Evita pesadillas de cumplimiento mixto.

12. Hora límite de personalización

Tiene personalizado AND Hora >= 14. Advierte que el grabado se envía al día siguiente.

13. Lista negra de códigos postales

Código postal regex / starts with para islas remotas. Bloquea con una llamada a la acción de contacto.

14. Transportista frente a peso

Transportista = locker AND peso > 5. El cliente cambia de transportista antes de pagar.

15. Cuenta nueva con gasto elevado

Antigüedad de la cuenta < 2 AND total >= 500. Patrón clásico de fraude detenido.

16. Cajas de proveedor

La cantidad del proveedor debe ser múltiplo de N. Aplicación de cartones en dropshipping.

17. Congelación de frescos en fin de semana

Categoría frescos AND día in [6,7]. Cocina cerrada los fines de semana.

18. Aviso suave para VIP

Grupo VIP AND total de productos < 80 - solo advertencia, checkout permitido.

19. Alcance multitienda

ID de tienda = outlet AND producto exclusivo - bloquea en el canal de descuento.

20. Bloqueo previo al lanzamiento

Producto en el carrito AND fecha < día de lanzamiento - bloquea carritos previos al lanzamiento.

Guía completa de funciones

Referencia en lenguaje sencillo para propietarios de tienda, equipos de operaciones y agencias. Software de clase enterprise - lo bastante profundo para reglas B2B y de marketplace, lo bastante claro para que las ediciones diarias de políticas nunca necesiten un desarrollador.

Políticas y reglas de validación

Una política es una campaña con nombre que tiene un árbol de condiciones (CUÁNDO) y una o varias reglas de validación (QUÉ). Políticas ilimitadas, ordenación por posición, activar/pausar individualmente. Cada regla: código de regla, acción (bloquear o advertir), prioridad, mensaje multilingüe.

Detener en la primera coincidencia finaliza tras la primera política que cumple. En caso contrario, todas las coincidencias aportan infracciones, ordenadas por prioridad en un único banner combinado para el cliente.

Constructor visual de condiciones (grupos + AND/OR)

Editor de árbol de arrastrar y soltar. Añade condiciones y grupos anidados. Entre hermanos, elige AND u OR. Así se construye (MOQ AND categoría) OR (restricción geográfica) sin escribir código. Selectores SearchTool para productos, categorías, fabricantes, proveedores, grupos, transportistas y monedas.

Consulta la enciclopedia siguiente para ver todos los campos. Consulta la sección de AND/OR anidados anterior para entender cómo funcionan las uniones y los paréntesis lógicos.

Mensajes al cliente, banners y bloqueos estrictos

Mensaje personalizado multilingüe + lista de Motivos estructurada. Un único banner en el carrito y en el checkout. Al bloquear: opciones de pago filtradas, finalización del pedido bloqueada, la validación previa al pedido del lado del servidor sigue ejecutándose.

Simulador, panel y auditoría

El simulador utiliza carritos reales. KPI del panel + Chart.js. El registro de auditoría registra automáticamente los cambios de estado de validación (no solo en modo debug), además de los eventos del ciclo de vida de las políticas con instantáneas JSON.

Importar / exportar / duplicar / preajustes

Políticas JSON portables. Duplicado con un clic. Los preajustes de condiciones aceleran los inicios habituales (invitado, virtual, carrito de alto valor, ...).

Cada campo de condición - explicado en detalle

Esta es la enciclopedia completa de campos disponibles en el constructor visual de condiciones. Cada campo puede usarse solo o dentro de grupos AND/OR anidados. Los umbrales de importe se configuran en la moneda predeterminada de la tienda y se convierten a la moneda del carrito en el momento de la evaluación y de la visualización. Los campos MOQ compuestos usan el formato id:umbral.

Importes y tamaño del carrito

Total del carrito (con impuestos)

Lee: Total bruto del carrito con impuestos en la moneda del carrito del cliente (el umbral se guarda en la moneda predeterminada, convertido en la evaluación).

Operadores: =, !=, <, <=, >=, >, between

Valor: Importe decimal en la moneda predeterminada de la tienda, por ejemplo 50 o el rango 50;150 para between.

Ejemplo: Bloquea cuando el total < 50 para proteger las promociones de envío gratuito.

Variantes: Combínalo con Invitado = Sí para límites anónimos de alto valor; con Tiene cupón para restringir el abuso de cupones.

Total de productos

Lee: Suma de las líneas de producto con impuestos, sin incluir el envío.

Operadores: =, !=, <, <=, >=, >, between

Valor: Importe en la moneda predeterminada.

Ejemplo: Advierte al grupo VIP cuando el total de productos < 80 (aviso suave hacia el umbral de regalo).

Variantes: Prefiere este campo frente al total del carrito cuando el envío no debe contar para la regla.

Total de productos (sin impuestos)

Lee: Subtotal neto de productos (sin impuestos).

Operadores: =, !=, <, <=, >=, >, between

Valor: Importe en la moneda predeterminada.

Ejemplo: B2B: exige productos netos >= 250 antes del checkout.

Variantes: Ideal para tiendas mayoristas que piensan en cifras sin IVA.

Coste de envío

Lee: Importe de envío actual en el carrito.

Operadores: =, !=, <, <=, >=, >, between

Valor: Importe monetario.

Ejemplo: Bloquea cuando envío = 0 AND total de productos < 40 (abuso de envío gratuito).

Variantes: Combínalo con Transportista seleccionado para detectar métodos gratuitos mal aplicados.

Cantidad total de productos

Lee: Suma de cantidades de todas las líneas del carrito.

Operadores: =, !=, <, <=, >=, >, between

Valor: Número entero.

Ejemplo: Advierte cuando la cantidad > 100 por riesgo de fraude / stock.

Variantes: Usa Productos únicos cuando lo importante es la variedad de SKU en lugar de las unidades.

Productos únicos en el carrito

Lee: Número de líneas de producto distintas (SKU).

Operadores: =, !=, <, <=, >=, >, between

Valor: Número entero.

Ejemplo: Bloquea packs de muestras a menos que los productos únicos >= 3.

Variantes: Útil para reglas de surtido independientes del tamaño del pack.

Peso del carrito (kg)

Lee: Peso total del carrito en kilogramos.

Operadores: =, !=, <, <=, >=, >, between

Valor: Decimal en kg.

Ejemplo: Bloquea el transportista tipo locker cuando el peso > 5.

Variantes: Combínalo con Transportista seleccionado OR Módulo de pago para límites logísticos.

Número de reglas de carrito

Lee: Cuántas reglas de carrito / cupones están aplicados actualmente.

Operadores: =, !=, <, <=, >=, >, between

Valor: Número entero.

Ejemplo: Bloquea la combinación cuando el número de reglas de carrito > 1.

Variantes: Combínalo con El carrito tiene un cupón aplicado para comprobaciones booleanas más simples.

Indicadores del carrito (booleanos)

Tiene al menos un producto virtual

Lee: Verdadero si hay algún producto virtual / descargable en el carrito.

Operadores: =, != (Sí/No)

Valor: Booleano Sí o No.

Ejemplo: Advierte cuando la mezcla virtual + físico requiere envío.

Variantes: Úsalo con Todos los productos son virtuales para carritos solo de descargas.

Todos los productos son virtuales

Lee: Verdadero solo cuando todas las líneas son virtuales.

Operadores: =, !=

Valor: Booleano.

Ejemplo: Omite los bloqueos relacionados con el envío cuando todo virtual = Sí.

Variantes: Opuesto de Tiene producto físico.

Tiene producto físico

Lee: Verdadero si existe al menos un producto que se pueda enviar.

Operadores: =, !=

Valor: Booleano.

Ejemplo: Exige un transportista cuando tiene físico = Sí.

Variantes: Combínalo con Requiere envío para restricciones de cumplimiento.

El carrito requiere envío

Lee: Indicador de PrestaShop: el carrito necesita dirección de entrega / transportista.

Operadores: =, !=

Valor: Booleano.

Ejemplo: Bloquea módulos de pago que no pueden enviar cuando requiere envío = Sí.

Variantes: Útil para casos límite de mezcla virtual+físico.

Tiene producto personalizado

Lee: Verdadero cuando hay presente una personalización de producto.

Operadores: =, !=

Valor: Booleano.

Ejemplo: Advierte después de las 14:00 que el grabado se envía al día siguiente.

Variantes: AND con Hora del día / Día de la semana para horas límite de producción.

El carrito tiene un cupón aplicado

Lee: Verdadero cuando hay al menos un descuento / regla de carrito aplicada.

Operadores: =, !=

Valor: Booleano.

Ejemplo: Bloquea los cupones de bienvenida cuando Primer pedido del cliente = No.

Variantes: Alternativa más simple a contar reglas de carrito.

Presencia en el catálogo

Producto en el carrito

Lee: Si los ID de producto seleccionados aparecen en el carrito.

Operadores: in, not in, =, !=

Valor: Uno o varios ID de producto mediante selección múltiple con SearchTool.

Ejemplo: in [camiseta, vector] con AND de dos condiciones de Producto - incompatibilidad clásica.

Variantes: not in para lista negra; combina varias condiciones de Producto con AND para pares.

Categoría en el carrito

Lee: Verdadero si algún producto pertenece a los ID de categoría seleccionados.

Operadores: in, not in, =, !=

Valor: ID de categorías.

Ejemplo: Categoría de alimentos frescos en el carrito AND día de fin de semana - bloquea.

Variantes: Las categorías anidadas dependen de cómo se asignan los productos en el catálogo.

Fabricante en el carrito

Lee: Presencia de marca / fabricante.

Operadores: in, not in, =, !=

Valor: ID de fabricantes.

Ejemplo: Marca A AND Marca B presentes a la vez - bloqueo por exclusividad contractual.

Variantes: Usa Cantidad de fabricante para el MOQ de una marca.

Proveedor en el carrito

Lee: Presencia de proveedor (dropshipping / almacén).

Operadores: in, not in, =, !=

Valor: ID de proveedores.

Ejemplo: Proveedor X presente - exige que la cantidad del proveedor sea múltiplo del pack por caja.

Variantes: Ideal para marketplaces con múltiples proveedores.

Cantidades y MOQ (compuesto id:umbral)

Cantidad de producto

Lee: Cantidad de un producto específico comparada con un umbral.

Operadores: =, !=, <, <=, >=, >, between

Valor: Compuesto productId:cantidad, por ejemplo 12:3.

Ejemplo: Cantidad del producto 12 >= 3 para elegibilidad de descuento por volumen (o bloqueo por debajo del MOQ).

Variantes: Prefiere los campos dedicados de mín/máx/múltiplo cuando la intención sea aplicar el MOQ.

Cantidad de categoría (suma)

Lee: Suma de cantidades de todas las líneas de una categoría.

Operadores: =, !=, <, <=, >=, >, between

Valor: categoryId:qty

Ejemplo: Suma de la categoría Muestras < 3 - advierte para añadir más muestras.

Variantes: Funciona en varios SKU dentro de la misma categoría.

Cantidad de fabricante (suma)

Lee: Suma de cantidad para un fabricante.

Operadores: =, !=, <, <=, >=, >, between

Valor: manufacturerId:qty

Ejemplo: Cantidad de marca > 50 - advertencia de fraude / asignación.

Variantes: Mismo patrón que la suma de categoría.

Cantidad de proveedor (suma)

Lee: Suma de cantidad para un proveedor.

Operadores: =, !=, <, <=, >=, >, between

Valor: supplierId:qty

Ejemplo: Umbral por caja del proveedor antes de permitir el checkout.

Variantes: Combínalo con La cantidad del proveedor debe ser múltiplo de.

Cantidad mínima de producto

Lee: Falla cuando la cantidad de producto está por debajo del mínimo requerido.

Operadores: Evaluador MOQ (mín)

Valor: productId:minQty

Ejemplo: Producto 12 mínimo 4 - no se pueden comprar 1-3 unidades.

Variantes: El motivo mostrado al cliente indica el mínimo requerido.

Cantidad máxima de producto

Lee: Falla cuando la cantidad de producto supera el máximo.

Operadores: Evaluador MOQ (máx)

Valor: productId:maxQty

Ejemplo: Límite de 20 por SKU y pedido para el control de asignación.

Variantes: Útil para lanzamientos y ediciones limitadas.

Cantidad mínima de categoría

Lee: La suma de la categoría debe ser al menos N.

Operadores: MOQ mín

Valor: categoryId:minQty

Ejemplo: Categoría mayorista mínimo 12 unidades.

Variantes: Se aplica a la suma de todos los productos de esa categoría.

Cantidad máxima de categoría

Lee: La suma de la categoría no debe superar N.

Operadores: MOQ máx

Valor: categoryId:maxQty

Ejemplo: Limita la categoría promocional a 6 por pedido de cliente.

Variantes: Combínalo con Grupo de cliente para límites B2C frente a B2B.

Cantidad mínima de fabricante

Lee: Suma de fabricante >= N.

Operadores: MOQ mín

Valor: manufacturerId:minQty

Ejemplo: El set inicial de la marca requiere 6 unidades.

Variantes: Misma familia que el MOQ de categoría.

Cantidad máxima de fabricante

Lee: Suma de fabricante <= N.

Operadores: MOQ máx

Valor: manufacturerId:maxQty

Ejemplo: Límite de asignación de 30 unidades de la marca X por pedido.

Variantes: OR con Invitado para límites anónimos más estrictos.

Cantidad mínima de proveedor

Lee: Suma de proveedor >= N.

Operadores: MOQ mín

Valor: supplierId:minQty

Ejemplo: Cantidad mínima de pedido de un socio dropshipping.

Variantes: Evita micropedidos no rentables a ese proveedor.

Cantidad máxima de proveedor

Lee: Suma de proveedor <= N.

Operadores: MOQ máx

Valor: supplierId:maxQty

Ejemplo: Limita la exposición de riesgo a un proveedor por carrito.

Variantes: Patrón de control de fraude / crédito.

La cantidad de producto debe ser múltiplo de

Lee: Falla cuando la cantidad de producto no es un múltiplo exacto de N (tamaño de pack).

Operadores: Múltiplo MOQ

Valor: productId:packSize por ejemplo 12:4

Ejemplo: El jersey debe pedirse en packs de 4 - cantidad 3 bloquea con un motivo claro.

Variantes: Regla mayorista de pack más común; el motivo muestra la cantidad actual y el múltiplo requerido.

La cantidad de categoría debe ser múltiplo de

Lee: La suma de la categoría debe ser múltiplo de N.

Operadores: Múltiplo MOQ

Valor: categoryId:packSize

Ejemplo: Categoría de cajas vendida solo de seis en seis.

Variantes: Úsala cuando cualquier mezcla de SKU en la categoría deba completar igualmente una caja.

La cantidad de fabricante debe ser múltiplo de

Lee: Suma de fabricante múltiplo de N.

Operadores: Múltiplo MOQ

Valor: manufacturerId:packSize

Ejemplo: Tamaño de cartón de marca 12.

Variantes: Misma semántica que el múltiplo de categoría.

La cantidad de proveedor debe ser múltiplo de

Lee: Suma de proveedor múltiplo de N.

Operadores: Múltiplo MOQ

Valor: supplierId:packSize

Ejemplo: El proveedor solo envía cartones completos de 8.

Variantes: Aplicación de cajas en dropshipping.

Total de la línea de producto

Lee: Importe monetario de una línea de producto frente a un umbral.

Operadores: =, !=, <, <=, >=, >, between

Valor: productId:amount

Ejemplo: Total de línea del producto 12 < 20 - advierte de configuración con precio insuficiente.

Variantes: El importe se convierte desde la moneda predeterminada, igual que los demás campos de importe.

Cliente

Cliente con sesión iniciada

Lee: Si la sesión tiene un cliente autenticado.

Operadores: =, !=

Valor: Sí / No.

Ejemplo: Forzar inicio de sesión: se bloquea la vía de invitado cuando el total del carrito >= 200 AND con sesión iniciada = No.

Variantes: Reflejo de Cliente invitado.

Cliente invitado

Lee: Verdadero para checkout de invitado / sin sesión iniciada.

Operadores: =, !=

Valor: Sí / No.

Ejemplo: Invitado AND carrito >= 200 - bloquea pedidos anónimos de alto valor.

Variantes: Regla clásica de reducción de fraude.

Grupo de cliente

Lee: El cliente pertenece a uno de los grupos de PrestaShop seleccionados.

Operadores: in, not in, =, !=

Valor: ID de grupo (VIP, B2B, Visitante...).

Ejemplo: Grupo VIP - solo advertencia suave; Visitantes - MOQ estricto.

Variantes: not in Visitante para políticas solo para clientes con sesión iniciada.

Pedidos completados del cliente

Lee: Recuento de pedidos completados históricamente.

Operadores: =, !=, <, <=, >=, >, between

Valor: Número entero.

Ejemplo: pedidos = 0 con cupón de bienvenida - permite; pedidos > 0 - bloquea el abuso del cupón.

Variantes: Se combina con el booleano Primer pedido del cliente.

Gasto total del cliente

Lee: Importe del gasto total (convertido).

Operadores: =, !=, <, <=, >=, >, between

Valor: Importe en la moneda predeterminada.

Ejemplo: El gasto total >= 1000 desbloquea solo advertencia en lugar de bloqueo.

Variantes: Patrón de puntuación de lealtad / confianza.

Dominio de correo del cliente

Lee: Dominio de correo / cadena de dirección para comprobaciones de patrón.

Operadores: =, !=, contains, starts with, regex, empty, not empty

Valor: Texto o regex, por ejemplo @empresa.com o gmail.

Ejemplo: Grupo B2B AND correo not contains gmail - bloquea correos de consumidor en el canal mayorista.

Variantes: regex para listas complejas de permitidos/denegados.

Primer pedido del cliente

Lee: Verdadero cuando el cliente no tiene pedidos completados previos.

Operadores: =, !=

Valor: Booleano.

Ejemplo: Primer pedido = No AND cupón aplicado - bloquea códigos de adquisición en compradores recurrentes.

Variantes: Más claro que orders_count = 0 para merchandising.

Antigüedad de la cuenta del cliente (días)

Lee: Días desde el registro del cliente.

Operadores: =, !=, <, <=, >=, >, between

Valor: Número entero de días.

Ejemplo: Antigüedad de la cuenta < 2 AND carrito >= 500 - bloquea (patrón de fraude de cuenta nueva).

Variantes: between para ventanas de periodo de prueba.

Dirección, envío, pago, tienda

País de entrega

Lee: País de la dirección de entrega.

Operadores: in, not in, =, !=

Valor: ID de país / lista de selección ISO.

Ejemplo: not in países de la UE - bloquea con un mensaje geográfico.

Variantes: OR con País de facturación para reglas de residencia fiscal.

País de facturación

Lee: País de la dirección de facturación.

Operadores: in, not in, =, !=

Valor: ID de país.

Ejemplo: País de facturación != País de entrega - advierte de la discrepancia.

Variantes: Escenarios de IVA B2B.

Zona de entrega

Lee: Zona de PrestaShop de la dirección de entrega.

Operadores: in, not in, =, !=

Valor: ID de zona.

Ejemplo: Zona = Islas - bloquea los transportistas estándar.

Variantes: Más amplio que enumerar cada país.

Código postal de entrega

Lee: Cadena del código postal de entrega.

Operadores: =, !=, contains, starts with, regex, empty, not empty

Valor: Texto / regex.

Ejemplo: starts with 00- para reglas de la región capital; regex para rangos de islas.

Variantes: empty para detectar direcciones incompletas.

Estado / región de entrega

Lee: Estado / región en la dirección de entrega.

Operadores: =, !=, in, not in, contains...

Valor: ID de estado o texto según la configuración de la tienda.

Ejemplo: Estado in [regiones remotas] - bloquea o advierte de un recargo.

Variantes: Útil para estados de EE. UU. / Canadá / comunidades autónomas de España.

Transportista seleccionado

Lee: Transportista elegido para el carrito.

Operadores: in, not in, =, !=

Valor: Referencia / ID de transportista mediante selector.

Ejemplo: Transportista = locker AND peso > 5 - bloquea.

Variantes: Se evalúa después del paso de transportista; se vuelve a comprobar al cambiar.

Módulo de pago

Lee: Nombre técnico del módulo de pago.

Operadores: in, not in, =, !=

Valor: Nombre del módulo, por ejemplo ps_cashondelivery.

Ejemplo: Contra reembolso AND peso >= 20 - bloquea.

Variantes: Funciona con el filtro de pago cuando se bloquea globalmente.

Moneda

Lee: ID de la moneda del carrito.

Operadores: in, not in, =, !=

Valor: ID de moneda.

Ejemplo: Moneda != predeterminada de la tienda - advierte de carritos con divisa exótica.

Variantes: Los umbrales de importe se siguen convirtiendo; este campo filtra por la moneda elegida.

ID de tienda

Lee: ID de la tienda actual (multitienda).

Operadores: =, !=, in, not in

Valor: Número entero de ID de tienda.

Ejemplo: Tienda = Outlet AND producto exclusivo en el carrito - bloquea.

Variantes: Mantiene las políticas limitadas a una tienda cuando es necesario.

Franjas horarias

Día de la semana (1-7)

Lee: Día de la semana actual en la zona horaria de la tienda (1 = lunes ... 7 = domingo).

Operadores: =, !=, <, <=, >=, >, between, in

Valor: Número entero 1-7 o lista para in.

Ejemplo: in [6,7] AND categoría frescos - bloquea pedidos de frescos en fin de semana.

Variantes: Combínalo con Hora para las horas límite del viernes.

Hora del día (0-23)

Lee: Hora actual 0-23.

Operadores: =, !=, <, <=, >=, >, between

Valor: Número entero de hora.

Ejemplo: Hora >= 14 AND producto personalizado - advierte de producción al día siguiente.

Variantes: Franjas de envío en el mismo día.

Fecha (AAAA-MM-DD)

Lee: Fecha de calendario actual.

Operadores: =, !=, <, <=, >=, >, between

Valor: Cadena de fecha 2026-12-24 o rango.

Ejemplo: Fecha < día de lanzamiento AND producto en el carrito - bloquea carritos previos al lanzamiento por URL.

Variantes: Ventanas de festivos / campañas sin tareas cron.

Bajo el capó

Estadísticas para nerds

Carrito evaluado. Condiciones coincidentes. Checkout bloqueado o advertido. Motivos mostrados. Cada decisión en filas de auditoría. Esto es software de clase empresarial - aquí está la ingeniería detrás de la puerta de validación que acaba de encontrar tu cliente.

~26k
Líneas de código

PHP ~22k + JS ~2.2k + CSS ~1.2k + Smarty ~0.9k

103
Archivos del módulo

Clases, controladores, plantillas, SQL, traducciones, recursos

55
Campos de condición

Con 14 operadores y uniones AND/OR anidadas

6
Pestañas del back office

Panel, Políticas, Configuración, Simulador, Registro de auditoría, Actualizaciones

2
Acciones

block_checkout y warn_checkout

17
Eventos de auditoría

Validación, pedidos, CRUD de políticas/reglas, importación/exportación, simulación, configuración

15+
Hooks

Carrito, checkout, filtro de pago, validación de pedido, pedido en el panel

32
Traducciones

Paquetes de idioma listos para las cadenas BO y FO

Capa de base de datos

  • 6 tablas personalizadas: conordervalid_policy, conordervalid_rule, conordervalid_rule_lang, conordervalid_cart, conordervalid_preset, conordervalid_log.
  • 19 clases PHP, incluyendo Engine, ConditionTree, Context, Dashboard, AuditLog, Policy, Rule, CartState, ListRenderer, Admin.
  • Instantáneas: violations en JSON por carrito; validation_snapshot en JSON en las filas de auditoría para la verdad histórica.

Arquitectura

  • Hooks: displayHeader, actionCartSave, actionFrontControllerInitAfter, actionFilterPaymentOptions, actionValidateOrder / Before, displayAdminOrder, hooks de eliminación de carrito y más.
  • 6 módulos JS: adminConditionBuilder, adminPolicyRules, adminConordervalidDashboard, adminConordervalidSimulator, adminConordervalidSearchTool, validation.js (banners del front).
  • Capa de compatibilidad con PS 9 en lib/prestashop9compatibility.php - una única base de código para 1.7, 8 y 9.
  • Chart.js en el panel para tendencias diarias/semanales/mensuales y gráficos circulares por código de regla.
Chart.js
Tendencias KPI y desglose circular por código de regla.
100+ archivos
103 archivos en el paquete distribuible del módulo.
v1.1.0
Versión actual para PrestaShop 9 / 8 / 1.7.

Las condiciones deciden CUÁNDO se dispara una regla. Las acciones deciden QUÉ sucede - bloquear o advertir. El registro de auditoría demuestra POR QUÉ el checkout se veía así.

~26.000 líneas de código en 103 archivos del módulo, 32 paquetes de traducción y v1.1.0. Merchandising construye el árbol. El motor lo aplica. Soporte lee la instantánea. Software de clase enterprise para el control del checkout.

55 campos de condición, 14 operadores, 2 acciones de aplicación y un único rastro de auditoría - diseñado para que un bloqueo de checkout nunca sea un misterio, sino siempre una regla de negocio medida con un motivo que el cliente puede resolver.

Detén los carritos problemáticos. Explica el motivo. Demuéstralo en el registro de auditoría.

55 campos de condición, grupos AND/OR anidados, 14 operadores, acciones de bloqueo y advertencia, simulador y auditoría completa - diseñado para que un bloqueo de checkout nunca sea un misterio, sino siempre una regla de negocio medida con un motivo que el cliente puede resolver.

129.00 €

Galería del Módulo 1/12

Por qué elegir nuestro módulo
Validación condicional de pedidos?

Optimización y Automatización

El módulo "Validación condicional de pedidos" automatiza y optimiza el control de tu checkout. Bloquea o advierte carritos que incumplen reglas complejas y anidadas, evitando pedidos problemáticos y garantizando la aplicación consistente de tus políticas de negocio sin intervención manual.

Ventas Aumentadas

"Validación condicional de pedidos" impulsa tus "Ventas Aumentadas" filtrando carritos no rentables o fraudulentos. Proporciona mensajes claros y políticas adaptadas, mejorando la conversión de carritos conformes y la satisfacción del cliente.

15 años de experiencia

Validación condicional de pedidos encapsula 15 años de experiencia PrestaShop, ofreciendo control de checkout de clase enterprise. Su constructor de condiciones anidadas ilimitadas y auditoría completa resuelven los desafíos más complejos, demostrando un profundo conocimiento de las necesidades operacionales y de negocio.

Amplia Personalización

"Validación condicional de pedidos" ofrece una personalización ilimitada con su constructor visual de condiciones AND/OR anidadas. Sus 55 campos y grupos infinitos aseguran que las reglas de pedido se adapten perfectamente a las necesidades únicas de tu negocio.

Código de Fuente Abierto

El módulo "Validación condicional de pedidos" ofrece código fuente abierto, asegurando plena libertad para personalizar y adaptar su potente motor de reglas. Esto permite modificar sus políticas de bloqueo o advertencia, integrándolas perfectamente con las necesidades específicas de su tienda PrestaShop.

Licencia y Actualizaciones

La licencia de "Validación condicional de pedidos" permite uso ilimitado. Reciba un año de actualizaciones gratuitas, asegurando que sus reglas avanzadas de bloqueo de pedidos estén siempre al día con PrestaShop 9, 8, 1.7. Luego, renueve con hasta un 90% de descuento.