Objetivo
A API permite excluir uma sequência de aprovação existente no ContractPlus.
Ao concluir a operação, o sistema remove:
A sequência de aprovação;
Todos os usuários vinculados à sequência.
A exclusão somente será permitida quando a sequência não estiver sendo utilizada por um processo pendente de aprovação ou correção.
A operação é transacional. Caso ocorra uma falha durante o processamento, a sequência e seus usuários deverão permanecer preservados.
Aplicação da API
A API é utilizada para excluir sequências vinculadas aos seguintes locais de aprovação:
placeId | Local de aprovação |
|---|---|
2 | Adiantamento de Pagamento |
4 | Retenção Técnica |
O placeId não é enviado na requisição de exclusão. O local é identificado a partir da sequência correspondente ao id informado na rota.
Endpoint
DELETE /api/ApprovalSequence/{id}
Exemplo:
DELETE /api/ApprovalSequence/51
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 válida, o processamento será bloqueado e a sequência permanecerá cadastrada.
Cabeçalhos
Accept: application/json
Authorization: Bearer {{token}}
Não é necessário enviar corpo na requisição.
Parâmetro de rota
Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
id | Inteiro | Sim | Identificador interno da sequência que será excluída. |
O identificador corresponde ao valor retornado no array SequenceIds durante a criação da sequência.
Exemplo de retorno da criação:
{
"Success": true,
"SequenceIds": [
51
],
"Message": "Sequência de aprovação cadastrada com sucesso."
}
Nesse exemplo, a exclusão deverá utilizar:
DELETE /api/ApprovalSequence/51
O campo seqId não deve ser utilizado no lugar do identificador interno. O seqId representa apenas a ordem funcional da sequência no fluxo.
Como utilizar
Localize o identificador interno da sequência.
Confirme que a sequência não está vinculada a um processo pendente de aprovação ou correção.
Envie a requisição:
DELETE /api/ApprovalSequence/{id}
Analise a resposta retornada.
Após a exclusão, a sequência e seus usuários vinculados deixarão de fazer parte da configuração.
Exclusão de sequência sem uso
Quando a sequência não estiver vinculada a um processo pendente, a exclusão será permitida.
Exemplo:
DELETE /api/ApprovalSequence/51
Após a operação:
A sequência será removida;
Os usuários vinculados serão removidos;
As demais sequências do mesmo local permanecerão inalteradas;
Nenhum registro de usuário ficará sem uma sequência correspondente.
Remoção dos usuários vinculados
Os usuários vinculados à sequência são excluídos automaticamente na mesma operação.
Não é necessário realizar uma chamada adicional para remover os aprovadores.
Por exemplo, caso a sequência possua:
{
"id": 51,
"seqId": 1,
"name": "Aprovação de Adiantamento - Nível 1",
"users": [
{
"userName": "aprovador.nivel1"
},
{
"userName": "aprovador.substituto"
}
]
}
Ao excluir a sequência de identificador 51, os dois vínculos de usuário também serão removidos.
Outros vínculos dos mesmos usuários com sequências diferentes não devem ser afetados.
Sequência vinculada a processo pendente
A sequência não poderá ser excluída quando estiver sendo utilizada por um processo pendente de:
Aprovação;
Correção.
Essa restrição preserva a estrutura utilizada pelo documento enquanto o fluxo ainda estiver em andamento.
Quando a sequência estiver em uso:
A exclusão será bloqueada;
A sequência permanecerá cadastrada;
Os usuários vinculados permanecerão cadastrados;
Nenhuma remoção parcial será realizada.
Resposta de sucesso
Status esperado
200 OK
Estrutura da resposta
{
"Success": true,
"Message": "Sequência de aprovação excluída com sucesso."
}
Campo | Tipo | Descrição |
|---|---|---|
Success | Booleano | Indica se a exclusão foi concluída. |
Message | Texto | Apresenta o resultado da operação. |
Sequência inexistente
Quando o id informado não corresponder a uma sequência cadastrada, a operação deverá ser rejeitada.
Exemplo:
DELETE /api/ApprovalSequence/999999
Comportamento esperado:
Nenhuma sequência será excluída;
Nenhum usuário será removido;
As demais configurações permanecerão inalteradas;
A resposta informará que a sequência não foi localizada.
Exemplo de resposta:
{
"Success": false,
"Message": "Sequência de aprovação não encontrada."
}
Identificador inválido
O parâmetro id deve possuir um valor inteiro válido.
Exemplo inválido:
DELETE /api/ApprovalSequence/abc
A requisição será rejeitada antes da exclusão.
Nenhuma sequência ou vínculo de usuário deverá ser afetado.
Segunda tentativa de exclusão
Depois que uma sequência for excluída com sucesso, uma nova tentativa utilizando o mesmo identificador não realizará outra exclusão.
Primeira requisição:
DELETE /api/ApprovalSequence/51
Resultado:
{
"Success": true,
"Message": "Sequência de aprovação excluída com sucesso."
}
Segunda requisição:
DELETE /api/ApprovalSequence/51
Resultado esperado:
{
"Success": false,
"Message": "Sequência de aprovação não encontrada."
}
Nenhuma outra sequência será afetada.
Integridade da operação
A exclusão da sequência e dos usuários vinculados é realizada como uma única operação.
Caso ocorra qualquer erro:
A sequência deverá permanecer cadastrada;
Os usuários vinculados deverão permanecer cadastrados;
Nenhum usuário poderá ficar sem a sequência correspondente;
Nenhuma exclusão parcial deverá permanecer;
As demais sequências não poderão ser alteradas.
A operação deverá ser concluída integralmente ou não produzir alterações.
Respostas esperadas
Situação | Comportamento |
|---|---|
Sequência existente e sem uso | A sequência e seus usuários são excluídos |
Sequência com vários usuários | Todos os vínculos da sequência são removidos |
Sequência vinculada a aprovação pendente | A exclusão é bloqueada |
Sequência vinculada a correção pendente | A exclusão é bloqueada |
Sequência inexistente | Nenhum registro é excluído |
Identificador inválido | A requisição é rejeitada |
Token ausente ou inválido | A sequência permanece cadastrada |
Falha durante a exclusão | Toda a operação é desfeita |
Segunda exclusão do mesmo identificador | A sequência é informada como não encontrada |
Pontos de atenção
O
idinformado na rota deve ser o identificador interno da sequência.O
seqIdnão deve ser utilizado como identificador para exclusão.A requisição não utiliza corpo.
O token Bearer é obrigatório.
Sequências vinculadas a processos pendentes de aprovação ou correção não podem ser excluídas.
Os usuários vinculados são removidos automaticamente com a sequência.
Usuários vinculados a outras sequências não são afetados.
A exclusão de uma sequência não remove as demais sequências do mesmo
placeId.Nenhum registro de usuário poderá permanecer órfão.
A operação é transacional.
Em caso de erro, a sequência e seus usuários deverão permanecer íntegros.
O tempo de resposta pode variar conforme a quantidade de usuários vinculados à sequência.