Configuração da Organização
Configurações globais da Decision Platform para a organização.
Endpoints
| Método | Endpoint | Descrição | Permissão |
|---|---|---|---|
| GET | /api/v1/decision-platform/org-config | Obter configuração | DECISIONS_READ |
| PUT | /api/v1/decision-platform/org-config | Atualizar configuração | DECISIONS_MANAGE |
| PATCH | /api/v1/decision-platform/org-config | Atualização parcial | DECISIONS_MANAGE |
| DELETE | /api/v1/decision-platform/org-config | Resetar para padrão | DECISIONS_MANAGE |
Atributos
| Campo | Tipo | Descrição | Padrão |
|---|---|---|---|
maxConcurrentExecutions | number | Máximo de execuções simultâneas | 100 |
maxRetries | number | Máximo de retentativas em falhas | 3 |
retryBackoffMs | number | Tempo base de backoff (ms) | 1000 |
retryBackoffMultiplier | number | Multiplicador de backoff | 2 |
executionRetentionDays | number | Dias de retenção de execuções | 30 |
currentExecutionCount | number | Execuções ativas (somente leitura) | - |
isDefault | boolean | Se está usando configuração padrão | - |
Obter Configuração
GET /api/v1/decision-platform/org-config
Retorna a configuração atual da organização. Se não houver configuração customizada, retorna os valores padrão.
- cURL
- JavaScript
curl 'https://decision-platform.stg.catalisa.app/api/v1/decision-platform/org-config' \
-H 'Authorization: Bearer SEU_TOKEN'
const response = await fetch('https://decision-platform.stg.catalisa.app/api/v1/decision-platform/org-config', {
headers: {
'Authorization': `Bearer ${token}`,
},
});
const { data } = await response.json();
console.log(`Execuções concorrentes: ${data.attributes.maxConcurrentExecutions}`);
console.log(`Usando padrão: ${data.attributes.isDefault}`);
Response (200 OK)
{
"data": {
"type": "organization-platform-config",
"id": "550e8400-e29b-41d4-a716-446655440200",
"attributes": {
"organizationId": "550e8400-e29b-41d4-a716-446655440000",
"maxConcurrentExecutions": 100,
"maxRetries": 3,
"retryBackoffMs": 1000,
"retryBackoffMultiplier": 2,
"executionRetentionDays": 30,
"currentExecutionCount": 5,
"isDefault": false,
"createdAt": "2024-01-15T10:00:00Z",
"updatedAt": "2024-01-15T10:00:00Z"
}
},
"links": {
"self": "/api/v1/org-config"
}
}
Atualizar Configuração
PUT /api/v1/decision-platform/org-config
Atualiza a configuração da organização (substitui todos os campos).
Atributos
| Campo | Tipo | Range | Descrição |
|---|---|---|---|
maxConcurrentExecutions | number | 1-10000 | Limite de execuções simultâneas |
maxRetries | number | 0-10 | Tentativas em caso de falha |
retryBackoffMs | number | 100-60000 | Tempo base de espera entre retries |
retryBackoffMultiplier | number | 1-5 | Multiplicador exponencial |
executionRetentionDays | number | 1-365 | Dias para manter histórico |
- cURL
- JavaScript
curl -X PUT 'https://decision-platform.stg.catalisa.app/api/v1/decision-platform/org-config' \
-H 'Authorization: Bearer SEU_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"data": {
"type": "organization-platform-config",
"attributes": {
"maxConcurrentExecutions": 200,
"maxRetries": 5,
"retryBackoffMs": 2000,
"retryBackoffMultiplier": 2.5,
"executionRetentionDays": 90
}
}
}'
const response = await fetch('https://decision-platform.stg.catalisa.app/api/v1/decision-platform/org-config', {
method: 'PUT',
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
data: {
type: 'organization-platform-config',
attributes: {
maxConcurrentExecutions: 200,
maxRetries: 5,
retryBackoffMs: 2000,
retryBackoffMultiplier: 2.5,
executionRetentionDays: 90,
},
},
}),
});
const { data } = await response.json();
console.log(`Nova configuração aplicada`);
Atualização Parcial
PATCH /api/v1/decision-platform/org-config
Atualiza apenas os campos especificados.
- cURL
- JavaScript
curl -X PATCH 'https://decision-platform.stg.catalisa.app/api/v1/decision-platform/org-config' \
-H 'Authorization: Bearer SEU_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"data": {
"type": "organization-platform-config",
"attributes": {
"maxConcurrentExecutions": 500
}
}
}'
const response = await fetch('https://decision-platform.stg.catalisa.app/api/v1/decision-platform/org-config', {
method: 'PATCH',
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
data: {
type: 'organization-platform-config',
attributes: {
maxConcurrentExecutions: 500,
},
},
}),
});
const { data } = await response.json();
console.log(`Limite atualizado: ${data.attributes.maxConcurrentExecutions}`);
Resetar para Padrão
DELETE /api/v1/decision-platform/org-config
Remove a configuração customizada e volta aos valores padrão.
- cURL
- JavaScript
curl -X DELETE 'https://decision-platform.stg.catalisa.app/api/v1/decision-platform/org-config' \
-H 'Authorization: Bearer SEU_TOKEN'
const response = await fetch('https://decision-platform.stg.catalisa.app/api/v1/decision-platform/org-config', {
method: 'DELETE',
headers: {
'Authorization': `Bearer ${token}`,
},
});
if (response.status === 204) {
console.log('Configuração resetada para padrão');
}
Response (204 No Content)
Sem corpo de resposta.
Estratégia de Retry
Quando uma execução falha (por erro de data source ou outro problema recuperável), a plataforma pode tentar novamente automaticamente:
- Primeira tentativa - Imediata
- Segunda tentativa - Após
retryBackoffMs(ex: 1000ms) - Terceira tentativa - Após
retryBackoffMs * retryBackoffMultiplier(ex: 2000ms) - N-ésima tentativa - Após
retryBackoffMs * retryBackoffMultiplier^(n-1)
O máximo de tentativas é controlado por maxRetries.
Controle de Concorrência
O maxConcurrentExecutions limita quantas execuções podem rodar simultaneamente na organização:
- Execuções que excedem o limite recebem erro
429 Rate Limit - O campo
currentExecutionCountmostra o uso atual - Use para proteger recursos e garantir SLA
Retenção de Dados
O executionRetentionDays controla por quanto tempo as execuções são mantidas:
- Após o período, execuções são automaticamente removidas
- Importante para compliance e controle de armazenamento
- Mínimo: 1 dia, Máximo: 365 dias
Erros Comuns
| Código | Erro | Descrição |
|---|---|---|
| 400 | VALIDATION | Valor fora do range permitido |
| 403 | FORBIDDEN | Sem permissão para gerenciar configuração |