---
title: "Reprovar reserva"
method: POST
path: "/v4/comercial/reservas/{idReserva}/reprovacao"
tags: ["Reservas"]
---

# Reprovar reserva

`POST /v4/comercial/reservas/{idReserva}/reprovacao`

## Request

- Base URL: `https://integracao.cvcrm.com.br/api`
- URL: `https://integracao.cvcrm.com.br/api/v4/comercial/reservas/{idReserva}/reprovacao`
- Auth: HTTP bearer

Reprova a condição de pagamento da reserva (somente gestor).

Os descontos são calculados do mesmo modo que na aprovação — o fluxo
grava `aprovacao_vpl`, `aprovacao_absoluto` e afins para registrar o que
foi recusado — mas **não** são validados contra os limites de alçada:
estar fora da alçada é motivo para reprovar, não impedimento. Os gates
que bloqueiam a aprovação (distrato pendente na unidade, comissão maior
que as entradas, programação menor que a comissão) também não se aplicam.
Exige apenas a permissão de aprovação (`comercial|reservas|4`) e o
atributo `aprovar_reserva` no usuário.

Quando a reserva não possui tabela de preço, o fluxo padrão retorna
`400` com `message: erro_tabela_nao_existe` ("A tabela escolhida não
existe."). Para reprovar mesmo assim, envie `reprovarSemComparar: true`:
nesse caso a comparação é ignorada e a recusa é gravada sem descontos,
sem alçada e sem tabela, preservando apenas os gates de permissão.

Efeitos colaterais: histórico, feed, situação de reprovado (quando o
empreendimento usa situação pendente), monitoramento e evento de
automação de reprovação.

## Path parameters

- `idReserva` integer, required

## Request body

- object
  - `juros` number, float: Quando omitido, usa o valor de juros_cadastro da reserva.
  - `jurosAposEntrega` number, float: Quando omitido ou 0, usa juros_apos_entrega_cadastro da reserva (ou o próprio juros resolvido).
  - `idTabela` integer: Quando omitido, usa o idtabela da reserva.
  - `idTabelaMinima` integer: Quando omitido, busca idtabelaMinima da TabelaDePreco resolvida.
  - `comentario` string, nullable: Observações do gestor. Opcional; gravado em aprovacao_comentario.
  - `comentarioExibirImobiliaria` boolean
  - `comentarioExibirCorretor` boolean
  - `reprovarSemComparar` boolean: Quando true, reprova a reserva sem comparar com a tabela de preço, ignorando o erro erro_tabela_nao_existe. Grava a recusa com descontos zerados, sem alçada e sem tabela.

## Response `200`

Reserva reprovada

- object
  - `status` string
  - `code` integer
  - `data` object
    - `idReserva` integer

## Other responses

- `400`: Falha na reprovação. `message` contém o código correspondente: sem_permissao_aprovar_reserva, erro_alcada_nao_encontrada, erro_tabela_nao_existe, mensagem_reprovada_erro, dados_invalidos.
- `401`: Não autenticado
- `404`: Reserva inexistente

---

[API](https://skmtc.dev/cvcrm/apis/servi-os-internos-do-construtor-de-vendas.md) - [All operations](https://skmtc.dev/cvcrm/apis/servi-os-internos-do-construtor-de-vendas/llms.txt) - [OpenAPI document](https://skmtc.dev/cvcrm/apis/servi-os-internos-do-construtor-de-vendas/revisions/9f2fd517acbb?raw)
