Saltar a contenido

POST /api/v2/incident/:id/admin-thread

Añade un mensaje de administrador al hilo de una incidencia de fichaje. Requiere rol de administrador.

Autenticación

Authorization: Bearer <token>

Autorización

Requiere rol de administrador (middleware isAuthorized([])).

Path Parameters

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

Body (JSON)

Campo Tipo Obligatorio Descripción
response string Contenido del mensaje

Ejemplo de petición

curl -X POST "$HOST/api/v2/incident/123/admin-thread" \
  -H "Authorization: Bearer $ADMIN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "response": "Hemos revisado tu incidencia y necesitamos más información"
  }'

Respuesta exitosa (201)

{
  "status": "success",
  "data": {
    "thread": {
      "id": 46,
      "incidentId": 123,
      "employeeId": 1,
      "response": "Hemos revisado tu incidencia y necesitamos más información",
      "senderType": "admin",
      "createdAt": "2025-01-15T11:00:00.000Z",
      "employee": {
        "id": 1,
        "name": "Admin",
        "lastName": "Sistema"
      }
    }
  }
}

Diferencia con endpoint de empleado

Aspecto /thread (empleado) /admin-thread (admin)
senderType "user" "admin"
Autorización Solo dueño de la incidencia Cualquier admin
Middleware protectToken protectToken + isAuthorized([])

Errores

Código Mensaje Descripción
400 employeeId missing from token Token inválido
400 Invalid incident id ID no válido
400 response is required Mensaje vacío o no proporcionado
400 Cannot add thread to a closed incident La incidencia ya está cerrada
403 Forbidden Usuario no tiene rol de administrador
404 Incident not found Incidencia no existe
401 Unauthorized Token no proporcionado o expirado

Eventos de Socket

Al crear un mensaje de admin, se emiten los siguientes eventos: - incident_{incidentId}: con el objeto thread creado - listen_notify_update_all: notificación con tipo ADMIN_THREAD_INCIDENT