Erro de CORS na API de Pedidos

Boa tarde, tudo bem?

Estou com dificuldade na integração com a API de Pedidos da VTEX. Como eu poderia estar utilizando? Pois na criação, quando fui fazer uma requisição na API, ela me retornou um problema de CORS.

Bom dia, essa requisição está sendo feita de um servidor ou de um cliente, digo, diretamente de um site por exemplo?

Olá, tudo bem? Inicialmente eu estava tentando fazer a requisição direto do site do cliente, em seguida, eu tentei fazer por dentro do código mesmo, mas ambas não deram certo

Se for do cliente(que vive na máquina do usuário) não vai funcionar, a vtex bloqueia acesso as apis que não são públicas de qualquer domínio

Certo, como eu poderia estar integrando com essa API? Terias uma documentação para me referenciar ?

a melhor alternativa é criar um middleware intermediário para buscar esses dados, Erro CORS nas APIs - VTEX in your native language :earth_americas: / Português - VTEX Community

Certo, para criar isto, eu devo instalar o builder de node na minha aplicação? Ali no link que me enviasse, há um comentário falando sobre “Crie uma middleware, no seu provedor de hospedagem”, é neste sentido?

Nunca utilizei com o builder de node, sempre fiz como uma api a parte mesmo, instalada em outro servidor

Essa API ficaria fora dai dos paramêtros da VTEX, no caso, da URL ? Podes me enviar uma documentação sobre?

Sim vc construiria uma api por fora da vtex, que consumiria a api de orders e devolveria para sua aplicação aí dentro da vtex com os dados que você precisa, infelizmente não tenho nem um exemplo em mente, se eu lembrar, ou achar eu incluo aqui…

1 Like

Fala @jp-prud , esse erro de cors é algo bem comum de acontecer, nós bloqueamos aqui dentro da VTEX chamadas para endpoints externos a nível de front, daí, nesse caso, é sempre necessário utilizar um middleware (graphql ou serviço em node) para fazer essa conexão com o mundo externo, e daí, o front irá consumir esses serviços para conseguir disponibilizar os resultados, portanto, utilizar coisas como fetch ou axios dentro do React para API’s externas sempre vai apresentar esse erro de CORS, para isso, criamos o nosso curso sobre serviços, ensinando como os middlewares e apps em node devem ser feitos para serem consumidos no front, você pode consultar ele aqui: Services in VTEX IO. Criando o service já deve resolver o problema :wink:

Boa tarde Iago, tudo bem? Muito obrigado pelo retorno, agora entendi, não estava conseguindo de forma alguma fazer esta integração, vou estar dando uma verificada nesta documentação que você me enviou, qualquer coisa eu lhe retorno!!! Abraços😃

Um ponto importante sobre a API de orders (listar pedidos), é que é uma API privada, e que requer token de autenticação (appKey appToken).
APIS que tem essa segurança não são recomendadas de serem feitas no FRONT, pois expoem os seus dados na chamada.

1 Like

Perfeita colocação Hansen, obrigado por informar, justamente por este motivo, estou criando um Middleware para deixar esses dados apenas no back, como irá ser gerada uma rota a partir da criação dele, poderei estar fazer a requisição por ela, correto?

correto, pode sim =)

1 Like

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.