CORS, o URL do proxy da aplicação e as chamadas do navegador
Ative o CORS, publique o webhook no próprio domínio da loja com o URL do proxy da aplicação e saiba o que um webhook acionável pelo navegador expõe.
Um webhook é normalmente chamado de servidor para servidor. Se pretender chamá-lo a partir de um navegador - a sua loja virtual, uma página de destino, um portal do cliente, há duas definições importantes: «Ativar CORS» e «Utilizar URL de proxy da aplicação». Ambas se encontram nas definições avançadas do webhook.
Ativar o CORS
Os navegadores recusam um pedido entre origens, a menos que o servidor de destino indique que tal é permitido. Ative a opção «Ativar CORS» e o webhook responderá ao pedido de pré-verificação do navegador e aceitará a chamada.
A verificação prévia também permite que qualquer cabeçalho contenha o seu token, incluindo um nome de cabeçalho personalizado definido por si, para que o navegador não tenha problemas com isso.
Utilizar o URL do proxy da aplicação
Cada webhook tem dois endereços, ambos apresentados com um botão «Copiar» nas definições de URL:
| URL | Parece que | Notas |
|---|---|---|
| URL direta da aplicação | o domínio da nossa aplicação, que termina com o código do webhook | Funciona sempre, inclusive em lojas de desenvolvimento e nas que estão protegidas por palavra-passe |
| URL do proxy da aplicação | um caminho no domínio da própria loja | Tem a mesma origem que a sua loja virtual, pelo que o navegador trata-a como um pedido de primeira parte |
Ative a opção «Utilizar URL do proxy da aplicação» para publicar o endereço do proxy. Esta opção integra-se de forma mais harmoniosa com a loja virtual e, uma vez que se trata de uma origem idêntica, muitas vezes nem sequer é necessário recorrer ao CORS.
O que deve saber antes de o ligar:
- A loja virtual deve estar acessível. Numa loja protegida por palavra-passe, como uma loja de desenvolvimento, o URL do proxy só responde após a introdução da palavra-passe da loja, pelo que os utilizadores externos à sua loja não a podem utilizar nesse contexto.
- A regra Listas de endereços IP autorizados não se aplica ao URL do proxy: essas solicitações chegam-nos a partir dos servidores da Shopify, pelo que o seu endereço não fornece qualquer informação sobre o remetente original.
- O Shopify assina todos os pedidos através do URL do proxy. Pode utilizar essa funcionalidade para permitir que apenas os clientes com sessão iniciada acedam ao webhook, desativar o URL direto e obter o ID do cliente no Shopify Flow: consulte Clientes que iniciaram sessão na 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 pedido personalizado
Ainda nas definições avançadas: a opção «Permitir corpo de pedido personalizado» desativa a validação rigorosa do corpo, pelo que o webhook aceita qualquer formato JSON, em vez de apenas os campos que mapeou. Utilize-a quando a carga útil do remetente for dinâmica ou quando não a controlar. Os campos mapeados continuam a chegar ao Shopify Flow da mesma forma - consulte Mapeamento da carga útil e variáveis de fluxo.
Relacionado
- Autenticação - o que o navegador tem de enviar.
- Mapeamento da carga útil e variáveis de fluxo - quais os campos que chegam ao Shopify Flow.
- Clientes que iniciaram sessão na sua loja virtual - apenas clientes com sessão iniciada, com o ID do cliente no Shopify Flow.
- Planos e utilização - cada chamada do navegador conta para o limite.
