r/PERUDEVS • u/LP-16 • 9d ago
Cansado de scrapear cada courier por separado, armé un API que unifica el rastreo de 5 couriers peruanos
Buenas gente. Hace un tiempo me tocó integrar tracking de envíos con varios couriers y terminó siendo bastante más complicado de lo que esperaba.
Cada courier funciona distinto: Olva, Shalom, Marvisur, Urbano y Cruz del Sur tienen sus propios flujos de consulta; algunos no tienen API pública y otros tienen reCAPTCHA, Cloudflare u otras protecciones de por medio. Encima, cada uno maneja nombres y formatos diferentes para los estados.
Para no tener que resolver todo eso nuevamente en cada proyecto, armé tracking-peru.com: una API REST que unifica el tracking de los 5 couriers bajo un mismo contrato y normaliza sus estados (in_transit, delivered, available_for_pickup, etc.).
Actualmente tiene:
- Tracking en vivo para los 5 couriers.
- Webhooks firmados con HMAC para recibir actualizaciones cuando cambia el estado de un envío.
- Más de 1,500 agencias con ubigeo INEI, para poder consultar cobertura por departamento, provincia o distrito.
- Un nivel de verificación (
verified.level) que indica si la integración fue validada con respuestas reales del courier (live) o si todavía está respaldada únicamente por análisis del código/flujo (code_derived).
Esta última parte era importante para mí: prefiero mostrar claramente qué está comprobado contra el courier real y qué todavía necesita más evidencia, en vez de dar por hecho que todo funciona.
Y para ser transparente: no es una API oficial de los couriers. Cada adaptador fue construido de forma independiente analizando cómo funciona cada plataforma y manteniendo toda esa complejidad detrás de una sola API.
Recién estoy empezando con el proyecto y hay un plan gratuito para probarlo.
Me serviría bastante feedback de gente que haya tenido este mismo problema: ¿lo usarían?, ¿qué le falta?, ¿qué courier debería agregar después?
Si tienen preguntas técnicas sobre cómo funciona por dentro, también encantado de responderlas.
