Essa requisição (POST) é feita automaticamente ou é disparada pelo usuário? Se for disparada por ele, ocorre em que momento? no clique de um botão ou ao fazer outra ação?

É disparada pelo usuário no momento em que realiza a leitura do código de barras, ele utiliza um leitor que "pressiona o enter automaticamente" ao finalizar a leitura, comportamento comum que você consegue configurar entre leitores.

Mas não estou culpando nem o usuário e nem o frontend, gostaria de implementar a melhor maneira diretamente no backend para entender a melhor tratativa e poder replicar esse comportamento no futuro para outras aplicações e funcionalidades :)