CORS, o URL do proxy da aplicação e as chamadas do navegador

CORS, o URL do proxy da aplicação e as chamadas do navegador

Copiar página

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