Update Appointment External ID

View as Markdown
# Update Appointment External ID (`mutation`) Esta mutación permite actualizar de manera dinámica el identificador alfanumérico externo (`externalId`) asignado a una cita existente. Es una herramienta operativa clave para corregir, sincronizar o remapear las claves de correspondencia entre la plataforma y los sistemas de origen del integrador (como CRMs, gestores de expedientes o plataformas de tramitación). ⚠️ **Regla crítica de estado (Business Rule):** Para que la actualización sea procesada con éxito por el backend, la cita debe encontrarse estrictamente en un estado activo o pendiente. El motor de validación de la API denegará la mutación lanzando una excepción si la cita se encuentra en alguno de los siguientes estados de cierre o bloqueo: - **Cancelado** (`-1`) - **Finalizado** (`60`) - **Incompleto** (`65`) ### 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) | **Key** | **Value** | **Requerido** | **Descripción** | | --- | --- | --- | --- | | **x-jwt-token** | {{token}} | SI | Token JWT de autenticación obtenido previamente en el método de login. | ## Referencia de la API ### Parámetros de entrada (Path parameters) | Parámetro | Descripción | Requerido | Tipo | | --- | --- | --- | --- | | **council** | Objeto contenedor principal con las propiedades de la cita que se desean modificar. | SI | CouncilInput | | council.**id** | Identificador numérico único de la cita (`councilId`) sobre la cual se aplicará el cambio. | SI | Integer | | council.**externalId** | Nuevo código o cadena alfanumérica de correspondencia externa aportada por el sistema externo. | SI | String | ### Campos de respuesta (Payload) La mutación devuelve un objeto de confirmación estructurado bajo el campo raíz `updateCouncil`: | Parámetro | Descripción | Tipo | | --- | --- | --- | | **updateCouncil** | Objeto contenedor con los datos actualizados de la cita. | Object | | updateCouncil.**id** | Identificador único de la cita procesada. | Integer | | updateCouncil.**externalId** | Confirmación del nuevo identificador externo persistido de forma correcta en la base de datos. | String | ## Ejemplos de código y peticiones ### 1\. Consulta GraphQL ``` graphql mutation UpdateCouncil ( $council: CouncilInput! ){ updateCouncil( council: $council ) { id externalId } } ``` ### 2\. Variables de la petición (JSON Payload) ``` json { "council": { "id": 65245, "externalId": "IdExterno000001" } } ``` ### 3\. Ejemplo de comando cURL ``` bash curl --location 'https://api.ovac.pre.councilbox.com/graphql' \ --header 'Content-Type: application/json' \ --header 'x-jwt-token: *****************' \ --data '{"query":"mutation UpdateCouncil ($council: CouncilInput!){ updateCouncil(council: $council) { id externalId } }","variables":{"council":{"id":65245,"externalId":"IdExterno000001"}}}' ``` ### 4\. Respuesta esperada (200 OK) ``` json { "data": { "updateCouncil": { "id": 65245, "externalId": "IdExterno000001" } } } ``` ### 5\. Respuesta cita Cancelada, Finalizada o Incompleta (400 KO) ``` json { "errors": [ { "message": "The externalId is not available in this company", "code": 400, "locations": [ { "line": 4, "column": 5 } ], "path": [ "updateCouncil" ], "originalError": { "name": "UserError", "code": 400 } } ], "data": { "updateCouncil": null } } ``` > **Nota OpenAPI/Fern:** esta operación GraphQL se documenta como `/graphql/updatecouncil` 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.