Drogaraia en 14 estados
Catálogo completo con precio regional real por código postal, EAN, marca, principio activo y dosis — vía interceptación de tráfico de red y GraphQL inverso.
Diseñé y construí la Discovery Stack — la plataforma que sigue, sola y cada quince días, por cuánto vende el retail farmacéutico cada producto en Brasil. Reúne los precios de cadenas competidoras y de bases públicas del gobierno, organiza todo en un solo lugar y lo entrega listo para que Masterfarma compare precio por producto, por región y por competidor.
Masterfarma necesitaba saber por cuánto venden los competidores cada medicamento, en cada región — pero ese precio estaba disperso en varios sitios y bases del gobierno, cada uno en su formato, imposible de seguir a mano.
Construimos una plataforma que recolecta esos precios sola, cada quince días, reúne todo en un solo lugar y lo entrega listo para comparar por producto, región y competidor.
La red pasó a ver el precio real practicado en 14 estados en un panel único y a decidir precio y compra con base en números actualizados — sin planillas manuales y sin depender de que nadie digite.
La plataforma recolecta de múltiples fuentes con técnicas distintas, normaliza y conforma todo en un data warehouse columnar orientado a OLAP y entrega el resultado como comparación de precios entre competidores, fuentes gubernamentales y regiones.
Dos cadenas competidoras y dos bases gubernamentales de menor precio — cada una exige una técnica de recolección propia, todas convergiendo hacia el mismo modelo de datos.
Catálogo completo con precio regional real por código postal, EAN, marca, principio activo y dosis — vía interceptación de tráfico de red y GraphQL inverso.
Ingeniería inversa de la API de búsqueda de VTEX, con fallback de ordenación y descubrimiento dinámico de categorías, guardado en el mismo modelo de Drogaraia.
API pública de Menor Preço / Nota Paraná consultada por GTIN y región, sembrada por el propio catálogo ya recolectado — el pipeline se retroalimenta.
API SVRS / gov.br con Bearer token, búsqueda por latitud/longitud y radio, y alerta automatizada cuando la credencial se acerca a su expiración.
Las decisiones técnicas que hacen la recolección precisa y resistente — no una prueba de concepto, sino una plataforma que corre sola en producción.
En vez de raspar HTML frágil, la recolección escucha las respuestas de red y extrae los datos directo del JSON de la propia aplicación (__NEXT_DATA__, GraphQL) — robusto a cambios de layout.
La automatización abre y confirma el código postal de cada estado y persiste la sesión del navegador, capturando el precio regional correcto sin repetir el handshake en cada categoría.
Dynamic Task Mapping y chunking por hash dividen ~80 mil EANs en porciones estables, procesadas en paralelo, con rate limiting por Pool para no sobrecargar la fuente.
El scraping en producción falla todo el tiempo — los sitios cambian, las APIs limitan, las sesiones caen. La plataforma trata la falla como caso esperado: aísla lo que se rompió, se recupera sola y deja rastro de lo que pasó.
Retry de la task, retry por página con estrategias progresivas y un gate de sesión que salta una región entera con elegancia cuando falla — sin tumbar el run.
Airflow Pools limitan la concurrencia contra cada sitio objetivo independientemente del paralelismo del clúster, manteniendo la recolección dentro de lo que la fuente tolera.
Una Airflow Variable enciende un modo de prueba (1 categoría / 1 región / 1 página) para validar cambios directo en producción, con seguridad y sin disparar el downstream.
Toda falla se registra en una tabla de errores estructurada — empresa, lugar, ruta, error — en vez de solo romper la task, con diagnóstico de throttling por tipo.
Precios de competidores y de bases gubernamentales, antes dispersos e invisibles, ahora viven en una única fuente analítica — comparables por EAN.
Precio regional real: la plataforma ve el valor practicado en cada uno de los 14 estados, y no un precio nacional genérico.
Modelo de datos unificado — cadenas competidoras y bases gub. en la misma tabla — habilita comparación directa con consultas rápidas sobre millones de filas.
Recolección autónoma y auditable: pipelines encadenados corren solos dos veces al mes, con traza de errores y alertas de credencial, exigiendo mínima intervención.
De la ingeniería inversa de APIs al scraping resiliente en producción, con data warehouse y BI al final — cuéntanos qué necesitas seguir y volvemos con alcance, plazo y entregables.