Antylogic
Probar demoAcceso app

399 guías operativas

Secciones de Docs
DocsDocumentación y ayuda
Dispositivo

Obtener un asset de Docs autenticado

Confirma que un usuario autenticado de la app puede cargar un fichero de media de Docs a través de `/api/app/docs/assets/{path}` tras la autenticación de la app, la limpieza de la ruta y las comprobaciones de la raíz de assets.

En este artículo

Usa esta guía cuando un operador de soporte, documentación o QA necesite verificar que una imagen de artículo de Docs o una ruta directa de asset está disponible para el usuario demo en el contexto demo de ES.

La acción es de solo lectura. Una petición correcta devuelve los bytes de la media almacenada, no JSON, y la ruta no sube, redimensiona, convierte ni comprueba permisos a nivel de organización después de la autenticación de la app.

Antes de empezar

  • El backend está en ejecución con las rutas de la app registradas y la validación de tokens activada.
  • El usuario demo tiene una sesión activa de la app o un access token para Grupo Marea Demo.
  • La cuenta está activa y no pendiente de eliminación.
  • `DOCS_ASSETS_PATH`, o el fallback `assets` del contenido de docs, apunta a la raíz de media generada de docs.
  • El fichero `iphone/light/es/ver-calendario-reservas/reservations-calendar.png` existe bajo la raíz de assets de docs.

Instrucciones

  1. 1.

    Parte de una sesión autenticada

    Inicia sesión en la app antes de pedir el asset. La ruta acepta `Authorization: Bearer ...` o una cookie `access_token`, y bloquea las cuentas ausentes, inválidas o pendientes de eliminación antes de buscar el asset.

  2. 2.

    Usa la ruta del fichero como clave de búsqueda

    Solicita la ruta real dentro de la raíz de assets. El servicio directo de assets no busca por `asset_id`, `capture_id`, locale, plataforma, dispositivo, tema ni texto de consulta.

  3. 3.

    Solicita el asset

    Abre `GET /api/app/docs/assets/iphone/light/es/ver-calendario-reservas/reservations-calendar.png` desde el contexto autenticado. El handler de assets sirve el fichero directamente y no carga `articles.json` para peticiones directas de assets.

  4. 4.

    Confirma la respuesta del fichero

    Un GET correcto muestra el PNG del calendario de reservas. Las extensiones reconocidas fijan `Content-Type`, la caché de assets configurada fija `Cache-Control`, y HEAD sigue la misma ruta de validación sin devolver el cuerpo.

  5. 5.

    Verifica la ruta de consumo desde el artículo

    Abre `antylogic://docs/reservas/es-ver-calendario-reservas` en la app autenticada. La respuesta de detalle del artículo reescribe la media de Docs a `/api/app/docs/assets/{path}` antes de que la pantalla de Documentación muestre la URI de la imagen.

  6. 6.

    Interpreta los fallos

    Usa los códigos de estado para aislar el problema: 401 para autenticación, 403 para pendiente de eliminación, 400 para rutas limpiadas inválidas, 404 para ficheros o directorios ausentes, 405 para métodos no soportados y 503 para contenido de Docs no configurado.

Validaciones y límites

  • Autentica la petición de la app antes del despacho de rutas.
  • Bloquea las cuentas pendientes de eliminación salvo la lista explícita de recuperación de `/me`, que no incluye los assets de Docs.
  • Permite solo GET y HEAD para las rutas de Docs.
  • Exige al menos un segmento de ruta después de `assets/`.
  • Limpia la ruta con `path.Clean` y rechaza las formas vacías, de punto y de recorrido al directorio padre.
  • Verifica que la ruta de fichero resuelta permanece dentro de la raíz de assets de docs configurada.
  • Rechaza los ficheros ausentes y los directorios.
  • Trata las respuestas correctas como bytes de media; el JSON se usa para las respuestas de error.

Resultado esperado

El operador puede confirmar que el servicio autenticado de assets de Docs funciona para la imagen del calendario de reservas de ES y que la misma media se muestra desde la ruta del artículo de Documentación de la app.

Artículos relacionados