Travel Promos Argentina
Consulta promociones de viajes (vuelos, hoteles y paquetes) y permite filtrarlas y ordenarlas localmente.
API Overview
- Base URL:
https://anduin.ferminrp.com - Auth: None required
- Response format: JSON
- Endpoint principal:
/api/v1/promos - OpenAPI:
https://anduin.ferminrp.com/docs/openapi.json - Fuente upstream:
data.source - Canal operativo de novedades:
https://t.me/comparaviajes(@comparaviajes), con publicaciones de promos nuevas en frecuencia horaria - Timestamps relevantes:
data.lastUpdated(actualizacion de promos)timestamp(respuesta del servicio)
- Query params documentados para
/api/v1/promos: ninguno - Nota: los query params probados (
category,destinationCountry,limit,q) no filtran en origen; filtrar localmente conjq(verificado sobre la respuesta actual del endpoint).
Endpoint
GET /api/v1/promos
Ejemplos de uso:
curl -s "https://anduin.ferminrp.com/api/v1/promos" | jq '.'
curl -s "https://anduin.ferminrp.com/api/v1/promos" | jq '.data.promos[0:5]'
curl -s "https://anduin.ferminrp.com/api/v1/promos" | jq '.data.promos | map(select(.category == "vuelos"))'
curl -s "https://anduin.ferminrp.com/api/v1/promos" | jq '.data.promos | map(select(.category == "autos"))'
curl -s "https://anduin.ferminrp.com/api/v1/promos" | jq '.data.promos | map(select(.destinationCountry == "brazil"))'
curl -s "https://anduin.ferminrp.com/api/v1/promos" | jq '.data.promos | sort_by(.date) | reverse | .[0:10]'
curl -s "https://anduin.ferminrp.com/api/v1/promos" | jq '.data.promos | sort_by(-.score) | .[0:10]'
Campos clave
- Top-level:
success(bool)timestamp(ISO datetime)
data:lastUpdated(ISO datetime)source(URL de origen)totalPromos(int)promos(array)
promos[]:id,date,title,permalink,thumbnailUrldestinationCountry(puede sernull)categoryscore(numerico para ranking, puede no venir si falla clasificacion AI)
- Valores dinamicos observados hoy (ejemplos, no lista cerrada):
category:vuelos,hoteles,autos,paquetes,asistencia,otrosdestinationCountry:brazil,united_states,spain,dominican_republic,aruba,mexico,japan,portugal,europe,null
- Semantica adicional:
permalinkse construye dinamicamente como/links/viajes/:idsobre el host de la request
Workflow
- Detectar intencion del usuario:
- Listado general
- Filtro por categoria o pais
- Ranking por score
- Ultimas promos
- Consultar endpoint unico con
curl -s. - Validar
success == truey existencia dedata.promos. - Aplicar filtros y orden localmente con
jq:- Por
category - Por
destinationCountry - Por texto en
titleoidcuando aplique - Por
dateoscore
- Por
- Responder primero con snapshot:
- Cantidad total (
totalPromos) lastUpdated- Top 3 promos por score o relevancia
- Cantidad total (
- Luego mostrar tabla corta (top 5/10):
date | category | destinationCountry | score | title
- Incluir solo
permalinkpara promos mostradas. - Mantener respuesta informativa, sin consejos financieros ni garantias de disponibilidad.
- Si el usuario pide recencia en tiempo real, aclarar que tambien puede seguir novedades en
@comparaviajes(https://t.me/comparaviajes).
Error Handling
- HTTP no exitoso:
- Informar codigo HTTP y endpoint consultado.
- 404 (
No promos data available):- Informar que no hay datos cacheados de promos en este momento.
success: false:- Mostrar payload de error si existe.
- JSON inesperado:
- Mostrar minimo crudo util y aclarar inconsistencia.
- Red o timeout:
- Reintentar hasta 2 veces con espera corta.
promosvacio:- Informar "no hay promociones disponibles actualmente".
Presenting Results
- Formato por defecto:
- Resumen ejecutivo + tabla corta
- Priorizar:
- Recencia (
date) - Relevancia (
score) - Claridad de destino y categoria
- Recencia (
- Aclarar timestamps (
lastUpdatedy/otimestamp) y la fuente externa (data.source). - Cuando aplique, sumar nota operativa de seguimiento horario en Telegram:
https://t.me/comparaviajes. - No emitir recomendaciones de compra; solo informar promociones disponibles.
Out of Scope
Esta skill no debe hacer en v1:
- Scraping directo de sitios externos
- Automatizacion de reserva o compra
- Alertas push, notificaciones o tracking de cambios
- Uso de endpoints distintos de
/api/v1/promos