Tratamento no retorno do REST (stockkeepingunitidbyrefid)

Informo que estamos com problema na integração REST quando o código de SKU não existe ao invés de apresentar a mensagem "SKU não encontrado" é apresentado o erro "500 Internet Server Error" conforme imagem.

VTEX-REST-1

Boa tarde @Marcos Silva​ e @Nathan Prestes​,

Eu concordo que é algo que poderia seguir o mesmo padrão de resposta para ambas as rotas. Já tratei com o time para colocarmos este ajuste na fila. Mas infelizmente não sei informar um prazo para que seja aplicado.

Todavia é possível tratar o retorno de cada método de forma distinta na integração, se success execute tais ações, e no caso de fail outras. Ainda não é um caso crítico.

Obrigado pelo retorno @Mateus Augusto Saggin​ .

No JSON está informando:

Error getting sku by ref id

---

Não entendi qual a necessidade desse post.

Mas em outro método tem um outro tipo de retorno conforme imagem:

imagem

Mas você tem um sku de ID 0?

O número 0 é apenas um teste apenas para ilustrar o tipo de retorno diferente entre os métodos.

Então Fellipe, nos dois casos que enviou me parece que está informando um código de referência/skuId errôneo.

Já fez um teste com um skuId real? qual o retorno?

:)

Acredito que você não tenha entendido a minha colocação.

Obvio que ao colocar um SKU que faça parte da grade irá retornar os dados.

Mas estou questionando quando é colocado um número que não consta no banco de dados.

Enquanto o método stockkeepingunitbyid tem tratamento "SKU não encontrado" mas o stockkeepingunitbyrefid não tem o mesmo tipo de tratamento no retorno.

Fellipe, agora faz todo o sentido o que comenta, desculpe.

No embalo acabei interpretando seu segundo print como um problema em atualizar alguma informação na VTEX e não no erro do response.

São rotas diferentes mas no meu ver realmente elas poderiam ser padronizadas.

Mas para ti isso tem algum efeito? Sua integração depende desse tratamento?

Precisa ser padronizado porque de acordo com a empresa que está realizando a integração REST no sistema o retorno do response é uma função padronizada que neste caso um método retornando o que está hoje, ocorre erros do lado da aplicação.

Discordo um pouco da parte sobre ocorrer erros na aplicação porque retorna status 404 ou 500.

Esperar a VTEX ajustar/padronizar para a integração não dar problema no meu ver é inviável, os dois são status de "erro" e precisam ser mapeados.

Concordo que poderia ser padronizado! Seria o melhor dos mundos.

@Nathan Prestes​ de acordo com o responsável pelo projeto de migração, ele disse que métodos da mesma classe tem que ter o mesmo comportamento. E apresentar erro 500 não é um comportamento normal.

Métodos stockkeepingunitbyid e stockkeepingunitidbyrefid tem que ter o mesmo padrão de retorno, o mesmo response.

É possível a VTEX dar uma revisada no retorno da classe?