SuperAPI AI Directory

travel-promos-argentina

Coding & development

View repository

Updated 10-16 05:46

About this skill

Travel Promos Argentina

Queries travel promotions (flights, hotels and packages) and allows filtering and sorting them locally.

API Overview

  • Base URL: https://anduin.ferminrp.com
  • Auth: None required
  • Response format: JSON
  • Main endpoint: /api/v1/promos
  • OpenAPI: https://anduin.ferminrp.com/docs/openapi.json
  • Upstream source: data.source
  • Operational news channel: https://t.me/comparaviajes (@comparaviajes), with new promo posts on an hourly frequency
  • Relevant timestamps:
    • data.lastUpdated (promo update)
    • timestamp (service response)
  • Documented query params for /api/v1/promos: none
  • Note: the tested query params (category, destinationCountry, limit, q) do not filter at the source; filter locally with jq (verified against the current response from the endpoint).

Endpoint

  • GET /api/v1/promos

Usage examples:

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]'

Key fields

  • Top-level:
    • success (bool)
    • timestamp (ISO datetime)
  • data:
    • lastUpdated (ISO datetime)
    • source (source URL)
    • totalPromos (int)
    • promos (array)
  • promos[]:
    • id, date, title, permalink, thumbnailUrl
    • destinationCountry (can be null)
    • category
    • score (numeric for ranking, may not be present if AI classification fails)
  • Dynamic values observed today (examples, not a closed list):
    • category: vuelos, hoteles, autos, paquetes, asistencia, otros
    • destinationCountry: brazil, united_states, spain, dominican_republic, aruba, mexico, japan, portugal, europe, null
  • Additional semantics:
    • permalink is built dynamically as /links/viajes/:id on the request host

Workflow

  1. Detect user intent:
    • General listing
    • Filter by category or country
    • Ranking by score
    • Latest promos
  2. Query the single endpoint with curl -s.
  3. Validate success == true and existence of data.promos.
  4. Apply filters and sort locally with jq:
    • By category
    • By destinationCountry
    • By text in title or id when applicable
    • By date or score
  5. Respond first with a snapshot:
    • Total count (totalPromos)
    • lastUpdated
    • Top 3 promos by score or relevance
  6. Then show a short table (top 5/10):
    • date | category | destinationCountry | score | title
  7. Include only permalink for the promos shown.
  8. Keep the response informative, without financial advice or availability guarantees.
  9. If the user asks for real-time recency, clarify that they can also follow news at @comparaviajes (https://t.me/comparaviajes).

Error Handling

  • Unsuccessful HTTP:
    • Report the HTTP code and the endpoint queried.
  • 404 (No promos data available):
    • Report that there is no cached promo data at this time.
  • success: false:
    • Show the error payload if it exists.
  • Unexpected JSON:
    • Show the minimum useful raw output and clarify the inconsistency.
  • Network or timeout:
    • Retry up to 2 times with a short wait.
  • promos empty:
    • Report "no promotions available currently".

Presenting Results

  • Default format:
    • Executive summary + short table
  • Prioritize:
    • Recency (date)
    • Relevance (score)
    • Clarity of destination and category
  • Clarify timestamps (lastUpdated and/or timestamp) and the external source (data.source).
  • When applicable, add an operational note for hourly monitoring on Telegram: https://t.me/comparaviajes.
  • Do not issue purchase recommendations; only report available promotions.

Out of Scope

This skill must not do in v1:

  • Direct scraping of external sites
  • Automation of booking or purchase
  • Push alerts, notifications, or change tracking
  • Use of endpoints other than /api/v1/promos