CORS, a URL do proxy do aplicativo e as chamadas do navegador
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
- Autenticação - o que o navegador deve enviar.
- Mapeamento de payload e variáveis de fluxo - quais campos são enviados ao Shopify Flow.
- Clientes conectados em sua loja virtual - apenas clientes conectados, com o ID do cliente no Shopify Flow.
- Planos e uso - cada chamada do navegador conta para o limite.
