Pular para o conteúdo principal

Versões

Gerenciamento de versões de configurações para controle de releases e rollback.

Endpoints

MétodoEndpointDescriçãoPermissão
POST/api/v1/decision-platform/configs/:configId/versionsCriar versãoDECISION_VERSIONS_CREATE
GET/api/v1/decision-platform/configs/:configId/versionsListar versõesDECISION_VERSIONS_READ
GET/api/v1/decision-platform/configs/:configId/versions/latestObter última publicadaDECISION_VERSIONS_READ
GET/api/v1/decision-platform/versions/:versionIdObter versãoDECISION_VERSIONS_READ
POST/api/v1/decision-platform/versions/:versionId/publishPublicar versãoDECISION_VERSIONS_PUBLISH
POST/api/v1/decision-platform/versions/:versionId/archiveArquivar versãoDECISION_VERSIONS_CREATE

Atributos

CampoTipoDescrição
configIdstring (UUID)ID da configuração pai
versionstringVersão semântica (ex: 1.0.0)
statusenumStatus: DRAFT, PUBLISHED, ARCHIVED
configSnapshotobjectSnapshot da configuração no momento da criação
publishedAtdatetimeData da publicação
publishedBystringID do usuário que publicou
createdAtdatetimeData de criação
updatedAtdatetimeData da última atualização

Criar Versão

POST /api/v1/decision-platform/configs/:configId/versions

Cria uma nova versão da configuração. A versão captura um snapshot do estado atual.

Atributos

CampoTipoObrigatórioDescrição
versionstringSimVersão semântica (ex: 1.0.0, 2.1.3)
curl -X POST 'https://decision-platform.stg.catalisa.app/api/v1/decision-platform/configs/550e8400-e29b-41d4-a716-446655440001/versions' \
-H 'Authorization: Bearer SEU_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"data": {
"type": "platform-versions",
"attributes": {
"version": "1.0.0"
}
}
}'

Response (201 Created)

{
"data": {
"type": "platform-versions",
"id": "550e8400-e29b-41d4-a716-446655440010",
"links": {
"self": "/api/v1/decision-platform/versions/550e8400-e29b-41d4-a716-446655440010"
},
"attributes": {
"configId": "550e8400-e29b-41d4-a716-446655440001",
"version": "1.0.0",
"status": "DRAFT",
"configSnapshot": {
"name": "Análise de Crédito",
"key": "credit-analysis",
"defaultTimeoutMs": 30000,
"dataSources": []
},
"createdAt": "2024-01-15T11:00:00Z",
"updatedAt": "2024-01-15T11:00:00Z"
}
}
}

Listar Versões

GET /api/v1/decision-platform/configs/:configId/versions

Lista todas as versões de uma configuração.

Query Parameters

ParâmetroTipoDescrição
page[number]integerNúmero da página
page[size]integerItens por página
filter[status]enumFiltrar por status
curl 'https://decision-platform.stg.catalisa.app/api/v1/decision-platform/configs/550e8400-e29b-41d4-a716-446655440001/versions?filter[status]=PUBLISHED' \
-H 'Authorization: Bearer SEU_TOKEN'

Obter Última Versão Publicada

GET /api/v1/decision-platform/configs/:configId/versions/latest

Retorna a versão publicada mais recente da configuração.

curl 'https://decision-platform.stg.catalisa.app/api/v1/decision-platform/configs/550e8400-e29b-41d4-a716-446655440001/versions/latest' \
-H 'Authorization: Bearer SEU_TOKEN'

Publicar Versão

POST /api/v1/decision-platform/versions/:versionId/publish

Publica uma versão, tornando-a a versão ativa para execuções.

curl -X POST 'https://decision-platform.stg.catalisa.app/api/v1/decision-platform/versions/550e8400-e29b-41d4-a716-446655440010/publish' \
-H 'Authorization: Bearer SEU_TOKEN'

Response (200 OK)

{
"data": {
"type": "platform-versions",
"id": "550e8400-e29b-41d4-a716-446655440010",
"attributes": {
"configId": "550e8400-e29b-41d4-a716-446655440001",
"version": "1.0.0",
"status": "PUBLISHED",
"publishedAt": "2024-01-15T12:00:00Z",
"publishedBy": "550e8400-e29b-41d4-a716-446655440099",
"updatedAt": "2024-01-15T12:00:00Z"
}
}
}

Arquivar Versão

POST /api/v1/decision-platform/versions/:versionId/archive

Arquiva uma versão, removendo-a do uso ativo.

curl -X POST 'https://decision-platform.stg.catalisa.app/api/v1/decision-platform/versions/550e8400-e29b-41d4-a716-446655440010/archive' \
-H 'Authorization: Bearer SEU_TOKEN'

Ciclo de Vida da Versão

Estados

DRAFT (Rascunho)

  • Versão recém-criada
  • Não pode ser usada em execuções
  • Pode ser publicada

PUBLISHED (Publicada)

  • Versão ativa e disponível para uso
  • Apenas uma versão pode estar publicada por vez
  • Publicar nova versão arquiva a anterior automaticamente

ARCHIVED (Arquivada)

  • Versão removida do uso ativo
  • Mantida para histórico e auditoria
  • Não pode ser reativada

Erros Comuns

CódigoErroDescrição
400VALIDATIONVersão em formato inválido (deve ser semver)
404NOT_FOUNDConfiguração ou versão não encontrada
409CONFLICTVersão já existe para esta configuração
409CONFLICTVersão não está em DRAFT (para publicar)