1. Partimos de paquetes reales del proveedor

Cada paquete tiene un identificador del proveedor, destino, tipo y cantidad de datos, validez y coste mayorista. Normalizamos esos campos en nuestro catálogo para poder rastrear un paquete concreto desde la tienda hasta el cumplimiento del pedido.

2. Separamos los datos fijos de los planes diarios/FUP

Un paquete que ofrece “1GB al día” no es el mismo producto que uno con 5GB totales. El motor del catálogo los clasifica por separado para que un plan diario no sustituya silenciosamente a un plan inicial de datos fijos.

3. Aplicamos requisitos mínimos de utilidad

El grupo de planes iniciales solo incluye paquetes que cumplen el mínimo configurado de datos y validez. Así evitamos respaldar el precio principal con un producto demasiado pequeño para ser útil.

4. Aplicamos un límite de coste mayorista

Solo pueden ocupar el espacio de $5 los paquetes cuyo coste mayorista actual encaja dentro del límite configurado. Si el coste del proveedor supera ese margen de seguridad, el sistema busca otro paquete elegible. Si no existe ninguno, el plan de $5 debe desaparecer en vez de venderse con un margen inseguro.

5. Elegimos el plan inicial más sólido

Entre los paquetes elegibles, el sistema favorece más datos totales y una validez útil en lugar de limitarse a escoger la línea mayorista más barata.

6. Los paquetes grandes se calculan por separado

Las mejoras se calculan a partir del coste del proveedor usando reglas de beneficio bruto mínimo y margen objetivo. Por eso un plan de 10GB o 20GB no cuesta automáticamente un múltiplo fijo de $5.

7. Volvemos a comprobar antes del cumplimiento

Cuando los pedidos en vivo están habilitados, el flujo puede enviar el coste esperado del proveedor junto con la solicitud del paquete. Si el precio cambió después de la última sincronización del catálogo, el pedido puede detenerse en vez de cumplirse a un coste inesperado.

Importante

Hasta que las credenciales de la API en vivo y la sincronización programada estén configuradas, la tienda utiliza la última instantánea importada de la lista de precios del proveedor. Los datos y costes mayoristas son reales para esa instantánea, pero no se garantiza que estén actualizados minuto a minuto.