Actividades
Forzar Reintento de Despacho
Reintentar el despacho de una actividad en estado FAILED. Acción administrativa que bypassa el state machine y resetea la actividad a READY para un dispatch inmediato.
PATCH /api/activities/:id/force-retry-dispatch
Reintenta el despacho de una actividad en estado FAILED. Es una acción administrativa que bypassa el state machine (la transición FAILED → READY no es válida bajo las transitions regulares) y se utiliza cuando los reintentos automáticos se agotaron y un operador con permiso necesita forzar un nuevo intento.
Auth: Requerido — permiso FORCE_RETRY_DISPATCH_ACTIVITY
Parámetros de Ruta
| Parámetro | Tipo | Descripción |
|---|---|---|
id | UUID | ID de la actividad |
Ejemplo
curl -X PATCH https://api.reten.ai/api/activities/ee0e8400-e29b-41d4-a716-446655440000/force-retry-dispatch \
-H "Authorization: Bearer <token>" \
-H "x-tenant-id: <tenant-id>"import axios from 'axios';
const response = await axios.patch(
'https://api.reten.ai/api/activities/ee0e8400-e29b-41d4-a716-446655440000/force-retry-dispatch',
{},
{
headers: {
Authorization: 'Bearer <token>',
'x-tenant-id': '<tenant-id>',
},
}
);
const { status } = response.data;
// status será "READY" tras el reset; el dispatch inmediato puede llevarla a DISPATCHED, RETRYING o FAILED nuevamenteRespuesta 200 OK
{
"status": "READY"
}Comportamiento
- Resetea el status de la actividad a
READYy limpia los campos de error (dispatchAttemptCount,errorCode,errorMessage,rawPayload). - Registra un status event
FORCE_RETRYasociado al usuario que ejecuta la acción. - Intenta el dispatch inmediatamente. Si el dispatch inmediato falla, el cron de reintento tomará la actividad en el próximo ciclo (la request no falla, solo se registra un warning).
- Bypassa el state machine: la transición
FAILED → READYno es válida bajo el state machine regular; este endpoint la fuerza intencionalmente como acción administrativa.
Respuestas de Error
| Estado | Descripción |
|---|---|
400 | La actividad no tiene dispatchConfigId (no usa proveedor externo). |
404 | Actividad no encontrada. |
409 | La actividad ya fue reintentada o cambió de estado (no está en FAILED). |