Skip to navigation

Get Appointments

View as Markdown

Este método permite obtener un listado paginado o filtrado de las citas que cumplan con los criterios de búsqueda especificados. Devuelve la información general y de control de cada registro junto con el recuento total de resultados coincidentes, siendo de gran utilidad para la sincronización de agendas y la generación de reportes consolidados por organización, rango de fechas o estados.

Detalles de la Solicitud

  • Método HTTP: POST

  • URL PRE: https://api.ovac.pre.councilbox.com/graphql

  • URL PRO: https://api.ovac.councilbox.com/graphql

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ámetroDescripciónRequeridoTipo
companyIdIdentificador de la organizaciónSIInteger
statelista de estados por los que filtrar las citas:
‘-1’ -> Cancelado
10 -> Confirmado
20 -> Sala abierta
25 -> Pausa
40 -> Finalizada la sesión de vídeoatención/Gestión
45 -> Procesando informe
60 -> Completada
65 -> Incompleta
SIInteger
fromDatefecha inicial del rango de búsqueda, formato UTC.SIString
toDatefecha final del rango de búsqueda, formato UTC.SIString

⚠️ Nota sobre councilTypes****: Aunque en algunos ejemplos heredados de variables se incluye el campo councilTypes, este no se encuentra declarado en la firma de la consulta base provista por el backend. Cualquier intento de enviarlo sin modificar la declaración de la query será ignorado de forma silenciosa.

Campos de Respuesta (Payload)

La consulta devuelve un objeto raíz councils compuesto por las siguientes propiedades:

DescripciónTipo
dataObjeto del conjunto de datosObject
data.councilsObjeto de la citaObject
data.councils.listArray de las citas obtenidas aplicando el filtroObject
data.councils.list[].idIdentificador de la citaInteger
data.councils.list[].nameNombre del trámite o cita modificado tras la creaciónString
data.councils.list[].observationsObservaciones que se han añadido para la citaString
data.councils.list[].stateEstado de la citaInteger
data.councils.list[].councilTypeTipo de cita (videoatención [5], gestión[6] o presencial[7])Integer
data.councils.list[].creationDateFecha de creación de cita, en formato UTCString
data.councils.list[].dateStartFecha determinada en la cual se va a realizar el trámite, en formato UTCString
data.councils.list[].dateRealEndFecha en la que se ha finalizado oficialmente la cita, en formato UTCString
data.councils.list[].dateRealStartecha en la que se iniciado oficialmente la cita, en formato UTCString
data.councils.list[].participantsArray de los participantesArray
data.councils.list[].participants[].nameNombre del participanteString
data.councils.list[].participants[].surnameApellido del participanteString
data.councils.list[].statuteObjeto del trámiteObject
data.councils.list[].statute.titleNombre del trámite en OVACString
data.councils.list[].statute.statuteIdIdentificador único del trámiteInteger
data.councils.totalRecuento del número de citas obtenidas con el filtro aplcadoInteger

Ejemplos de Código y Peticiones

1. Consulta GraphQL

query Councils(
$companyId: Int
$state: [Int]
$options: OptionsInput
$fromDate: String
$toDate: String
) {
councils(
companyId: $companyId
state: $state
options: $options
fromDate: $fromDate
toDate: $toDate
) {
list {
id
name
observations
state
councilType
creationDate
dateStart
dateRealEnd
dateRealStart
participants {
name
surname
}
statute {
title
statuteId
}
}
total
}
}

2. Variables de la Petición (JSON Payload)

{
"companyId": 2191,
"fromDate": "2026-05-17T00:00Z",
"toDate": "2026-05-19T00:00Z",
"state": [60],
}

3. Ejemplo de comando cURL

curl --location "https://api.ovac.pre.councilbox.com/graphql" \
--header "Content-Type: application/json" \
--header "x-jwt-token: {{token}}" \
--data '{"query":"query Councils($companyId: Int, $state: [Int], $options: OptionsInput, $fromDate: String, $toDate: String) { councils (companyId: $companyId, state: $state, options: $options, fromDate: $fromDate, toDate: $toDate ){ list { id name observations state councilType creationDate dateStart dateRealEnd dateRealStart participants { name surname } } total } }","variables":{"companyId":2191,"fromDate":"2026-05-17T00:00Z","toDate":"2026-05-19T00:00Z","state":[60]}}'

4. Respuesta Esperada (200 OK)

{
"data": {
"councils": {
"list": [
{
"id": 64767,
"name": "test creación cita",
"observations": "opcional",
"state": 60,
"councilType": 5,
"creationDate": "2026-04-23T15:16:10.085Z",
"dateStart": "2026-05-18T15:00:00.000Z",
"dateRealEnd": "2026-05-18T09:48:53.988Z",
"dateRealStart": "2026-05-18T09:48:37.215Z",
"participants": [
{
"name": "Name of participant",
"surname": "Surname of participant"
}
],
"statute": {
"id": 64888,
"title": "TEST",
"statuteId": 4685
}
}
],
"total": 1
}
}
}

Nota OpenAPI/Fern: esta operación GraphQL se documenta como /graphql/councils 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.