Configuração de Ciclo de Vida
Activation Configs
Leia o pilar de ativação do ciclo de vida e seus momentos de ativação.
O activation config é o pilar de ativação de um Activity Generation Config. Define a fonte dos dados de atividade e um conjunto de momentos de ativação — regras ordenadas que classificam com que intensidade um usuário se ativou.
Este recurso é somente leitura: só existem GET (lista) e GET /:id. Os activation configs são criados e editados apenas através do fluxo do AGC — veja Criar AGC e Atualizar ciclo de vida.
Campos de resposta
| Campo | Tipo | Descrição |
|---|---|---|
id | string (uuid) | Id do activation config. |
name | string | Nome de exibição. |
description | string | null | Descrição opcional. |
sourceTable | string | Tabela da qual os dados de ativação são lidos. |
sourceColumns | string[] | null | Colunas usadas para a agregação. |
dateColumn | string | Coluna que carrega o timestamp do evento. |
activityGenerationConfigId | string (uuid) | AGC dono (NOT NULL, 1:1). |
aggregationMethod | nunique | count | sum | active_weeks | Como as ações são agregadas dentro de uma janela. |
isActive | boolean | Se a config está ativa. |
updatedBy | string | null | Id do usuário do último editor. |
createdAt | string (ISO 8601) | Timestamp de criação. |
updatedAt | string (ISO 8601) | Timestamp da última atualização. |
activationMoments | array | Regras de momento de ativação ordenadas (veja abaixo). |
activationMoment
| Campo | Tipo | Descrição |
|---|---|---|
id | string (uuid) | Id do momento. |
activationConfigId | string (uuid) | Activation config dono. |
statusCode | string | Code de status de retenção emitido por este momento (ex.: aha). |
userRetentionStatusConfigId | string (uuid) | Config de status de retenção do tenant resolvida. |
minActions | integer | null | Ações mínimas necessárias para alcançar este momento. |
windowDays | integer | null | Janela móvel em dias sobre a qual as ações são contadas. |
timeWindow | integer | null | Limite opcional de janela temporal (dias). |
priority | integer | Prioridade de avaliação (o menor valor vence). |
isActive | boolean | Se o momento está ativo. |
createdAt | string (ISO 8601) | Timestamp de criação. |
updatedAt | string (ISO 8601) | Timestamp da última atualização. |
GET /api/activation-configs
Lista os activation configs do tenant.
Auth: Obrigatória — permissão lifecycle-config:view
Exemplo
curl https://api.reten.ai/api/activation-configs \
-H "Authorization: Bearer <token>" \
-H "x-tenant-id: <tenant-id>" \
-H "x-project-id: <project-id>"import axios from 'axios';
const response = await axios.get('https://api.reten.ai/api/activation-configs', {
headers: {
Authorization: 'Bearer <token>',
'x-tenant-id': '<tenant-id>',
'x-project-id': '<project-id>',
},
});
const activationConfigs = response.data;Resposta 200 OK
[
{
"id": "a1111111-1111-1111-1111-111111111111",
"name": "Activation",
"description": "First-week activation moments",
"sourceTable": "events",
"sourceColumns": ["user_id", "event_name"],
"dateColumn": "occurred_at",
"activityGenerationConfigId": "agc11111-1111-1111-1111-111111111111",
"aggregationMethod": "count",
"isActive": true,
"updatedBy": "u1111111-1111-1111-1111-111111111111",
"createdAt": "2026-01-15T10:00:00.000Z",
"updatedAt": "2026-01-20T12:30:00.000Z",
"activationMoments": [
{
"id": "m1111111-1111-1111-1111-111111111111",
"activationConfigId": "a1111111-1111-1111-1111-111111111111",
"statusCode": "buyer",
"userRetentionStatusConfigId": "rs111111-1111-1111-1111-111111111111",
"minActions": 1,
"windowDays": 14,
"timeWindow": null,
"priority": 0,
"isActive": true,
"createdAt": "2026-01-15T10:00:00.000Z",
"updatedAt": "2026-01-15T10:00:00.000Z"
},
{
"id": "m2222222-2222-2222-2222-222222222222",
"activationConfigId": "a1111111-1111-1111-1111-111111111111",
"statusCode": "aha",
"userRetentionStatusConfigId": "rs222222-2222-2222-2222-222222222222",
"minActions": 3,
"windowDays": 7,
"timeWindow": null,
"priority": 1,
"isActive": true,
"createdAt": "2026-01-15T10:00:00.000Z",
"updatedAt": "2026-01-15T10:00:00.000Z"
}
]
}
]GET /api/activation-configs/:id
Lê um único activation config com seus momentos de ativação.
Auth: Obrigatória — permissão lifecycle-config:view
Exemplo
curl https://api.reten.ai/api/activation-configs/a1111111-1111-1111-1111-111111111111 \
-H "Authorization: Bearer <token>" \
-H "x-tenant-id: <tenant-id>" \
-H "x-project-id: <project-id>"import axios from 'axios';
const response = await axios.get(
'https://api.reten.ai/api/activation-configs/a1111111-1111-1111-1111-111111111111',
{
headers: {
Authorization: 'Bearer <token>',
'x-tenant-id': '<tenant-id>',
'x-project-id': '<project-id>',
},
}
);
const activationConfig = response.data;Resposta 200 OK
{
"id": "a1111111-1111-1111-1111-111111111111",
"name": "Activation",
"description": "First-week activation moments",
"sourceTable": "events",
"sourceColumns": ["user_id", "event_name"],
"dateColumn": "occurred_at",
"activityGenerationConfigId": "agc11111-1111-1111-1111-111111111111",
"aggregationMethod": "count",
"isActive": true,
"updatedBy": "u1111111-1111-1111-1111-111111111111",
"createdAt": "2026-01-15T10:00:00.000Z",
"updatedAt": "2026-01-20T12:30:00.000Z",
"activationMoments": [
{
"id": "m2222222-2222-2222-2222-222222222222",
"activationConfigId": "a1111111-1111-1111-1111-111111111111",
"statusCode": "aha",
"userRetentionStatusConfigId": "rs222222-2222-2222-2222-222222222222",
"minActions": 3,
"windowDays": 7,
"timeWindow": null,
"priority": 1,
"isActive": true,
"createdAt": "2026-01-15T10:00:00.000Z",
"updatedAt": "2026-01-15T10:00:00.000Z"
}
]
}