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 |
Sí |
ID de la incidencia |
Body (JSON)
| Campo |
Tipo |
Obligatorio |
Descripción |
response |
string |
Sí |
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