r/PERUDEVS

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.

reddit.com
u/LP-16 — 10 days ago