Caso

Un agregador API de servicios de entrega

Una API única sobre una decena de servicios de mensajería: cálculo de costes, creación de pedidos y seguimiento en tiempo real.

Año
2024
Cliente
Startup de logística
Rol
Senior Backend Developer
U

Descripción

El agregador de entregas une más de diez servicios de mensajería bajo una única API REST, ocultando las diferencias en sus formatos, autenticación y comportamiento detrás de un contrato estable. Las tiendas en línea se integran una sola vez y obtienen acceso a todos los transportistas: cálculo de coste y plazos, creación y cancelación de pedidos, impresión de albaranes y seguimiento de estados en tiempo real. Diseñé una arquitectura de integración resistente a fallos donde cada proveedor externo está envuelto en un adaptador con tiempos de espera, reintentos y un circuit breaker, de modo que la indisponibilidad de un servicio no afecte a los demás. Los estados de entrega se recopilan tanto mediante los webhooks de los proveedores como mediante el sondeo periódico, se normalizan en un único modelo y se transmiten a los clientes. El almacenamiento en caché de las tarifas en Redis y unos índices de PostgreSQL bien pensados garantizan una respuesta rápida al calcular el coste incluso con una alta frecuencia de solicitudes.

Problema

Cada integración con un servicio de mensajería requería un desarrollo y mantenimiento por separado, los formatos y estados diferían, y el fallo de un proveedor tumbaba por completo la realización de pedidos. Los clientes se quejaban del lento cálculo de costes.

Solución

Diseñé un contrato único de API REST y una capa de adaptadores con aislamiento de fallos mediante un circuit breaker, normalicé los estados de entrega y añadí el almacenamiento en caché de tarifas en Redis y el procesamiento asíncrono de webhooks en colas.

Resultados

La incorporación de una nueva tienda se redujo de dos semanas a un día, el cálculo de costes se aceleró 8 veces gracias a la caché, el fallo de un servicio concreto dejó de afectar a la realización de pedidos y se procesaron más de 2 millones de pedidos durante el primer año.

Tecnologías