CORS, la URL del proxy de la aplicación y las llamadas del navegador

Normalmente, un webhook se invoca de servidor a servidor. Si desea invocarlo desde un navegador - su tienda online, una página de destino o un portal de clientes - , hay dos ajustes que son importantes: «Habilitar CORS» y «Utilizar la URL del proxy de la aplicación». Ambos se encuentran en la sección «Configuración avanzada» del webhook.

Habilitar CORS

Los navegadores rechazan una solicitud entre dominios a menos que el servidor receptor indique que está permitida. Active la opción «Habilitar CORS» y el webhook responderá a la solicitud previa del navegador y aceptará la llamada.

La comprobación previa también permite que el token se incluya en cualquier encabezado, incluido un nombre de encabezado personalizado que usted mismo haya establecido, para que el navegador no detecte ningún problema.

Utilice la URL del proxy de la aplicación

Cada webhook tiene dos direcciones, ambas aparecen con un botón para copiarlas en la sección de configuración de la URL:

URL Parece que Notas
URL directa de la aplicación el dominio de nuestra aplicación, que termina con el código del webhook Funciona siempre, incluso en tiendas de desarrollo y en aquellas protegidas con contraseña
URL del proxy de la aplicación una ruta en el propio dominio de la tienda Tiene el mismo origen que su tienda online, por lo que el navegador la trata como una solicitud de origen propio

Active la opción «Utilizar la URL del proxy de la aplicación» para publicar la dirección del proxy. Se integra de forma más fluida con la tienda online y, al tratarse de un origen idéntico, a menudo no es necesario utilizar CORS en absoluto.

Hay dos cosas que debe saber antes de encenderlo:

  • La tienda debe estar activa y no protegida con contraseña. Shopify no redirige las solicitudes de proxy de la aplicación para una tienda online bloqueada, por lo que, en una tienda de desarrollo, la URL del proxy no responderá. Manténgala desactivada allí.
  • La política Listas de direcciones IP permitidas no se aplica a la URL del proxy: dichas solicitudes nos llegan desde los servidores de Shopify, por lo que su dirección no le proporciona ninguna información sobre el remitente original.

La autenticación funciona de la misma manera en ambas direcciones. Lo mismo ocurre con Protección contra entregas duplicadas, el historial y el límite del plan.

Permitir un cuerpo de solicitud personalizado

Asimismo, en la sección «Configuración avanzada»: la opción «Permitir cuerpo de solicitud personalizado» desactiva la validación estricta del cuerpo, de modo que el webhook acepta cualquier formato JSON en lugar de limitarse únicamente a los campos que haya asignado. Utilícela cuando el payload del remitente sea dinámico o no tenga control sobre él. Los campos asignados siguen llegando a Shopify Flow de la misma forma; consulte Asignación de la carga útil y variables de flujo.

Relacionado