Skip to navigation

Reschedule Appointment

View as Markdown

Esta mutación permite cambiar la fecha y hora de una cita existente en el sistema. El método incluye opciones integradas para validar la disponibilidad del nuevo hueco en tiempo real, inyectar un mensaje personalizado de notificación para el ciudadano y gestionar de forma dinámica la asignación o reasignación del agente encargado de la atención.

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
councilIdIdentificador único de la cita que se va a modificar.SIInteger
newDateNueva fecha y hora programada para la cita, expresada en formato UTC (ISO 8601).SIString
messageMensaje de texto opcional que se enviará al ciudadano notificando el cambio.NOString
checkagendatrue -> El sistema valida que el nuevo slot esté libre.
false -> Fuerza el cambio y permite reagendar saltándose la validación de la agenda.
NOBoolean
assignedUserControl de asignación del agente profesional:
-1 -> Delega la gestión en el sistema para una asignación automática.
ID numérico -> Fuerza la asignación al ID interno del usuario en OVAC.
Omitido / null -> La cita quedará desasignada.
NOInteger

⚠️ Regla de Negocio Crítica (Asignación): Si el parámetro assignedUser se omite de las variables o se envía como null, la cita pasará automáticamente al estado de “Sin asignar”, perdiendo el operador original. Se recomienda verificar las reglas del flujo de tu organización antes de dejar este campo vacío.

Campos de respuesta (Payload)

La operación devuelve un objeto funcional con el estado resultante del cambio temporal:

ParámetroDescripciónTipo
successValor booleano que indica si la cita se pudo reagendar correctamente (true) o si fue denegada (false).Boolean
messageCadena de texto explicativa en caso de fallo (ej. “Slot no disponible”). Si la operación es exitosa, se devuelve como null.String

Ejemplos de Código y Peticiones

1. Mutación GraphQL

mutation RescheduleAppointment(
$councilId: ID!,
$newDate: String!,
$message: String,
$checkAgenda: Boolean,
$assignedUser: Int
) {
rescheduleAppointment(
councilId: $councilId,
newDate: $newDate,
message: $message,
checkAgenda: $checkAgenda,
assignedUser: $assignedUser
) {
success
message
}
}

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

{
"councilId": 64876,
"newDate": "2026-05-20T12:00Z",
"message": "Su cita ha sido reprogramada por motivos de agenda institucional.",
"checkAgenda": true,
"assignedUser": -1
}

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":"mutation RescheduleAppointment($councilId: ID!, $newDate: String!, $message: String, $checkAgenda: Boolean, $assignedUser: Int){ rescheduleAppointment(councilId: $councilId, newDate: $newDate, message: $message, checkAgenda: $checkAgenda, assignedUser: $assignedUser){ success message } }","variables":{"councilId":64876,"newDate":"2026-05-20T12:00Z","message":"","checkAgenda":true,"assignedUser":-1}}'

4. Respuesta Esperada (200 OK)

{
"data": {
"rescheduleAppointment": {
"success": true,
"message": null
}
}
}

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