Saltar a contenido

Responder, cerrar y reabrir una incidencia

Añadir comentario

POST /apientidades/v1/incidencias/{id}/comentario

Añade un comentario a una incidencia. Útil para proporcionar información adicional o responder al Comisionado.

Parámetros de ruta

Parámetro Tipo Descripción
id int ID de la incidencia

Body de la petición

{
  "comentario": "Hemos verificado y el problema persiste. Adjuntamos captura de pantalla en el portal.",
  "usuarioId": 501
}
Campo Tipo Obligatorio Descripción
comentario string Sí Texto del comentario (máx 10 000 caracteres)
usuarioId int Sí ID del usuario que comenta. Debe ser un usuario activo de la entidad (GET /usuarios)

usuarioId obligatorio

Al igual que en la creación, el campo usuarioId es obligatorio al añadir comentarios. Sirve para trazar qué usuario respondió concretamente.

Ejemplo de petición

curl -s -X POST \
  "https://apientidades-pro.transparenciacanarias.org/apientidades/v1/incidencias/201/comentario" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "comentario": "Hemos verificado y el problema persiste desde ayer.",
    "usuarioId": 501
  }' | jq .
response = requests.post(
    f"{BASE_URL}/incidencias/201/comentario",
    headers=headers,
    json={
        "comentario": "Hemos verificado y el problema persiste.",
        "usuarioId": 501
    }
)
result = response.json()
print(f"Comentario creado: id={result['id']}")
# Guardar result['id'] si vas a subir adjuntos a este mensaje
var payload = new
{
    comentario = "Hemos verificado y el problema persiste.",
    usuarioId = 501
};

var content = new StringContent(
    JsonConvert.SerializeObject(payload), Encoding.UTF8, "application/json");
var response = await client.PostAsync(
    $"{baseUrl}/incidencias/201/comentario", content);
Console.WriteLine(await response.Content.ReadAsStringAsync());

Respuesta exitosa (200)

{
  "id": 123,
  "message": "Comentario añadido."
}
Campo Tipo Descripción
id int ID del mensaje creado en el histórico. Úselo para adjuntar ficheros con POST /incidencias/{id}/adjuntos
message string Mensaje de confirmación

Validaciones

Validación Límite Error
Comentario Obligatorio, máx 10 000 chars 400
usuarioId Obligatorio y debe ser un usuario activo de la entidad 400
Sanitización HTML Tags HTML eliminados Prevención XSS

Cerrar incidencia

POST /apientidades/v1/incidencias/{id}/cerrar

Cierra una incidencia. La incidencia no se elimina, solo cambia su estado a Cerrada (2). Puede volver a abrirse con el endpoint de reabrir.

Parámetros de ruta

Parámetro Tipo Descripción
id int ID de la incidencia

Body

No requiere body.

Ejemplo de petición

curl -s -X POST \
  "https://apientidades-pro.transparenciacanarias.org/apientidades/v1/incidencias/201/cerrar" \
  -H "Authorization: Bearer $TOKEN" | jq .
response = requests.post(f"{BASE_URL}/incidencias/201/cerrar", headers=headers)
print(response.json())
var response = await client.PostAsync(
    $"{baseUrl}/incidencias/201/cerrar", null);

Respuesta exitosa (200)

{
  "message": "Incidencia cerrada."
}

Reabrir incidencia

POST /apientidades/v1/incidencias/{id}/reabrir

Reabre una incidencia previamente cerrada. La incidencia vuelve al estado Abierta (0) y el Comisionado recibe una notificación en tiempo real de la reapertura.

Idempotente: si la incidencia ya estaba abierta, la petición devuelve 200 OK sin hacer ningún cambio.

Parámetros de ruta

Parámetro Tipo Descripción
id int ID de la incidencia a reabrir

Body

No requiere body.

Ejemplo de petición

curl -s -X POST \
  "https://apientidades-pro.transparenciacanarias.org/apientidades/v1/incidencias/201/reabrir" \
  -H "Authorization: Bearer $TOKEN" | jq .
response = requests.post(f"{BASE_URL}/incidencias/201/reabrir", headers=headers)
print(response.json())
var response = await client.PostAsync(
    $"{baseUrl}/incidencias/201/reabrir", null);

Respuesta exitosa (200)

{
  "message": "Incidencia reabierta."
}

Buenas prácticas para reabrir

Reabra una incidencia cuando el problema por el que se cerró vuelva a ocurrir o cuando necesite aportar información posterior al cierre. Para problemas nuevos no relacionados, cree una incidencia nueva en lugar de reabrir una antigua: facilita la trazabilidad del historial.


Errores posibles (todos los endpoints)

Código Descripción
400 Validación fallida (comentario vacío, usuarioId ausente, etc.)
401 Token ausente, expirado o inválido
404 La incidencia no existe o no pertenece a la entidad

Consulta sin alterar el estado de lectura

Por defecto, GET /incidencias/{id} no marca la incidencia como leída, para que los clientes M2M puedan pollear sin alterar el estado que ve el administrador. Si desea marcarla como leída al consultarla, use GET /incidencias/{id}?marcarLeida=true.

Flujo completo

Consulte el detalle de la incidencia (GET /incidencias/{id}) para ver todo el historial de conversación, incluyendo los comentarios del Comisionado y los adjuntos.