Configuración de Actividades
Razones de Actividad
CRUD del catalogo global de razones de actividad.
GET /api/activity-reasons
Lista todas las razones de actividad globales.
Auth: Requerida — permiso VIEW_ACTIVITIES
Parámetros de Consulta
| Parámetro | Tipo | Default | Descripción |
|---|---|---|---|
active_only | boolean | false | Cuando es true, retorna solo razones activas |
Ejemplo
curl https://api.reten.ai/api/activity-reasons \
-H "Authorization: Bearer <token>" \
-H "x-tenant-id: <tenant-id>"import axios from 'axios';
const response = await axios.get(
'https://api.reten.ai/api/activity-reasons',
{
headers: {
Authorization: 'Bearer <token>',
'x-tenant-id': '<tenant-id>',
},
}
);
const activityReasons = response.data;Respuesta 200 OK
[
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"code": "retention",
"label": "Retencion",
"description": "Actividad de retencion de clientes",
"isActive": true,
"createdAt": "2026-01-15T10:00:00.000Z",
"updatedAt": "2026-01-15T10:00:00.000Z"
},
{
"id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"code": "upsell",
"label": "Upsell",
"description": "Oportunidad de venta adicional",
"isActive": true,
"createdAt": "2026-01-15T10:00:00.000Z",
"updatedAt": "2026-01-15T10:00:00.000Z"
}
]POST /api/activity-reasons
Crea una nueva razon de actividad global.
Auth: Requerida — permiso MANAGE_ACTIVITY_CONFIG
Cuerpo de la Solicitud
| Campo | Tipo | Requerido | Descripcion |
|---|---|---|---|
code | string | Si | Codigo unico identificador |
label | string | Si | Etiqueta de visualizacion |
description | string | No | Descripcion de la razon de actividad |
Ejemplo
curl -X POST https://api.reten.ai/api/activity-reasons \
-H "Authorization: Bearer <token>" \
-H "x-tenant-id: <tenant-id>" \
-H "Content-Type: application/json" \
-d '{
"code": "collections",
"label": "Cobranza",
"description": "Actividad de cobranza"
}'import axios from 'axios';
const response = await axios.post(
'https://api.reten.ai/api/activity-reasons',
{
code: 'collections',
label: 'Cobranza',
description: 'Actividad de cobranza',
},
{
headers: {
Authorization: 'Bearer <token>',
'x-tenant-id': '<tenant-id>',
},
}
);Respuesta 201 Created
PATCH /api/activity-reasons/:id
Actualiza una razon de actividad.
Auth: Requerida — permiso MANAGE_ACTIVITY_CONFIG
Cuerpo de la Solicitud
| Campo | Tipo | Requerido | Descripcion |
|---|---|---|---|
label | string | No | Etiqueta de visualizacion |
description | string | No | Descripcion de la razon de actividad |
is_active | boolean | No | Habilitar o deshabilitar esta razon de actividad |
Ejemplo
curl -X PATCH https://api.reten.ai/api/activity-reasons/<id> \
-H "Authorization: Bearer <token>" \
-H "x-tenant-id: <tenant-id>" \
-H "Content-Type: application/json" \
-d '{
"label": "Etiqueta Actualizada"
}'import axios from 'axios';
const response = await axios.patch(
'https://api.reten.ai/api/activity-reasons/<id>',
{
label: 'Etiqueta Actualizada',
},
{
headers: {
Authorization: 'Bearer <token>',
'x-tenant-id': '<tenant-id>',
},
}
);Respuesta 200 OK
DELETE /api/activity-reasons/:id
Elimina una razon de actividad.
Auth: Requerida — permiso MANAGE_ACTIVITY_CONFIG
Ejemplo
curl -X DELETE https://api.reten.ai/api/activity-reasons/<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/activity-reasons/<id>',
{
headers: {
Authorization: 'Bearer <token>',
'x-tenant-id': '<tenant-id>',
},
}
);