Configuraciones de Tipos de Resultado
Configuración por tenant de tipos de resultado activos.
GET /api/task-result-type-configs
Lista todas las configuraciones de tipos de resultado del tenant.
Auth: Requerida — permiso activity:view
Ejemplo
curl https://api.reten.ai/api/task-result-type-configs \
-H "Authorization: Bearer <token>" \
-H "x-tenant-id: <tenant-id>"import axios from 'axios';
const response = await axios.get(
'https://api.reten.ai/api/task-result-type-configs',
{
headers: {
Authorization: 'Bearer <token>',
'x-tenant-id': '<tenant-id>',
},
}
);
const configs = response.data;Respuesta 200 OK
[
{
"id": "880e8400-e29b-41d4-a716-446655440000",
"code": "success",
"label": "✅ Venta",
"requiresFutureScheduledAt": false,
"isActive": true,
"createdAt": "2026-06-18T06:00:00.000Z",
"updatedAt": "2026-06-18T06:00:00.000Z"
},
{
"id": "990e8400-e29b-41d4-a716-446655440000",
"code": "decision_maker_unavailable",
"label": "👤 No se encuentra",
"requiresFutureScheduledAt": false,
"isActive": true,
"createdAt": "2026-06-18T06:00:00.000Z",
"updatedAt": "2026-06-18T06:00:00.000Z"
}
]GET /api/task-result-type-configs/defaults
Devuelve los tipos de resultado por defecto de la plataforma como un catálogo plano { code, label }. La app de administración lo usa para prellenar el diálogo de importación con los tipos de resultado que un tenant puede adoptar.
Auth: Requerida — permiso activity:view
Este endpoint es prellenado, no una entidad. El payload es el catálogo de defaults hardcodeado — no autoritativo y NO se persiste — y siempre lista todos los defaults sin importar lo que el tenant ya tenga. Para adoptarlos, el admin elige los que aún faltan y los crea vía POST /api/task-result-type-configs/bulk. Llamar a este endpoint no crea nada.
Ejemplo
curl https://api.reten.ai/api/task-result-type-configs/defaults \
-H "Authorization: Bearer <token>" \
-H "x-tenant-id: <tenant-id>"import axios from 'axios';
const response = await axios.get(
'https://api.reten.ai/api/task-result-type-configs/defaults',
{
headers: {
Authorization: 'Bearer <token>',
'x-tenant-id': '<tenant-id>',
},
}
);
const defaults = response.data;Respuesta 200 OK
[
{
"code": "success",
"label": "✅ Venta"
},
{
"code": "decision_maker_unavailable",
"label": "👤 No se encuentra"
}
]POST /api/task-result-type-configs
Crea una configuración de tipo de resultado para el tenant.
Auth: Requerida — permiso activity-config:manage
Cuerpo de la Solicitud
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
code | string | Sí | Código único que identifica este tipo de resultado en el catálogo del tenant |
label | string | Sí | Etiqueta de visualización para este tenant |
Ejemplo
curl -X POST https://api.reten.ai/api/task-result-type-configs \
-H "Authorization: Bearer <token>" \
-H "x-tenant-id: <tenant-id>" \
-H "Content-Type: application/json" \
-d '{
"code": "success",
"label": "Exito"
}'import axios from 'axios';
const response = await axios.post(
'https://api.reten.ai/api/task-result-type-configs',
{
code: 'success',
label: 'Exito',
},
{
headers: {
Authorization: 'Bearer <token>',
'x-tenant-id': '<tenant-id>',
},
}
);Respuesta 201 Created
POST /api/task-result-type-configs/bulk
Creación masiva de configuraciones de tipos de resultado del tenant.
Auth: Requerida — permiso activity-config:manage
Cuerpo de la Solicitud
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
items | array | Sí | Array de configuraciones a crear |
items[].code | string | Sí | Código único que identifica este tipo de resultado en el catálogo del tenant |
items[].label | string | Sí | Etiqueta de visualización para este tenant |
Ejemplo
curl -X POST https://api.reten.ai/api/task-result-type-configs/bulk \
-H "Authorization: Bearer <token>" \
-H "x-tenant-id: <tenant-id>" \
-H "Content-Type: application/json" \
-d '{
"items": [
{
"code": "success",
"label": "Exito"
},
{
"code": "no_answer",
"label": "Sin respuesta"
}
]
}'import axios from 'axios';
const response = await axios.post(
'https://api.reten.ai/api/task-result-type-configs/bulk',
{
items: [
{
code: 'success',
label: 'Exito',
},
{
code: 'no_answer',
label: 'Sin respuesta',
},
],
},
{
headers: {
Authorization: 'Bearer <token>',
'x-tenant-id': '<tenant-id>',
},
}
);Respuesta 201 Created
PATCH /api/task-result-type-configs/:id
Actualiza una configuración de tipo de resultado del tenant.
Auth: Requerida — permiso activity-config:manage
Cuerpo de la Solicitud
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
label | string | No | Etiqueta de visualización |
is_active | boolean | No | Habilitar o deshabilitar esta configuración |
Ejemplo
curl -X PATCH https://api.reten.ai/api/task-result-type-configs/<id> \
-H "Authorization: Bearer <token>" \
-H "x-tenant-id: <tenant-id>" \
-H "Content-Type: application/json" \
-d '{
"is_active": false
}'import axios from 'axios';
const response = await axios.patch(
'https://api.reten.ai/api/task-result-type-configs/<id>',
{
is_active: false,
},
{
headers: {
Authorization: 'Bearer <token>',
'x-tenant-id': '<tenant-id>',
},
}
);Respuesta 200 OK
DELETE /api/task-result-type-configs/:id
Desactiva una configuración de tipo de resultado del tenant.
Auth: Requerida — permiso activity-config:manage
Ejemplo
curl -X DELETE https://api.reten.ai/api/task-result-type-configs/<id> \
-H "Authorization: Bearer <token>" \
-H "x-tenant-id: <tenant-id>"import axios from 'axios';
const response = await axios.delete(
'https://api.reten.ai/api/task-result-type-configs/<id>',
{
headers: {
Authorization: 'Bearer <token>',
'x-tenant-id': '<tenant-id>',
},
}
);