API – Reserva Temporária de Produto no Carrinho

Reserva temporariamente um item do estoque ao ser adicionado ao carrinho, evitando vendas duplicadas de produtos com estoque limitado.

Endpoint: POST /api/estoque/reserva-temporaria (exemplo)

Body Exemplo:


{
  "codigo_produto": "OC12345",
  "quantidade": 1,
  "sessao_id": "5afc0e4f-d51b-4f6e-9f6c-2fa6cabb3221"
}

Comportamento:

  • Produto reservado por 15 minutos.

  • Oculto do estoque durante esse período.

  • Liberado automaticamente se a compra não for finalizada.

Liberação Pós-Expiração: POST /api/estoque/liberar-reserva

Body Exemplo:


{
  "codigo_produto": "OC12345",
  "quantidade": 1,
  "sessao_id": "5afc0e4f-d51b-4f6e-9f6c-2fa6cabb3221",
  "motivo": "tempo_expirado"
}

Observações Técnicas:

  • Gerenciamento do tempo de reserva recomendado via cache ou banco.

  • Validação da sessao_id para evitar duplicidade.

  • Produtos só devem ser ocultados se o total reservado esgotar o estoque.

Parâmetros – Reserva Temporária de Produto no Carrinho

Campo
Descrição
Tipo
Obrigatório

codigo_produto

Código do produto a ser reservado

string

Sim

quantidade

Quantidade a ser reservada

integer

Sim

sessao_id

ID da sessão/carrinho do cliente

string

Sim

Parâmetros – Liberação de Reserva de Produto

Campo
Descrição
Tipo
Obrigatório

codigo_produto

Código do produto a ser liberado

string

Sim

quantidade

Quantidade que estava reservada

integer

Sim

sessao_id

ID da sessão que realizou a reserva

string

Sim

motivo

Motivo da liberação (ex: tempo_expirado)

string

Sim

Atualizado