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
- 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 con jq (verificado sobre la respuesta actual del endpoint).
Endpoint
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, thumbnailUrl
destinationCountry (puede ser null)
category
score (numerico para ranking, puede no venir si falla clasificacion AI)
- Valores dinamicos observados hoy (ejemplos, no lista cerrada):
category: vuelos, hoteles, autos, paquetes, asistencia, otros
destinationCountry: brazil, united_states, spain, dominican_republic, aruba, mexico, japan, portugal, europe, null
- Semantica adicional:
permalink se construye dinamicamente como /links/viajes/:id sobre 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 == true y existencia de data.promos.
- Aplicar filtros y orden localmente con
jq:
- Por
category
- Por
destinationCountry
- Por texto en
title o id cuando aplique
- Por
date o score
- Responder primero con snapshot:
- Cantidad total (
totalPromos)
lastUpdated
- Top 3 promos por score o relevancia
- Luego mostrar tabla corta (top 5/10):
date | category | destinationCountry | score | title
- Incluir solo
permalink para promos mostradas.
- Mantener respuesta informativa, sin consejos financieros ni garantias de disponibilidad.
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.
promos vacio:
- 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
- Aclarar timestamps (
lastUpdated y/o timestamp) y la fuente externa (data.source).
- 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
1---2name: travel-promos-argentina3description: Consulta promociones de viajes desde Argentina usando Anduin Promos API. Usar cuando el usuario pida promos de viaje en Argentina, promociones de vuelos, hoteles o paquetes, mejores ofertas del dia, promos a brasil/usa/europa, ranking por score o ultimas promos de promociones-aereas.4---56# Travel Promos Argentina78Consulta promociones de viajes (vuelos, hoteles y paquetes) y permite filtrarlas y ordenarlas localmente.910## API Overview1112- **Base URL**: `https://anduin.ferminrp.com`13- **Auth**: None required14- **Response format**: JSON15- **Endpoint principal**: `/api/v1/promos`16- **OpenAPI**: `https://anduin.ferminrp.com/docs/openapi.json`17- **Fuente upstream**: `data.source`18- **Timestamps relevantes**:19 - `data.lastUpdated` (actualizacion de promos)20 - `timestamp` (respuesta del servicio)21- **Query params documentados para `/api/v1/promos`**: ninguno22- **Nota**: los query params probados (`category`, `destinationCountry`, `limit`, `q`) no filtran en origen; filtrar localmente con `jq` (verificado sobre la respuesta actual del endpoint).2324## Endpoint2526- `GET /api/v1/promos`2728Ejemplos de uso:2930```bash31curl -s "https://anduin.ferminrp.com/api/v1/promos" | jq '.'32curl -s "https://anduin.ferminrp.com/api/v1/promos" | jq '.data.promos[0:5]'33curl -s "https://anduin.ferminrp.com/api/v1/promos" | jq '.data.promos | map(select(.category == "vuelos"))'34curl -s "https://anduin.ferminrp.com/api/v1/promos" | jq '.data.promos | map(select(.category == "autos"))'35curl -s "https://anduin.ferminrp.com/api/v1/promos" | jq '.data.promos | map(select(.destinationCountry == "brazil"))'36curl -s "https://anduin.ferminrp.com/api/v1/promos" | jq '.data.promos | sort_by(.date) | reverse | .[0:10]'37curl -s "https://anduin.ferminrp.com/api/v1/promos" | jq '.data.promos | sort_by(-.score) | .[0:10]'38```3940## Campos clave4142- Top-level:43 - `success` (bool)44 - `timestamp` (ISO datetime)45- `data`:46 - `lastUpdated` (ISO datetime)47 - `source` (URL de origen)48 - `totalPromos` (int)49 - `promos` (array)50- `promos[]`:51 - `id`, `date`, `title`, `permalink`, `thumbnailUrl`52 - `destinationCountry` (puede ser `null`)53 - `category`54 - `score` (numerico para ranking, puede no venir si falla clasificacion AI)55- Valores dinamicos observados hoy (ejemplos, no lista cerrada):56 - `category`: `vuelos`, `hoteles`, `autos`, `paquetes`, `asistencia`, `otros`57 - `destinationCountry`: `brazil`, `united_states`, `spain`, `dominican_republic`, `aruba`, `mexico`, `japan`, `portugal`, `europe`, `null`58- Semantica adicional:59 - `permalink` se construye dinamicamente como `/links/viajes/:id` sobre el host de la request6061## Workflow62631. Detectar intencion del usuario:64 - Listado general65 - Filtro por categoria o pais66 - Ranking por score67 - Ultimas promos682. Consultar endpoint unico con `curl -s`.693. Validar `success == true` y existencia de `data.promos`.704. Aplicar filtros y orden localmente con `jq`:71 - Por `category`72 - Por `destinationCountry`73 - Por texto en `title` o `id` cuando aplique74 - Por `date` o `score`755. Responder primero con snapshot:76 - Cantidad total (`totalPromos`)77 - `lastUpdated`78 - Top 3 promos por score o relevancia796. Luego mostrar tabla corta (top 5/10):80 - `date | category | destinationCountry | score | title`817. Incluir solo `permalink` para promos mostradas.828. Mantener respuesta informativa, sin consejos financieros ni garantias de disponibilidad.8384## Error Handling8586- **HTTP no exitoso**:87 - Informar codigo HTTP y endpoint consultado.88- **404 (`No promos data available`)**:89 - Informar que no hay datos cacheados de promos en este momento.90- **`success: false`**:91 - Mostrar payload de error si existe.92- **JSON inesperado**:93 - Mostrar minimo crudo util y aclarar inconsistencia.94- **Red o timeout**:95 - Reintentar hasta 2 veces con espera corta.96- **`promos` vacio**:97 - Informar "no hay promociones disponibles actualmente".9899## Presenting Results100101- Formato por defecto:102 - Resumen ejecutivo + tabla corta103- Priorizar:104 - Recencia (`date`)105 - Relevancia (`score`)106 - Claridad de destino y categoria107- Aclarar timestamps (`lastUpdated` y/o `timestamp`) y la fuente externa (`data.source`).108- No emitir recomendaciones de compra; solo informar promociones disponibles.109110## Out of Scope111112Esta skill no debe hacer en v1:113114- Scraping directo de sitios externos115- Automatizacion de reserva o compra116- Alertas push, notificaciones o tracking de cambios117- Uso de endpoints distintos de `/api/v1/promos`