# Criar um orçamento

Cria um novo orçamento no sistema da Conta Azul.

Endpoint: POST /v1/orcamentos
Version: v1
Security: BearerAuth

## Request fields (application/json):

  - `composicao_de_valor` (object)
    Composição dos valores do orçamento (frete e desconto)

  - `composicao_de_valor.desconto` (object)
    Detalhes do desconto aplicado ao orçamento

  - `composicao_de_valor.desconto.tipo` (string)
    Tipo de desconto: VALOR ou PORCENTAGEM
    Enum: "PORCENTAGEM", "VALOR"

  - `composicao_de_valor.desconto.valor` (number)
    Valor do desconto; se o tipo for PORCENTAGEM, deve ser entre 0 e 100
    Example: 10

  - `composicao_de_valor.frete` (number)
    Valor do frete; deve ser maior ou igual a 0
    Example: 5

  - `data_orcamento` (string, required)
    Data do orçamento no formato YYYY-MM-DD
    Example: "2026-05-01"

  - `data_validade` (string, required)
    Data de validade no formato YYYY-MM-DD; não pode ser anterior à data do orçamento
    Example: "2026-05-15"

  - `descricao` (string)
    Descrição do orçamento
    Example: "Proposta comercial referente ao mês de maio"

  - `id_cliente` (string, required)
    ID do cliente
    Example: "72f07482-bfda-44b0-a2e7-d8817bf950fa"

  - `id_vendedor` (string)
    ID do vendedor; se não informado ou inexistente, será utilizado o vendedor default
    Example: "8cc4ff03-e8c6-4d7e-8c41-4245f55f8612"

  - `itens` (array, required)
    Lista de itens do orçamento; deve conter ao menos um item

  - `itens.id` (string, required)
    ID do item (produto ou serviço)
    Example: "623ef303-54df-4df6-b816-69416f29e093"

  - `itens.quantidade` (number)
    Quantidade do item; deve ser maior que zero
    Example: 1

  - `itens.valor` (number)
    Valor unitário do item; deve ser maior que zero
    Example: 10

  - `itens.valor_custo` (number)
    Valor de custo do item
    Example: 8

  - `observacoes` (string)
    Observações gerais
    Example: "Cliente solicitou entrega rápida"

  - `observacoes_pagamento` (string)
    Observações sobre o pagamento
    Example: "Pagamento em até 30 dias após aprovação"

  - `previsao_entrega` (string)
    Previsão de entrega
    Example: "Entrega em até 10 dias úteis"

## Response 201 fields (application/json):

  - `id` (string)
    ID do orçamento criado
    Example: "cae40e8a-8330-4469-9bf7-51cbf3e8e2cd"

## Response 400 fields (application/json):

  - `error` (string)
    Mensagem de erro
    Example: "Mensagem de erro detalhada"


