ContractPlus APIs | Exclusão de modelos de aprovação
9 min
Criado por Eduardo Martins Dos Santos em 05/08/2026 10:30
Atualizado por Eduardo Martins Dos Santos em 05/08/2026 10:37

Objetivo

A API permite excluir um modelo de aprovação existente no ContractPlus.

A exclusão remove o modelo e toda a sua estrutura relacionada, incluindo:

  • Faixas de aprovação;
  • Sequências;
  • Níveis;
  • Aprovadores vinculados.

A operação somente poderá ser concluída quando o modelo não estiver sendo utilizado por um fluxo de aprovação.

Quando o modelo estiver vinculado à ApprovalFlow, a exclusão será bloqueada para preservar a integridade dos processos existentes. 


Aplicação da API

A API pode ser utilizada para excluir modelos vinculados aos locais de aprovação disponíveis no ContractPlus.

placeId
Local de aprovação
0
Não Definido
1
Contrato
3
Medição
5
Aditivo do Contrato
6
Requisição de Compra
7
Cotação de Compra
8
Distrato do Contrato
9
Documentos da Medição
10
Alteração Contratual

O modelo será identificado exclusivamente pelo parâmetro id informado na rota.


Endpoint

DELETE /api/approvalPattern/{id}

Exemplo:

DELETE /api/approvalPattern/605

Autenticação

A requisição exige um token de autenticação válido.

Authorization: Bearer {{token}}

Quando a requisição for enviada sem autenticação, o comportamento esperado é:

401 Unauthorized

Nenhum modelo deverá ser excluído.


Cabeçalhos

Accept: application/json
Authorization: Bearer {{token}}

Como a operação utiliza apenas o identificador informado na rota, não é necessário enviar corpo na requisição.


Parâmetro de rota

Parâmetro
Tipo
Obrigatório
Descrição
id
Inteiro
Sim
Identificador do modelo de aprovação que será excluído.

O identificador deve:

  • Estar em formato numérico;
  • Corresponder a um modelo existente;
  • Pertencer a um modelo que não esteja vinculado a um fluxo de aprovação.

Como utilizar

  1. Consulte os modelos cadastrados por meio do endpoint:
GET /api/approvalPattern
  1. Localize o campo Id do modelo desejado.
  2. Confirme que o modelo não está sendo utilizado por um fluxo de aprovação.
  3. Envie a requisição:
DELETE /api/approvalPattern/{id}
  1. Analise a resposta da operação.
  2. Quando necessário, realize uma nova consulta para confirmar que o modelo não está mais disponível.

Exclusão de modelo sem vínculos

Quando o modelo existe e não está vinculado a um fluxo de aprovação, a exclusão será realizada normalmente.

Exemplo:

DELETE /api/approvalPattern/605

Resposta esperada:

{
  "Success": true,
  "Message": "Modelo de aprovação excluído com sucesso"
}

Após a exclusão:

  • O modelo não poderá mais ser localizado;
  • As faixas vinculadas serão removidas;
  • As sequências serão removidas;
  • Os aprovadores vinculados serão removidos;
  • Nenhum registro órfão deverá permanecer.

A exclusão completa de modelos com estrutura hierárquica foi validada nos testes. 


Exclusão de modelo sem estrutura filha

Modelos que não possuem faixas, sequências ou aprovadores também podem ser excluídos.

Exemplo de resposta:

{
  "Success": true,
  "Message": "Modelo de aprovação excluído com sucesso"
}

A ausência de registros filhos não impede a operação.


Exclusão de modelo com estrutura completa

Quando o modelo possuir faixas, níveis e aprovadores, a API deverá excluir toda a estrutura relacionada na mesma operação.

A exclusão deve remover:

  1. Os vínculos dos aprovadores;
  2. As sequências ou níveis;
  3. As faixas;
  4. O modelo principal.

A ordem interna do processamento é responsabilidade da API, mas o resultado final não poderá deixar dependências sem vínculo.


Modelo vinculado a um fluxo de aprovação

Um modelo utilizado por um registro da ApprovalFlow não poderá ser excluído.

Essa validação evita que documentos em aprovação ou processos históricos percam a referência do modelo utilizado.

Exemplo de resposta:

{
  "Success": false,
  "Message": "Modelo não pode ser excluído pois está vinculado a um fluxo de aprovação"
}

Nesse caso:

  • O modelo permanece cadastrado;
  • Suas faixas permanecem inalteradas;
  • As sequências permanecem inalteradas;
  • Os aprovadores permanecem vinculados;
  • Nenhuma exclusão parcial deverá ocorrer.

