Em um projeto específico estamos usando a API antiga de preços: /api/pricing/pvt/price-sheet
Considerado que nela é possível enviar uma lista de produtos e preços de uma só vez, existe alguma limitação de quantos preços de produtos enviar em uma única requisição POST?
Tem uma documentação sobre testes que comenta sobre Rate Limiting e por aí fala que o caminho é olhar pro header da response para a requisição realizada.
Ratelimit-Limit: Total Burst Credits offered to a route
Ratelimit-Remaining: How many Burst Credits are still available to use
Ratelimit-Reset: How long (in seconds) it will take for Burst Credits to fill up completely (it will fill up to the Ratelimit-Limit)
E caso a requisição retorne um 429 Too Many Requests, pode pegar a informação do tempo que precisa esperar para enviar a próxima requisição.
Retry-After: Indicates how many seconds you will need to wait until the Rate Limiter accepts a new request to this route again. If this header response exists, this means your current request has been rate limited and has not been processed.
Caso não encontre essa informação no header do response, eu refatoraria o código para utilizar a rota atualizada que retorne esta informação e faria um controle a parte para considerar a informação dos limites da documentação do módulo VTEX Pricing API como parâmetro, ou seja, até 2000 requisições POSTs por minuto e/ou 33 por segundo.
Rate Limits per route
The rate limits per route revolve around the following values:
Operation
Rate
Burst credits
GET
No rate limits
No rate limits
POST/PUT
2000 per minute ou 33 per second
500
DELETE
1000 per minute ou 16 per second
300
Veja esta documentação sobre tratamento de erros e exceções para as APIs da VTEX: