Reten Docs
Configuración de Actividades

Configuraciones de Estados de Retencion

Configuracion por tenant de estados de retencion de usuario activos.

GET /api/user-retention-status-configs

Lista todas las configuraciones de estados de retencion del tenant.

Auth: Requerida — permiso VIEW_ACTIVITIES

Ejemplo

curl https://api.reten.ai/api/user-retention-status-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/user-retention-status-configs',
  {
    headers: {
      Authorization: 'Bearer <token>',
      'x-tenant-id': '<tenant-id>',
    },
  }
);

const configs = response.data;

Respuesta 200 OK

[
  {
    "id": "aa0e8400-e29b-41d4-a716-446655440000",
    "userRetentionStatusId": "c3d4e5f6-a7b8-9012-cdef-123456789012",
    "code": "active",
    "label": "Activo",
    "isActive": true,
    "userRetentionStatus": {
      "code": "active",
      "label": "Active"
    }
  },
  {
    "id": "bb0e8400-e29b-41d4-a716-446655440000",
    "userRetentionStatusId": "d4e5f6a7-b8c9-0123-defa-234567890123",
    "code": "at_risk",
    "label": "En Riesgo",
    "isActive": true,
    "userRetentionStatus": {
      "code": "at_risk",
      "label": "At Risk"
    }
  }
]

POST /api/user-retention-status-configs

Crea una configuracion de estado de retencion para el tenant.

Auth: Requerida — permiso MANAGE_ACTIVITY_CONFIG

Cuerpo de la Solicitud

CampoTipoRequeridoDescripcion
user_retention_status_idUUIDSiID del estado de retencion global
labelstringSiEtiqueta de visualizacion para este tenant

Ejemplo

curl -X POST https://api.reten.ai/api/user-retention-status-configs \
  -H "Authorization: Bearer <token>" \
  -H "x-tenant-id: <tenant-id>" \
  -H "Content-Type: application/json" \
  -d '{
    "user_retention_status_id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
    "label": "Activo"
  }'
import axios from 'axios';

const response = await axios.post(
  'https://api.reten.ai/api/user-retention-status-configs',
  {
    user_retention_status_id: 'c3d4e5f6-a7b8-9012-cdef-123456789012',
    label: 'Activo',
  },
  {
    headers: {
      Authorization: 'Bearer <token>',
      'x-tenant-id': '<tenant-id>',
    },
  }
);

Respuesta 201 Created


POST /api/user-retention-status-configs/bulk

Creacion masiva de configuraciones de estados de retencion del tenant.

Auth: Requerida — permiso MANAGE_ACTIVITY_CONFIG

Cuerpo de la Solicitud

CampoTipoRequeridoDescripcion
itemsarraySiArray de configuraciones a crear
items[].user_retention_status_idUUIDSiID del estado de retencion global
items[].labelstringSiEtiqueta de visualizacion para este tenant

Ejemplo

curl -X POST https://api.reten.ai/api/user-retention-status-configs/bulk \
  -H "Authorization: Bearer <token>" \
  -H "x-tenant-id: <tenant-id>" \
  -H "Content-Type: application/json" \
  -d '{
    "items": [
      {
        "user_retention_status_id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
        "label": "Activo"
      },
      {
        "user_retention_status_id": "d4e5f6a7-b8c9-0123-defa-234567890123",
        "label": "En Riesgo"
      }
    ]
  }'
import axios from 'axios';

const response = await axios.post(
  'https://api.reten.ai/api/user-retention-status-configs/bulk',
  {
    items: [
      {
        user_retention_status_id: 'c3d4e5f6-a7b8-9012-cdef-123456789012',
        label: 'Activo',
      },
      {
        user_retention_status_id: 'd4e5f6a7-b8c9-0123-defa-234567890123',
        label: 'En Riesgo',
      },
    ],
  },
  {
    headers: {
      Authorization: 'Bearer <token>',
      'x-tenant-id': '<tenant-id>',
    },
  }
);

Respuesta 201 Created


PATCH /api/user-retention-status-configs/:id

Actualiza una configuracion de estado de retencion del tenant.

Auth: Requerida — permiso MANAGE_ACTIVITY_CONFIG

Cuerpo de la Solicitud

CampoTipoRequeridoDescripcion
labelstringNoEtiqueta de visualizacion
is_activebooleanNoHabilitar o deshabilitar esta configuracion

Ejemplo

curl -X PATCH https://api.reten.ai/api/user-retention-status-configs/<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/user-retention-status-configs/<id>',
  {
    label: 'Etiqueta Actualizada',
  },
  {
    headers: {
      Authorization: 'Bearer <token>',
      'x-tenant-id': '<tenant-id>',
    },
  }
);

Respuesta 200 OK


DELETE /api/user-retention-status-configs/:id

Desactiva una configuracion de estado de retencion del tenant.

Auth: Requerida — permiso MANAGE_ACTIVITY_CONFIG

Ejemplo

curl -X DELETE https://api.reten.ai/api/user-retention-status-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/user-retention-status-configs/<id>',
  {
    headers: {
      Authorization: 'Bearer <token>',
      'x-tenant-id': '<tenant-id>',
    },
  }
);

Respuesta 204 No Content