Un catálogo para todas las plataformas
Este subdominio aloja el catálogo público de audioguías y sus recursos (imágenes y audios). WordPress, Android e iOS consultarán los mismos datos. Es un servicio de lectura de archivos JSON y multimedia, no un panel de administración ni una API de escritura.
/v1/guias.json contiene []. Se publicarán fichas cuando estén listos sus detalles y recursos. La documentación muestra ejemplos, no audioguías ya operativas.URLs y endpoints de lectura
| Recurso | URL |
|---|---|
| Catálogo general | /v1/guias.json Disponible |
| Detalle de audioguía | /v1/guias/{id}/guia.json |
| Imagen portada | /v1/guias/{id}/cover.jpg (ejemplo) |
| Imagen de punto | /v1/guias/{id}/puntos/{puntoId}/foto-01.webp |
| Audio del punto | /v1/guias/{id}/puntos/{puntoId}/audio-es.mp3 (opcional) |
Estructura de carpetas en Plesk
RAÍZ DEL SUBDOMINIO (no es WordPress) ├─ index.html ← Manual web ├─ README.md ← Manual en Markdown ├─ logo.webp └─ v1/ ├─ guias.json ← Catálogo general (vacío al instalar) ├─ guias/ │ ├─ 35/ ← Ejemplo de estructura futura, NO publicado │ │ ├─ guia.json │ │ ├─ cover.jpg │ │ └─ puntos/ │ │ └─ 001/ │ │ ├─ foto-01.webp │ │ └─ audio-es.mp3 (opcional) │ └─ 10/ └─ autores/
Los subdirectorios de ejemplo 35/ y 10/ no se han incluido en el paquete inicial porque aún falta recuperar el detalle completo de esas audioguías.
IDs únicos y rutas relativas
- El nombre de la carpeta de audioguía coincide con su
idúnico. Varias guías pueden pertenecer a Retortillo de Soria sin compartir carpeta. - El JSON antiguo de Firebase utiliza un campo numérico
IDdistinto de la clave interna de Firebase. Para las guías existentes se propone conservar elIDhistórico: Retortillo35, Centro de Madrid10. - Tu
guias.jsonnuevo utiliza1y2; hay que reconciliarlo antes de publicar. - Dentro de las audioguías, los puntos tienen un
idestable y un campoordenindependiente; reordenarlos no debe obligar a renombrar carpetas. - Los valores de rutas relativas de los JSON apuntan desde la base
https://data.audioguidesapp.com/v1/. Por ejemploguias/35/cover.jpg.
Catálogo: v1/guias.json
Contiene un array JSON de fichas resumidas. El formato propuesto parte del archivo guias.json facilitado: ID, estado, autorId, coordenadas, idiomas, textos, imagen, modos, número de puntos, acceso, valoración y versión.
Ejemplo documental (no se incluye en el catálogo publicado):
[
{
"id": "35",
"estado": "publicada",
"autorId": "Retorstudios",
"ubicacion": {
"ciudad": "Retortillo de Soria", "pais": "ES",
"lat": 41.312324, "lng": -2.981106
},
"idiomas": ["es"],
"textos": {"es": {"nombre": "Conoce Retortillo de Soria"}},
"imagen": "guias/35/cover.jpg",
"puntos": 17,
"version": 1
}
]Solo deben figurar como publicada las audioguías con ficha de detalle disponible y archivos esenciales verificables.
Detalle y puntos de interés
Cada guia.json contendrá los metadatos de la audioguía y sus puntos, cada uno con ID, título, texto narrable, posición, imágenes y audio opcional. El contrato completo está pendiente de confirmar con un ejemplo íntegro recuperado.
Ejemplo solo estructural (texto/coordenadas aún sin completar):
{
"id": "35",
"version": 1,
"puntos": [
{
"id": "001",
"orden": 1,
"ubicacion": { "lat": null, "lng": null },
"textos": { "es": { "titulo": "", "contenido": "" } },
"imagenes": ["guias/35/puntos/001/foto-01.webp"],
"audios": { "es": null }
}
]
}Comportamiento del reproductor
- Si existe audio para el idioma elegido, reproducir el archivo indicado.
- Si no hay audio, usar el texto del punto como entrada para lectura TTS.
- La política de idioma alternativo y funcionamiento offline debe acordarse antes de implementar clientes.
puntos es un número; en el detalle de la audioguía, puntos es la colección de objetos completos.Web, Android e iOS
- Solicitar
GET /v1/guias.jsonpara listado, filtros y mapa. - Al abrir una guía, solicitar
GET /v1/guias/{id}/guia.json. - Resolver imágenes y MP3 conforme a las rutas entregadas en JSON.
- La web mostrará contenido y reproductor en páginas indexables de WordPress; Android/iOS compartirán el contenido pero podrán añadir GPS y descargas.
Publicación futura: WordPress se plantea como gestor de creación y edición, respaldado por una base de datos y una API autenticada. La publicación actualizaría automáticamente estos JSON. No hay API de escritura pública ni usuarios conectados a este subdominio por ahora.
Seguridad y mantenimiento
- Solo archivos públicos. Prohibido subir exportaciones completas de Firebase, datos personales de usuarios, comentarios, claves de API, tokens y copias privadas.
- Servir por HTTPS y desactivar el listado de directorios. Verificar permisos de archivos.
- Para peticiones del navegador de WordPress, configurar CORS únicamente con los orígenes web necesarios.
- Validar JSON, coordenadas, rutas, archivos y tipos MIME antes de publicar.
- Mantener copias de seguridad externas, controlar espacio y ancho de banda, y planificar caché y versionado.
Qué queda por acordar
- Recuperación de un JSON real y completo con sus puntos.
- Contrato definitivo de
guia.json, idiomas, narración TTS y formato de imágenes. - Gestión de usuarios que crean audioguías y moderación de publicaciones.
- API autenticada de creación/edición, modo offline, valoraciones y monetización.
- Integración de publicación con WordPress y enlace a páginas SEO existentes.
/v2/), para no romper Android e iOS.