CORS, a URL do proxy do aplicativo e as chamadas do navegador

CORS, a URL do proxy do aplicativo e as chamadas do navegador

Copiar página

Habilite o CORS, publique o webhook no próprio domínio da loja com a URL do proxy do aplicativo e saiba o que um webhook acessível pelo navegador expõe.

Um webhook é normalmente chamado de servidor para servidor. Caso deseje chamá-lo a partir de um navegador - sua loja virtual, uma página de destino ou um portal do cliente, há duas configurações importantes: “Ativar CORS” e “Usar URL de proxy do aplicativo”. Ambas se encontram nas configurações avançadas do webhook.

Ativar CORS

Os navegadores rejeitam uma solicitação entre origens, a menos que o servidor destinatário autorize tal solicitação. Ative a opção “Habilitar CORS” e o webhook responderá à solicitação de pré-verificação do navegador e aceitará a chamada.

A verificação prévia também permite que qualquer cabeçalho contenha seu token, incluindo um nome de cabeçalho personalizado definido por você mesmo, para que o navegador não encontre dificuldades com isso.

Utilizar a URL do proxy do aplicativo

Cada webhook possui dois endereços, ambos exibidos com um botão “Copiar” nas configurações de URL:

URL Parece que Notas
URL direta do aplicativo o domínio do nosso aplicativo, terminando com o código do webhook Funciona sempre, inclusive em lojas em desenvolvimento e protegidas por senha
URL do proxy do aplicativo um caminho no próprio domínio da loja De mesma origem que a loja virtual; portanto, o navegador trata essa solicitação como uma solicitação de primeira parte

Ative a opção “Usar URL de proxy do aplicativo” para publicar o endereço do proxy. Isso proporciona uma integração mais harmoniosa com a loja virtual e, como se trata de uma origem idêntica, muitas vezes não é necessário utilizar CORS.

O que você deve saber antes de ligá-lo:

  • A loja virtual deve estar acessível. Em uma loja protegida por senha, como uma loja de desenvolvimento, a URL do proxy só responde após a senha da loja ter sido digitada; portanto, usuários externos à sua loja não podem utilizá-la nesse contexto.
  • A lista de endereços permitidos Listas de endereços IP permitidos não se aplica à URL do proxy: essas solicitações chegam até nós a partir dos servidores da Shopify, portanto, o endereço delas não fornece nenhuma informação sobre o remetente original.
  • O Shopify assina todas as solicitações por meio da URL de proxy. O senhor pode utilizar isso para permitir que apenas clientes conectados acionem o webhook, desativar a URL direta e obter o ID do cliente no Shopify Flow: consulte Clientes conectados em sua loja virtual.

A autenticação funciona da mesma forma em ambos os endereços. O mesmo se aplica a Proteção contra entregas duplicadas, ao histórico e ao limite do plano.

Permitir um corpo de solicitação personalizado

Ainda nas configurações avançadas: a opção “Permitir corpo de solicitação personalizado” desativa a validação rigorosa do corpo, de modo que o webhook aceita qualquer formato de JSON, e não apenas os campos que você mapeou. Utilize-a quando a payload do remetente for dinâmica ou quando você não tiver controle sobre ela. Os campos mapeados ainda chegam ao Shopify Flow da mesma forma - consulte Mapeamento de payload e variáveis de fluxo.

Relacionado