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 Texto del comentario (máx 10 000 caracteres)
usuarioId int 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.