Saltar al contenidoESEN
Sección institucional de la home de Europ Assistance Argentina: el titular «Somos la empresa creadora del concepto de asistencia al viajero» sobre la foto de una familia entrando al mar, con las escuadras amarilla y magenta de la marca.
Volver al inicio

Europ Assistance

E-commerce de asistencia al viajero, multi-país y multi-pasarela, en producción desde 2023.

Rol
Frontend · Lógica de negocio e integraciones
Año
2023 — 2026
Stack
Next.js · React · TypeScript · Pages Router
En vivo
Ver en vivo ↗

El origen

Entró por WiperAgency, una agencia de marketing que también hacía desarrollos a medida bajo la submarca Flexy Store. Comenzó en 2023, con el grueso del trabajo en los últimos meses de ese año, y después siguió sumando funcionalidad: upgrades de planes, nuevas pasarelas, nuevos países.

Éramos dos personas en frontend. La otra venía de maquetado y no manejaba JavaScript ni frameworks, así que toda la lógica, las integraciones y la arquitectura de cliente quedaron a mi cargo.

El planteo

Un e-commerce de asistencia al viajero es un cotizador antes que una tienda: el precio depende del destino, las fechas, la cantidad de pasajeros y sus edades. Encima de eso hay que emitir un voucher real, cobrar en cinco o seis países con pasarelas distintas, y atribuir cada venta a la tienda correcta.

La restricción que definió el proyecto no fue de negocio sino de infraestructura, y apareció cuando el desarrollo ya estaba encaminado: el servidor del cliente no podía correr Node. Todo lo que sigue son consecuencias de esa línea.

El cierre

El sitio sigue en producción bajo el mismo dominio, vendiendo en varios países. La lección fue que las restricciones de infraestructura se relevan antes de elegir el framework, no después: buena parte del trabajo consistió en devolverle a un Next.js sin servidor aquello que Next.js resuelve con servidor.

Problemas y soluciones

01

Problema

El cliente sólo disponía de servidores IIS y no podía montar un entorno Node. El proyecto era Next.js y estaba pensado con SSR para SEO y tiempos de carga, así que quedaban descartadas las rutas dinámicas y cualquier `getServerSideProps`.

Solución

Estrategia híbrida SSG/CSR. El país pasó a ser un parámetro (`/home?argentina`) en vez de una ruta dinámica, se prerenderizó como estático lo que casi no cambiaba —las coberturas, por ejemplo— y el resto se resolvió en cliente cuidando la hidratación. Servido desde Apache con pm2 y reglas de reescritura.

02

Problema

Las pasarelas de pago cambiaron varias veces y no eran las mismas en cada país. Empezamos con Decidir en Argentina y d-local en el resto de la región, después migramos a Mercado Pago, y probamos Transbank en Chile e Izipay en Perú.

Solución

El frontend nunca tocó datos de tarjeta. Cada checkout se monta embebido —Mercado Pago inyecta sus propios inputs dentro de contenedores con los ids que define, Izipay va en iframe— y los datos vuelven cifrados a la API, que cierra la transacción y responde si el pago pasó. Cambiar de pasarela quedó acotado a montar un checkout más, sin tocar el resto del flujo de compra.

03

Problema

El mismo sitio tenía que vender bajo distintas tiendas: los países de la región, y además vendedores externos con su propia atribución de ventas. En paralelo, atención telefónica necesitaba cotizar y cerrar ventas sin pasar por el sitio público.

Solución

La tienda sale del parámetro de la URL, así que un mismo checkout atribuye la compra a un país o a un vendedor sin duplicar sitio. Para atención telefónica, el backoffice arma la misma cotización y genera un link que cae directo en el checkout, con el plan elegido y los pasajeros ya cargados; sólo queda completar datos y pagar.

Galería

  1. Los planes cotizados para un viaje a Latinoamérica desde Argentina: cinco tarjetas con el precio en pesos, el descuento aplicado y las cuotas sin interés de cada una.Ver completa ↗
    01Los planes cotizados para un viaje a Latinoamérica desde Argentina: cinco tarjetas con el precio en pesos, el descuento aplicado y las cuotas sin interés de cada una.
  2. El mismo cotizador servido para Colombia: cambia el catálogo de planes y el precio sale en pesos colombianos con su equivalente en dólares.Ver completa ↗
    02El mismo cotizador servido para Colombia: cambia el catálogo de planes y el precio sale en pesos colombianos con su equivalente en dólares.
  3. El paso de pago en Argentina: los campos de tarjeta son del sitio pero sus valores los administra Mercado Pago, y el resumen muestra el total en pesos y en dólares.Ver completa ↗
    03El paso de pago en Argentina: los campos de tarjeta son del sitio pero sus valores los administra Mercado Pago, y el resumen muestra el total en pesos y en dólares.
  4. El mismo paso en Colombia: d-local inyecta su propio campo de tarjeta —número, vencimiento y CVV juntos, y rotulado en inglés— dentro del formulario del sitio.Ver completa ↗
    04El mismo paso en Colombia: d-local inyecta su propio campo de tarjeta —número, vencimiento y CVV juntos, y rotulado en inglés— dentro del formulario del sitio.
  5. La llegada desde un link armado por atención telefónica: el checkout abre en el primer paso con el plan, las fechas y el email ya cargados, y sólo queda completar los datos del pasajero.Ver completa ↗
    05La llegada desde un link armado por atención telefónica: el checkout abre en el primer paso con el plan, las fechas y el email ya cargados, y sólo queda completar los datos del pasajero.