Excluir / baixar anúncio
Remove a publicação do anúncio nos portais integrados e, conforme o corpo da requisição, baixa o veículo no estoque (marca como vendido com motivo e data).
Endpoint
DELETE /inventory/item/{ad_id}
| Parâmetro | Tipo | Descrição |
|---|---|---|
ad_id | integer | ID do anúncio |
Método
DELETE
Autenticação
JWT:
Authorization: Bearer {access_token}
Permissão: IsAllowedUserAdParamUrlPermission — o usuário precisa ter permissão na loja dona do anúncio (o mesmo critério dos demais endpoints que usam ad_id na URL).
Corpo da requisição (JSON)
O método DELETE aceita corpo JSON com os campos abaixo (o view lê request.data).
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
reason | integer | Sim | ID do motivo de venda (motivovendaid), usado na baixa e nas integrações. Consulte GET /inventory/reason-for-sale/{dealer_id} para listar IDs válidos da loja. |
keep_in_integrator | boolean | Não | Padrão false. Ver Comportamento de keep_in_integrator. |
Exemplo
{
"reason": 1,
"keep_in_integrator": false
}
Fluxo (resumo)
get_object: valida existência do anúncio e permissão; caso contrário,404/ erro de permissão.- Integrações ativas: para cada integração ativa do veículo, chama a baixa no portal (
IntegradorBaixa) de forma assíncrona. - Se algum portal falhar: resposta
400 Bad Requestcomstatus: false, mensagem genérica de erro de baixa e listaerror(errolista) com detalhes por site — não é executada a baixa completa no estoque quando há erros. - Se todas as baixas nos portais forem bem-sucedidas:
- Com
keep_in_integrator: false(padrão): executa a baixa no estoque (status vendido, motivo, datas, cache, site API, parceiros webhooks, réplica em matriz, etc.). - Com
keep_in_integrator: true: não executa esse passo de marcar vendido no estoque; apenas conclui as baixas nos portais já tratadas no passo 2.
- Com
Ou seja: em ambos os casos o sistema tenta despublicar nos portais; a flag só controla se o registro interno passa pelo fluxo completo de venda/baixa no inventário.
Comportamento de keep_in_integrator
| Valor | Efeito após sucesso nas integrações |
|---|---|
false ou omitido | Baixa também no estoque (marca como vendido, grava motivo, dispara tarefas de cache, site da loja, parceiros, etc.). |
true | Não aplica a rotina de baixa completa no estoque; o anúncio permanece com o status anterior no cadastro interno, enquanto a remoção nos portais já foi tratada no fluxo de integração. |
Use true apenas quando a regra de negócio for só despublicar dos portais sem concluir venda no integrador.
Respostas
Sucesso
204 No Content
{}
(A string de message segue a constante ConstMensagemRetorno.sucesso_exclusao no backend.)
Falha (ex.: erro em portal)
400 Bad Request
{
"status": false,
"message": "Problemas ao excluir veículo. Fale com nosso atendimento",
"error": [
{
"site": "Nome do portal",
"mensagem_retorno": "...",
"message": "..."
}
]
}
Cada item em error agrega o portal (site) e a mensagem retornada na baixa.
Outros
404: anúncio inexistente ou não acessível ao usuário.403: sem permissão para o anúncio/loja.
Observações
- Para detalhes de GET/PATCH/PUT do mesmo recurso, veja Detalhes do Anúncio.