Teníamos un equipo dentro de Bsale encargado de revisar uno por uno la cantidad de dte’s generados por cada cliente, para calcular a fin de mes la facturación de nuestros servicios.
Todo partió cuando nuestro equipo interno de Producto, compuesto por desarrolladores que buscan simplificar las tareas del día a día a través del uso de soluciones tecnológicas, recibió un requerimiento: reducir el tiempo de contabilización de documentos. Esteban, del área de Innovación, solía demorarse 3 horas en esta tarea donde ejecutaba un proceso manual que le devolvía la data, el cual hoy, con las mejoras que les vamos a contar, se demora tan solo unos segundos.
La misión se adjudicó a nuestro equipo de Producto llamado Matrix Team, donde ya tenemos 7 años de experiencia y somos los responsables de la comunicación entre Bsale y las distintas entidades tributarias de los países donde estamos presentes. Existían varias complejidades, entre ellas, y una de las más importantes, era que NO nos servirían las tecnologías tradicionales para automatizar esta tarea, por el gigantesco volumen de información que debía ser procesada.
Nosotros (Manuel, Walter y Víctor) partimos con los primeros intentos: disponibilizando una interfaz que internamente hacía las llamadas necesarias a la API de documentos, lo que nos permitió obtener la data, pero la dificultad era que se saturaba con tantas peticiones ni tampoco soportaba la concurrencia.
Lo que hicimos para resolverlo fue guardar la data en caché. Ahora esa información se consulta desde la interfaz a Redis, y si no está, ahí recién se busca en la API, lo que disminuyó considerablemente la carga de peticiones, las cuales se demoraban 66 segundos para 316 solicitudes y actualmente se logran en 1.5 segundos.
La verdad es que coincidimos en que fue un resultado de la suma de varias estrategias, destinadas a mejorar la arquitectura del flujo inicial, a través de la incorporación de nuevas tecnologías y funcionalidades como:
Aquí aprendimos varias cosas y descubrimos incluso nuevas herramientas que no habíamos usado antes, por ejemplo, Postman Flows que nos ayudó a ver cómo pasaban los datos de los clientes mediante endpoints, para ver su fluidez y el tiempo que nos demorábamos.
Nos hemos dado cuenta de la importancia de ciertos pasos previos a la codificación que han sido útiles para nosotros, como:
A partir de varias iteraciones sobre el flujo pasamos luego a una etapa más práctica, donde:
Equipo Matrix
Te invitamos a sumarte a nuestra comunidad en LinkedIn para conectar con nosotros y mantenete al tanto de nuestras últimas actualizaciones.