Volver a proyectos

Professional Software

STEL Order × Shopify Integration

Evolución de una integración comercializada entre Shopify y STEL Order para automatizar pedidos, facturación y sincronización de productos, clientes y stock.

JavaSpring BootTypeScriptReactRemixMySQLREST APIWebhooksOAuth 2.0JWTMongoDBAWS
Ver en Shopify App Store

Resumen

Muchas empresas que gestionan su negocio con un ERP también venden a través de un eCommerce, y mantener la información replicada a mano entre ambos sistemas es lento y propenso a errores. Este proyecto conecta Shopify, una de las plataformas de eCommerce más utilizadas, con STEL Order, un software de gestión en la nube para facturación, inventario y clientes.

La integración evolucionó desde una primera versión centrada en transferir información de Shopify a STEL Order hasta una solución que automatiza la gestión de pedidos, facturación, clientes, productos y stock. El usuario, sin necesidad de conocimientos técnicos, instala la app desde la Shopify App Store y configura qué información se sincroniza y cómo se comportan los procesos según el flujo de trabajo de su negocio.

Demostración de la integración entre Shopify y STEL Order

Aspectos destacados

  • Sistema comercializado de integración entre Shopify y STEL Order, publicado como app en la Shopify App Store e incluido en la suscripción de STEL Order
  • Fue parte de mi trabajo final de máster (Máster Universitario en Ingeniería del Software) en colaboración con la empresa STEL Order
  • Me encargué íntegramente del plugin de Shopify y del microservicio de integración; la arquitectura general y la plantilla base para futuras integraciones se definieron junto al equipo de desarrollo de STEL Order
  • Diseñado como base reutilizable: cada nueva plataforma se integra creando un microservicio a partir de una plantilla común y un plugin propio
  • Trabajo premiado y realizado en el marco del «PROGRAMA ENCUENTRO TF» dentro de las actividades del Campus de Excelencia Mare Nostrum 37/38, subvencionadas con la financiación de la Dirección General de Universidades e Investigación de la Consejería de Medio Ambiente, Universidades, Investigación y Mar Menor
Trabajo final de máster sobre la integración entre Shopify y STEL Order

Arquitectura

Se analizaron tres alternativas (basada en plugin, en un único microservicio y en microservicios) y se eligió la arquitectura de microservicios porque evita un punto único de fallo y permite escalar a nuevas integraciones reutilizando una plantilla común.

El flujo es Shopify → Plugin de integración → Microservicio → API de STEL Order. El plugin, desarrollado en TypeScript con Remix y Prisma, gestiona la instalación mediante OAuth 2.0, recibe los webhooks de Shopify y ofrece la interfaz para crear y configurar integraciones y consultar el historial de eventos. El microservicio, desarrollado en Java con Spring Boot siguiendo arquitectura limpia y estilo REST, filtra los campos configurados, transforma los datos al modelo de STEL Order y emite los eventos aplicando patrones como Strategy, Factory y Adapter.

Posteriormente, la solución evolucionó hacia una sincronización bidireccional de catálogo y stock.

Diagrama de arquitectura de la integración entre Shopify y STEL Order
Diagrama de arquitectura de la integración entre Shopify y STEL Order

Retos técnicos

  • Mantener la compatibilidad entre los modelos de datos de Shopify y STEL Order
  • Gestionar productos con variantes y diferentes configuraciones de catálogo
  • Coordinar la sincronización de información en ambas direcciones
  • Evitar duplicidades durante la sincronización de productos
  • Permitir que el comportamiento de la integración sea configurable según el flujo del negocio
  • Integrar el proceso de pedidos con la generación y gestión de facturas
  • Adaptar conceptos que no existían en STEL Order, como las variantes de producto, para que se sincronizaran correctamente
  • Garantizar que ningún evento se pierda: cada evento se persiste como pendiente antes de procesarse para poder reintentarlo si falla
  • Asegurar la comunicación entre Shopify, el plugin y el microservicio combinando OAuth 2.0, tokens de sesión de Shopify y JWT

Funcionalidades

  • Automatización de pedidos entre Shopify y STEL Order
  • Generación de pedidos y facturas según el flujo configurado
  • Sincronización de clientes y productos
  • Sincronización bidireccional de catálogo y stock
  • Configuración de campos sincronizados
  • Gestión de productos con variantes
  • Detección de productos duplicados
  • Configuración de estados que desencadenan operaciones
  • Integración del flujo de facturación con Verifactu
  • Control de los productos incluidos en la sincronización

Resultado

La primera versión cumplió los objetivos del TFM: un plugin y un microservicio que permiten a cada usuario elegir qué entidades y atributos transferir de Shopify a STEL Order, validados con pruebas de contrato automatizadas (Rest Assured, Spring Boot Test y Testcontainers).

A partir de esa base, la integración evolucionó hacia una solución comercializada capaz de automatizar pedidos y facturación compatible con Verifactu y, posteriormente, sincronizar productos y stock en ambas direcciones con campos y criterios configurables.

Presentación del trabajo final de máster sobre la integración entre Shopify y STEL Order

Enlaces