curl -X POST https://api.tesisrutas.com/rutas/sugerencias \
-H "Content-Type: application/json" \
-d '{
"actual": "507f1f77bcf86cd799439011",
"seleccionados": [
"507f1f77bcf86cd799439011",
"507f1f77bcf86cd799439012"
],
"limite": 5
}'
{
"actual": "507f1f77bcf86cd799439011",
"seleccionados": [
"507f1f77bcf86cd799439011",
"507f1f77bcf86cd799439012"
],
"sugerencias": [
{
"id": "507f1f77bcf86cd799439013",
"nombre": "Palacio Municipal",
"ubicacion": "Plaza de Armas, Centro Histórico",
"importancia": "Sede del gobierno local",
"anio_construccion": 1780,
"funcion": "Administrativo",
"coordenadas": {
"latitud": -12.0464,
"longitud": -77.0428
},
"multimedia": [
"https://storage.example.com/palacio-municipal-1.jpg",
"https://storage.example.com/palacio-municipal-2.jpg"
],
"distancia_km": 0.15
},
{
"id": "507f1f77bcf86cd799439014",
"nombre": "Museo Histórico Regional",
"ubicacion": "Calle del Comercio 234",
"importancia": "Principal museo de la ciudad",
"anio_construccion": 1650,
"funcion": "Cultural",
"coordenadas": {
"latitud": -12.0470,
"longitud": -77.0435
},
"multimedia": [
"https://storage.example.com/museo-1.jpg"
],
"distancia_km": 0.22
},
{
"id": "507f1f77bcf86cd799439015",
"nombre": "Casa de la Cultura",
"ubicacion": "Avenida Cultural 567",
"importancia": "Centro cultural municipal",
"anio_construccion": 1920,
"funcion": "Cultural",
"coordenadas": {
"latitud": -12.0480,
"longitud": -77.0440
},
"multimedia": [],
"distancia_km": 0.35
}
]
}
Get intelligent POI suggestions for building routes dynamically
curl -X POST https://api.tesisrutas.com/rutas/sugerencias \
-H "Content-Type: application/json" \
-d '{
"actual": "507f1f77bcf86cd799439011",
"seleccionados": [
"507f1f77bcf86cd799439011",
"507f1f77bcf86cd799439012"
],
"limite": 5
}'
{
"actual": "507f1f77bcf86cd799439011",
"seleccionados": [
"507f1f77bcf86cd799439011",
"507f1f77bcf86cd799439012"
],
"sugerencias": [
{
"id": "507f1f77bcf86cd799439013",
"nombre": "Palacio Municipal",
"ubicacion": "Plaza de Armas, Centro Histórico",
"importancia": "Sede del gobierno local",
"anio_construccion": 1780,
"funcion": "Administrativo",
"coordenadas": {
"latitud": -12.0464,
"longitud": -77.0428
},
"multimedia": [
"https://storage.example.com/palacio-municipal-1.jpg",
"https://storage.example.com/palacio-municipal-2.jpg"
],
"distancia_km": 0.15
},
{
"id": "507f1f77bcf86cd799439014",
"nombre": "Museo Histórico Regional",
"ubicacion": "Calle del Comercio 234",
"importancia": "Principal museo de la ciudad",
"anio_construccion": 1650,
"funcion": "Cultural",
"coordenadas": {
"latitud": -12.0470,
"longitud": -77.0435
},
"multimedia": [
"https://storage.example.com/museo-1.jpg"
],
"distancia_km": 0.22
},
{
"id": "507f1f77bcf86cd799439015",
"nombre": "Casa de la Cultura",
"ubicacion": "Avenida Cultural 567",
"importancia": "Centro cultural municipal",
"anio_construccion": 1920,
"funcion": "Cultural",
"coordenadas": {
"latitud": -12.0480,
"longitud": -77.0440
},
"multimedia": [],
"distancia_km": 0.35
}
]
}
seleccionados arraysugerir_pois_proximos.py:11-54 for implementation.
curl -X POST https://api.tesisrutas.com/rutas/sugerencias \
-H "Content-Type: application/json" \
-d '{
"actual": "507f1f77bcf86cd799439011",
"seleccionados": [
"507f1f77bcf86cd799439011",
"507f1f77bcf86cd799439012"
],
"limite": 5
}'
{
"actual": "507f1f77bcf86cd799439011",
"seleccionados": [
"507f1f77bcf86cd799439011",
"507f1f77bcf86cd799439012"
],
"sugerencias": [
{
"id": "507f1f77bcf86cd799439013",
"nombre": "Palacio Municipal",
"ubicacion": "Plaza de Armas, Centro Histórico",
"importancia": "Sede del gobierno local",
"anio_construccion": 1780,
"funcion": "Administrativo",
"coordenadas": {
"latitud": -12.0464,
"longitud": -77.0428
},
"multimedia": [
"https://storage.example.com/palacio-municipal-1.jpg",
"https://storage.example.com/palacio-municipal-2.jpg"
],
"distancia_km": 0.15
},
{
"id": "507f1f77bcf86cd799439014",
"nombre": "Museo Histórico Regional",
"ubicacion": "Calle del Comercio 234",
"importancia": "Principal museo de la ciudad",
"anio_construccion": 1650,
"funcion": "Cultural",
"coordenadas": {
"latitud": -12.0470,
"longitud": -77.0435
},
"multimedia": [
"https://storage.example.com/museo-1.jpg"
],
"distancia_km": 0.22
},
{
"id": "507f1f77bcf86cd799439015",
"nombre": "Casa de la Cultura",
"ubicacion": "Avenida Cultural 567",
"importancia": "Centro cultural municipal",
"anio_construccion": 1920,
"funcion": "Cultural",
"coordenadas": {
"latitud": -12.0480,
"longitud": -77.0440
},
"multimedia": [],
"distancia_km": 0.35
}
]
}
let selectedPOIs = [];
let currentPOI = null;
// User selects first POI
currentPOI = "507f1f77bcf86cd799439011";
selectedPOIs.push(currentPOI);
// Get suggestions for next POI
const response1 = await fetch('/rutas/sugerencias', {
method: 'POST',
body: JSON.stringify({
actual: currentPOI,
seleccionados: selectedPOIs
})
});
const suggestions1 = await response1.json();
// Display suggestions1.sugerencias to user
// User selects second POI
currentPOI = suggestions1.sugerencias[0].id;
selectedPOIs.push(currentPOI);
// Get next suggestions
const response2 = await fetch('/rutas/sugerencias', {
method: 'POST',
body: JSON.stringify({
actual: currentPOI,
seleccionados: selectedPOIs
})
});
// Continue until route is complete...
def get_next_suggestions(current_location, visited_pois):
response = requests.post(
'https://api.tesisrutas.com/rutas/sugerencias',
json={
'actual': current_location,
'seleccionados': visited_pois,
'limite': 3 # Show top 3 nearby
}
)
return response.json()['sugerencias']
# User is at POI A, has visited A and B
suggestions = get_next_suggestions(
current_location="POI_A",
visited_pois=["POI_A", "POI_B"]
)
print("Where to go next:")
for poi in suggestions:
print(f"{poi['nombre']} - {poi['distancia_km']} km away")
seleccionados are automatically excludedactual POI can be in the seleccionados arrayactual field is required (returns error if missing)seleccionados must be an array (returns error otherwise)seleccionados array is valid for first suggestion