Caso práctico
Powerall – integración de ERP con nopCommerce
On-Site BV es una agencia digital con sede en Róterdam y partner de soluciones nopCommerce, especializada en comercio B2B complejo e integraciones profundas con ERP para mayoristas, fabricantes y empresas de todos los Países Bajos.
El proyecto
Una capa de integración a medida formada por dos plugins que conecta nopCommerce con Powerall, la plataforma de gestión integral neerlandesa que reúne taller, almacén, planificación, administración y ventas en un solo sistema para más de 6.000 usuarios. Desarrollada para On-Site BV, partner de soluciones nopCommerce con sede en Róterdam especializado en comercio B2B complejo, la integración permite a sus clientes tener un escaparate nopCommerce sobre Powerall como única fuente de verdad - sin que nadie tenga que mantener el catálogo dos veces.
El reto
Powerall es el propietario de los datos de producto, y los guarda con forma de ERP: ficheros de propiedades de grupo, propiedades técnicas, variantes y registros de países que nunca se modelaron para una tienda web. Una importación genérica aplanaría todo eso en campos de texto inservibles u obligaría a un desarrollador a programar a mano una correspondencia para cada nuevo grupo de productos. On-Site necesitaba algo que sus consultores pudieran configurar para cada cliente, no un script de un solo uso.
Una arquitectura de dos plugins
Dividimos el trabajo por una línea clara, de modo que cada parte puede evolucionar y desplegarse por separado:
- Nop.Plugin.Misc.Powerall.Import - la capa de correspondencias y modelado de datos que convierte las exportaciones de Powerall en un catálogo nopCommerce en condiciones
- Nop.Plugin.Misc.Powerall.Integration - la conexión en vivo que mantiene ambos sistemas sincronizados y devuelve los pedidos
Ambos siguen la arquitectura estándar de plugins de nopCommerce - entidades de dominio con su propia capa de datos y migraciones, servicios, fábricas de modelos, componentes de vista y vistas de administración - de modo que nada se filtra al núcleo y las actualizaciones siguen siendo rutinarias.
Powerall.Import: correspondencias guiadas por comportamientos
En lugar de un mapa fijo de campos, el plugin de importación se articula en torno a comportamientos de importación configurables: reglas reutilizables que describen cómo debe aterrizar en nopCommerce cada dato de Powerall.
- Los comportamientos de propiedades de producto deciden, para cada propiedad, si un valor de Powerall se convierte en un atributo de especificación, en un atributo de producto que genera variantes o en contenido simple del producto
- Los metadatos de categoría se derivan del fichero de propiedades de grupo, de modo que la estructura de categorías y los metadatos de SEO salen de los datos del ERP en lugar de reescribirse a mano
- Las especificaciones y las variantes se asignan conjuntamente, lo que mantiene los datos técnicos filtrables en la página de catálogo y correctas las combinaciones comprables en la página de producto
- Un menú de comportamientos propio en la administración presenta las reglas como tarjetas, de modo que un consultor - y no un desarrollador - configura las correspondencias
- Los datos se validan antes de ejecutar la importación, y cada ajuste incluye recursos de texto localizados y descripciones en línea
Powerall.Integration: mantener ambos sistemas sincronizados
- Sincronización inicial para poner una tienda nueva totalmente en línea con Powerall en una sola pasada
- Tarea de sincronización programada con lógica de filtrado, de modo que las ejecuciones periódicas solo tocan los productos que realmente cumplen los criterios en lugar de recorrer todo el catálogo
- Sincronización por eventos enganchada a los eventos de nopCommerce, para los cambios que no pueden esperar a la siguiente ejecución programada
- Sincronización de pedidos de vuelta a Powerall, incluido un botón de sincronización manual en la administración para pedidos concretos que necesitan un empujón
- Correspondencia de países entre los registros de países de Powerall y los países de nopCommerce, con un tratamiento defensivo de los datos incompletos del ERP
- Una desinstalación completa que elimina ajustes, esquema y tareas de forma limpia - importante para una integración desplegada en varias tiendas de clientes
Experiencia de administración y observabilidad
Ambos plugins añaden sus propias entradas de menú y pantallas de configuración a la administración de nopCommerce. La integración escribe un registro de sincronización detallado con vistas de registro propias, de modo que cuando un pedido o un producto no aparece donde debería, la respuesta está a un clic en lugar de a un ticket de soporte y una sesión en el servidor.
Base técnica
Desarrollado para nopCommerce 4.80 sobre ASP.NET Core, empaquetado como dos plugins independientes con sus propios ajustes, valores predeterminados, migraciones y localización. El resultado es reutilizable: On-Site puede desplegar la misma integración para cualquier cliente que use Powerall y configurarla tienda por tienda desde la administración en lugar de bifurcar el código.
El resultado
Una integración en producción que da a On-Site BV una respuesta repetible a la pregunta «¿podéis conectar nuestra tienda web con Powerall?» - los datos de producto que posee el ERP llegan como un catálogo nopCommerce bien estructurado y filtrable, los pedidos vuelven automáticamente y toda la correspondencia la configura un consultor en lugar de reprogramarse para cada despliegue.
Tecnologías
nopCommerce
ASP.NET Core- Powerall ERP
- Custom nopCommerce plugins
- Scheduled tasks
- Event consumers