Falha ao realizar muitas requisições no EndPoint "/api/logistics/pvt/configuration/freights/{carrierId}/values/update"

Boa tarde!

Estamos realizando a integração de dados de um ERP para a plataforma VTEX e estamos tendo problemas com a integração de criação e atualização de valores de frete (“Create/update freight values”). Na etapa de homologação, conseguimos realizar todas as requisições de teste e a integração funcionou corretamente, porém, quando iniciamos a integração em produção a maioria das requisições passaram a retornar “(500) Internal Server Error”.

Acredito que este problema esteja ocorrendo devido a grande quantidade de requisições que estamos realizando ou devido aos extensos JSONs que estamos enviando. A princípio, estávamos enviando 10.000 valores de frete por requisição, e as requisições ocorriam de 10 em 10 minutos. Alteramos para 500 valores (em média 250.000 caracteres) e mesmo assim o problema continuou.

Gostaria de saber se existe um limite de requisições ou algum limite de tamanho no body.

Desde já, agradeço!

1 Like

Oi @victorfidelis, se estiver acontecendo algum throttling, você deve ver um status 429 nas respostas da chamada de API. Vocês chegaram a observar isso?

1 Like

Oi @georgebrindeiro, verifiquei nossos logs aqui e só temos retornos 204 (quando conseguimos integrar) e 500 (quando ocorre erro). Não temos nenhum retorno 429.

OBS.: Fiz alguns testes no PostMan de um JSON bem grande e o seu retorno foi “504 Gateway Timeout”

Bom dia @victorfidelis ; recentemente analisei um caso similar ;

Os erro 500 normalmente não tem relação com limites de requests, limite de requests são tratados pelo retorno 429, que é um cenário de throttling ;
Agora sobre o erro 500, possivelmente você esteja recebendo este retorno devido ao alto volume de linhas que ele esta tentando enviar no mesmo request;
Quando você envia este alto volume o sistema pode não estar conseguindo processar e responder a tempo, gerando assim um timeout de resposta, e quando você tenta enviar o mesmo arquivo de novo, o sistema tenta reindexar o arquivo anterior, que ainda estava sendo processado e isso pode concluir no cenário que você esta enfrentando;
Por fim, me parece que o ideal é diminuir o volume de itens para 500 assim como você vez e tentar iniciar o processo com novas tabelas, pois talvez você esteja fazendo o que comentei acima quando envia uma nova.

2 Likes

Bom dia @fabio.barbosa.

Entendi, irei realizar alguns testes como novas tabelas e volto aqui para informar se deu certo.

Obrigado!

1 Like

Bom dia!

Vim avisar que com a sugestão acima consigo enviar os fretes, ainda que ocorram erros em algumas requisições (desta forma diminuiu consideravelmente). O problema é que esta integração que estamos realizando possui algumas transportadoras, e cada uma possui uma tabela de fretes que gira em torno de 170.000 fretes. No ritmo que iremos enviar levará um bom tempo para integrar todos os fretes.

Obrigado pela ajuda!

1 Like