Appointment Document Folders

View as Markdown
# Appointment Document Folders (`query`) Esta operación permite consultar de forma consolidada todos los elementos documentales, carpetas de intercambio general, puntos del orden del día (`agendas`) y archivos adjuntos cargados o generados durante el transcurso de una cita específica utilizando su identificador único. ### Autenticación > **Tipo:** API Key** Header:** `x-jwt-token` **Ubicación:** Header HTTP_ Ejemplo:_ `x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6...` ## Referencia de la API ### Parámetros de Entrada (Variables) | Parámetro | Descripción | Requerido | Tipo | | --- | --- | --- | --- | | councilId | Identificador de la cita | SI | Integer | ### Campos de Respuesta (Payload) La respuesta devuelve un objeto raíz `council` que segrega los recursos digitales en dos grandes categorías (documentos de intercambio libre y documentos estructurados por pasos): | | Descripción | Tipo | | --- | --- | --- | | council | Objeto raíz que contiene toda la información y adjuntos de la cita solicitada | Objeto | | council.documents | Listado de documentos asociados a la cita | Array | | council.documents\[\].id | Identificador único del documento global en el sistema. | Int | | council.documents\[\].title | Título, descripción o categoría de la documentación intercambiada. | String | | council.documents\[\].attachments | Archivos adjuntos asociados directamente al bloque de documentos globales. | Array | | council.agendas | Listado de puntos del orden del día, fases del trámite o acciones realizadas en la sesión. | Array | | council.agendas\[\].id | Identificador único del punto del orden del día. | Int | | council.agendas\[\].name | Nombre o etiqueta descriptiva de la acción (ej. "Firma de documentación", "Formulario"). | String | | council.agendas\[\].attachments | Colección de archivos físicos generados, firmados o subidos en este punto específico. | Array | | council.agendas\[\].attachments.user | Objeto con los datos de identidad del profesional u operador que gestionó el archivo. | Object | | council.agendas\[\].attachments.user.id | Identificador único del usuario profesional en la plataforma. | Int | | council.agendas\[\].attachments.user.name | Nombre del usuario profesional. | String | | council.agendas\[\].attachments.user.surname | Apellidos del usuario profesional. | String | | council.agendas\[\].attachments.filename | Nombre original del archivo adjunto junto con su extensión (ej. "Test.pdf") | String | | council.agendas\[\].attachments.downloadUrl | Enlace URL para proceder a la descarga directa del archivo. | String | | council.agendas\[\].attachments.filesize | Tamaño total del archivo en disco expresado en bytes. | String | #### 1\. Documentación Intercambiada (`documents`) Colección de carpetas y archivos compartidos de forma global en la cita (fuera de los flujos de la agenda). - **`id`** (`Int`): Identificador único del contenedor de documentos. - **`title`** (`String`): Descripción o etiqueta de la categoría (ej. "Documentación intercambiada"). - **`attachments`** (`Array`): Archivos binarios individuales cargados. Cada archivo contiene: - `filename` (`String`): Nombre original y extensión del archivo. - `downloadUrl` (`String`): Enlace URL seguro para descargar el archivo. - `filesize` (`String`): Tamaño total del archivo en bytes. - `user` (`Object`): Datos del usuario profesional/agente si este subió el archivo (`id`, `name`, `surname`, `email`). Devolverá `null` si lo subió un ciudadano. - `participant` (`Object`): Datos del ciudadano/asistente si fue quien aportó el documento (`id`, `name`, `surname`, `email`). Devolverá `null` si lo subió un agente. #### 2\. Adjuntos por Puntos de la Agenda (`agendas`) Historial de archivos físicos generados, firmados o requeridos de manera específica en cada fase del trámite. - **`id`** (`Int`): Identificador único del punto del orden del día. - **`name`** (`String`): Nombre o etiqueta de la acción o fase (ej. "Firma de documentación", "Escaneo de documentación"). - **`attachments`** (`Array`): Colección de archivos adjuntos asociados a este paso concreto. Contiene: - `filename` (`String`): Nombre del archivo (ej. `"Test.pdf"`). - `downloadUrl` (`String`): Enlace URL de acceso para la descarga directa del binario. - `filesize` (`String`): Tamaño del archivo en bytes. - `user` (`Object`): Identidad del operador profesional que gestionó, cargó o activó este archivo en la sesión (`id`, `name`, `surname`). ## Ejemplos de Código y Peticiones ### 1\. Consulta GraphQL ``` graphql query CouncilDocumentation($councilId: Int!) { council(id: $councilId) { documents { id title attachments { user { name surname id email } participant { name surname email id } filename downloadUrl filesize } } agendas { id name attachments { user { id name surname } filename downloadUrl filesize } } } } ``` ### 2\. Variables de la Petición (JSON Payload) ``` json { "councilId": 64817 } ``` ### 3\. Ejemplo de comando cURL ``` bash curl --location "https://api.ovac.pre.councilbox.com/graphql" \ --header "Content-Type: application/json" \ --header "x-jwt-token: {{token}}" \ --data '{"query":"query CouncilDocumentation($councilId: Int!){ council(id: $councilId){ documents { id title attachments { user { name surname id email } participant { name surname email id } filename downloadUrl filesize } } agendas { id name attachments { user { id name surname } filename downloadUrl filesize } } } }","variables":{"councilId":64817}}' ``` ### 4\. Respuesta Esperada (200 OK) ``` json { "data": { "council": { "documents": [ { "id": 62718, "title": "Documentación intercambiada", "attachments": [] } ], "agendas": [ { "id": 89216, "name": "Escaneo de documentación", "attachments": [] }, { "id": 89215, "name": "PDF Interactivo", "attachments": [] }, { "id": 89218, "name": "Firma de documentación", "attachments": [ { "user": { "id": 3477, "name": "API", "surname": "PROFESIONAL" }, "filename": "Test.pdf", "downloadUrl": "https://api.ovac.pre.councilbox.com/agendaAttachment/42620", "filesize": "29909" } ] }, { "id": 89214, "name": "Formulario", "attachments": [] } ] } } } ``` > **Nota OpenAPI/Fern:** esta operación GraphQL se documenta como `/graphql/councildocumentation` para que Fern pueda mostrarla como operación independiente. La ruta técnica real de ejecución es `POST /graphql`.

Authentication

x-jwt-tokenstring
JWT token obtained from Login.

Request

This endpoint expects an object.
querystringRequired
GraphQL operation
variablesobjectOptional
GraphQL variables

Response

Successful response. GraphQL business errors may be returned inside the JSON errors field while transport status remains HTTP 200.