CORS, a URL do proxy do aplicativo e as chamadas do navegador
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 ele.
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 de desenvolvimento e protegidas por senha |
| URL do proxy do aplicativo | um caminho no domínio da própria loja | De mesma origem que a sua loja virtual, de modo que o navegador a trata 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 se integra de forma mais harmoniosa com a loja virtual e, como se trata de uma origem idêntica, muitas vezes você nem precisa do CORS.
Duas coisas que você deve saber antes de ligá-lo:
- A loja deve estar ativa e não protegida por senha. O Shopify não encaminha solicitações de proxy do aplicativo para uma loja virtual bloqueada; portanto, em uma loja de desenvolvimento, a URL do proxy não responderá. Mantenha-a desativada nesse ambiente.
- O Listas de endereços IP permitidos não se aplica à URL do proxy: essas solicitações chegam até nós a partir dos servidores do Shopify; portanto, o endereço delas não fornece nenhuma informação sobre o remetente original.
A autenticação funciona da mesma forma em ambos os endereços. O mesmo vale para o Proteção contra entregas duplicadas, o histórico e o 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 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 continuam chegando ao Shopify Flow da mesma forma - consulte Mapeamento de payload e variáveis de fluxo.
Relacionado
- Autenticação - o que o navegador precisa enviar.
- Mapeamento de payload e variáveis de fluxo - quais campos são enviados para Shopify Flow.
- Planos e uso - cada acesso pelo navegador conta para o limite.

