Skip to navigation

Upload Appointment Act

View as Markdown

A diferencia del resto de la API, este método no utiliza la arquitectura GraphQL. Se trata de un endpoint REST nativo diseñado específicamente para la transferencia de archivos binarios, permitiendo la carga del acta final previamente modificado con información propia de la organización.

Esta modalidad permite al cliente incorporar elementos adicionales, como un código de verificación, un sello corporativo o cualquier otra marca identificativa, aportando al documento final un mayor grado de personalización y alineación con la imagen corporativa de la entidad.

Detalles de la Solicitud

  • Método HTTP: POST

  • URL PRE: https://api.ovac.pre.councilbox.com/council/:councilId/act

  • URL PRO: https://api.ovac.councilbox.com/council/:councilId/act

  • Content-Type: multipart/form-data

Cabeceras (Headers)

KeyValueRequeridoDescripción
x-jwt-token{{token}}SIToken JWT de autenticación obtenido previamente en el método de login.

Referencia de la API

Parámetros de Ruta (Path Parameters)

ParámetroDescripciónRequeridoTipo
councilIdIdentificador único de la cita a la que se desea permitir el acceso.SIInteger

Cuerpo de la Petición (Body Parameters - form-data)

ParámetroDescripciónRequeridoTipo
fileArchivo físico del informe o acta (normalmente PDF) que contiene el CEA para almacenar en OVAC.SIFile (Binary)
notifyControl de notificaciones automáticas:
true -> Envía siempre una notificación al ciudadano informándole de la disponibilidad del documento (Valor por defecto si se omite).
Cualquier otro valor -> El sistema procesará el archivo sin enviar notificación al ciudadano.
NOBoolean

⚙️ Prerrequisitos de negocio:
Para que el backend acepte la carga del archivo, la cita debe encontrarse estrictamente en estado 45 (Procesando informe). Adicionalmente, este flujo requiere que la opción “Mostrar footer en informe de cita” esté deshabilitada.

Ejemplos de código y peticiones

1. Ejemplo de comando -cURL

Al tratarse de una petición de tipo formulario multimedia (multipart/form-data), la estructura define los campos del cuerpo de forma independiente al archivo binario:

curl --location "https://api.ovac.pre.councilbox.com/council/64879/act" \
--header "x-jwt-token: {{supabase_service_role_api_key_09s4}}IkpXVCJ9.eyJqdGkiOiIzZTVhZTA1NC1jZGUyLTQ0MWEtYTY3Zi1kMGExNzYwYzUxNzYiLCJ1c2VyX2lkIjozNDc2LCJ0b2tlbl90eXBlIjoidXNlciIsImlhdCI6MTc3OTE3NjE2M30.0cWaj4uUaArUQR3C-RwqlpLafkX5Rih4LZs9ZPNpEFY" \
--form "file=@\"/Ruta/Documentos/Informes/64879.pdf\"" \
--form "notify=\"true\""

Resultados Esperados (Respuestas HTTP)

Caso A: Éxito (200 OK)

Si la cita se encuentra en el estado correcto (45) y el archivo se procesa sin anomalías.

{
"success": true
}

Caso B: Error de validación (400 / 403 Bad Request)

Si la cita ya ha sido cerrada, es decir, está en estado 60 ya no es posible realizar ninguna modificación sobre el acta, pues es un estado final e irrevocable.

{
"message": "This council is not expecting this action"
}

💡 Tip para la integración en Postman: > Al dar de alta esta petición en tu colección, ve a la pestaña Body, marca la opción form-data y, al escribir la clave file, pasa el ratón sobre el extremo derecho de la casilla de texto para cambiar el desplegable de Text a File. Esto habilitará el botón nativo para seleccionar y adjuntar tu PDF de prueba.

Authentication

x-jwt-tokenstring
JWT token obtained from Login.

Path parameters

councilIdstringRequired

Request

This endpoint expects a multipart form containing a file.
filefileRequired
notifybooleanOptional

Response

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