O bloqueio de modelos vinculados à ApprovalFlow foi validado nos testes. 


Modelo inexistente

Quando o identificador informado não corresponder a um modelo cadastrado, a API deverá retornar:

{
  "Success": false,
  "Message": "Modelo de Aprovação não encontrado"
}

Exemplo:

DELETE /api/approvalPattern/99999

Nenhum outro modelo deverá ser alterado ou excluído.


Identificador em formato inválido

O parâmetro id deve ser numérico.

Exemplo inválido:

DELETE /api/approvalPattern/abc

Resposta esperada:

{
  "Success": false,
  "Message": "Id do modelo inválido."
}

Nenhum registro deverá ser afetado.


Chamadas repetidas para o mesmo modelo

Depois que um modelo for excluído com sucesso, uma nova tentativa de exclusão utilizando o mesmo identificador deverá retornar que o modelo não foi encontrado.

Primeira chamada:

{
  "Success": true,
  "Message": "Modelo de aprovação excluído com sucesso"
}

Segunda chamada:

{
  "Success": false,
  "Message": "Modelo de Aprovação não encontrado"
}

A repetição da operação não deverá afetar outros modelos.

Esse comportamento foi validado nos testes. 


Integridade da operação

A exclusão deve ser transacional.

Caso ocorra uma falha durante o processamento:

  • O modelo principal não deverá ser excluído isoladamente;
  • As faixas não deverão ser removidas parcialmente;
  • As sequências não deverão ficar sem vínculo;
  • Os aprovadores não deverão permanecer órfãos;
  • A estrutura anterior deverá ser preservada integralmente.

A operação deverá ser concluída por completo ou não produzir nenhuma alteração.


Resposta de sucesso

Status esperado

200 OK

Corpo da resposta

{
  "Success": true,
  "Message": "Modelo de aprovação excluído com sucesso"
}
Campo
Tipo
Descrição
Success
Booleano
Indica se a exclusão foi concluída.
Message
Texto
Mensagem descritiva da operação.

Respostas esperadas

Situação
Status
Retorno
Modelo excluído com sucesso
200
Retorna sucesso e mensagem de exclusão
Modelo sem estruturas filhas
200
O modelo é excluído normalmente
Modelo com faixas, sequências e aprovadores
200
Toda a estrutura é excluída
Modelo vinculado à ApprovalFlow
Erro de negócio
A exclusão é bloqueada
Modelo inexistente
Erro da API
Informa que o modelo não foi encontrado
Identificador não numérico
Erro da API
Informa que o identificador é inválido
Token ausente ou inválido
401
Nenhum modelo é excluído
Segunda exclusão do mesmo identificador
Erro da API
Informa que o modelo não foi encontrado
Falha durante a exclusão
Erro da API
A estrutura anterior deve ser preservada

Comportamento esperado

Modelo disponível para exclusão

O modelo e toda a sua estrutura relacionada serão removidos.

Modelo em uso

A exclusão será bloqueada e o modelo permanecerá inalterado.

Modelo inexistente

A API retornará uma mensagem de recurso não encontrado.

Identificador inválido

A API rejeitará a requisição sem afetar outros registros.

Estrutura hierárquica

Faixas, sequências e aprovadores não deverão permanecer na base após uma exclusão bem-sucedida.

Falha de processamento

Nenhuma exclusão parcial deverá ocorrer.


Pontos de atenção

  • O identificador deve ser numérico.
  • O modelo precisa existir.
  • Modelos vinculados à ApprovalFlow não podem ser excluídos.
  • A exclusão remove toda a estrutura relacionada ao modelo.
  • O processo não deverá deixar faixas, sequências ou aprovadores órfãos.
  • A operação não utiliza corpo na requisição.
  • O token Bearer é obrigatório.
  • Uma segunda tentativa para o mesmo modelo retornará que o registro não foi encontrado.
  • Nenhum outro modelo deve ser afetado por um identificador inexistente ou inválido.
  • A exclusão deve ser integral e transacional.
  • Antes de excluir, é recomendado confirmar se o modelo não está sendo utilizado em fluxos de aprovação.
  • Para preservar histórico ou substituir uma configuração em uso, deve ser criado um novo modelo em vez de excluir o modelo atual.
  • O tempo de resposta pode variar conforme a quantidade de faixas, sequências e aprovadores vinculados ao modelo.
  • Modelos com maior volume de estruturas filhas podem exigir mais tempo para concluir a exclusão.
Este artigo foi útil para você?
Últimos artigos visitados