{"section":"announcements","requestedLocale":"pt","requestedSlug":"2019-08-30-adaptacao-das-requisicoes-de-front-end-da-sua-loja-ao-master-data","locale":"pt","slug":"2019-08-30-adaptacao-das-requisicoes-de-front-end-da-sua-loja-ao-master-data","path":"docs/pt/announcements/2019/agosto/2019-08-30-adaptacao-das-requisicoes-de-front-end-da-sua-loja-ao-master-data.md","branch":"main","content":"Com o principal objetivo de fornecer uma experiência cada vez mais eficiente para você e seus clientes, **a VTEX descontinuará o suporte ao CORS do Master Data.** Siga as instruções deste artigo e evite qualquer falha na operação e na navegação da sua loja.\n\n> ⚠️ A descontinuação estava agendada para setembro de 2019, anteriormente. Porém, em alinhamento com a parceria que temos com nossos clientes e garantindo o mínimo de atrito em suas operações, prorrogamos a data da descontinuação deste recurso para o dia 07 de outubro de 2019.\n\n\n### O que é CORS?\nO CORS (Cross-Origin Resource Sharing) é um mecanismo de proteção dos navegadores quando precisam acessar informações em um domínio diferente do qual o usuário está navegando. Imagine um usuário acessando o domínio \"vtex.com\". Se há algum recurso de *javascript* que precisa consultar uma informação em outro domínio, por exemplo \"vtexday.com\", o navegador realizará um processo de validação para saber se o domínio \"vtexday.com\" permite consultas a partir do domínio \"vtex.com\". O processo em si é basicamente uma requisição extra na mesma API configurada no *javascript*, porém, através do método OPTIONS. \n\nClique [aqui](https://developer.mozilla.org/pt-BR/docs/Web/HTTP/Controle_Acesso_CORS) para saber mais sobre CORS.\n\n### Por que estamos descontinuando o suporte ao CORS?\n\nTemos dois objetivos com essa mudança:\n\n- Remover uma chamada extra desnecessária, tornando o uso do serviço mais eficiente e melhorando a experiência do cliente final durante a navegação no site.\n\n- Como o método OPTIONS não é cacheado pela CDN, atualmente sua loja pode sofrer interrupções do serviço por excesso de uso (throttling). Queremos evitar esse comportamento inesperado.\n\n### O que precisa ser feito para se adaptar?\nPara se adequar a essa definição, o desenvolvedor responsável pelo front-end da sua loja precisa modificar as requisições javascript que são feitas ao Master Data, garantindo a chamada sempre através do caminho relativo, ou seja, pelo domínio do próprio site.\n\nCom o exemplo abaixo, ilustramos uma forma **inadequada** de realizar a requisição ao Master Data (exemplo em jQuery):\n\n```$.getJSON(\"https://api.vtex.com/{account}/dataentities/CL/search?_where=(email=test@test.com)\");```\n\nNote que neste exemplo, a requisição está sendo realizada através de um caminho absoluto, ou seja, a URL da chamada contém o protocolo (https) e o domínio (api.vtex.com). Esse formato deixará de funcionar a partir da data mencionada neste e-mail.\n\nAbaixo, também com um exemplo ilustrativo, demonstramos a forma **correta** de realizar a mesma requisição:\n\n```$.getJSON(\"/api/dataentities/CL/search?_where=(email=test@test.com)\");```\n\nNote, neste último exemplo, que o protocolo e o domínio da chamada não estão presentes. Dessa forma, o browser não fará uso do CORS e realizará a requisição através do protocolo e domínio do próprio site, seguindo o formato correto. Note também que o diretório \"/api\" foi adicionado ao endpoint.\n\n### Quais impactos a loja poderá sofrer se não houver adequação?\n\nA loja poderá ser impactada de diversas formas caso não ocorra a adequação. Pode ocorrer desde um mal funcionamento de recursos simples, até interrupção nas vendas. Ou seja, o impacto estará proporcionalmente relacionado à dependência que o fluxo de compra tem dessas requisições ao Master Data.\n\nCompartilhe este artigo com o desenvolvedor responsável pelo front-end da sua loja. Para acessar informações exclusivas da sua loja a respeito deste assunto, entre em contato com nosso suporte. Estamos prontos para apoiar vocês nesta adaptação."}