CORS, la URL del proxy de la aplicación y las llamadas del navegador
Active CORS y la URL del proxy de la aplicación para llamar a un webhook de Shopify Flow desde el navegador, y sepa qué riesgos expone el token.
Normalmente, un webhook se activa de servidor a servidor. Si desea activarlo 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 de origen cruzado 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.
El proceso de 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 se muestran con un botón para copiarlas en la 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 dominio propio 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.
Aspectos que debe tener en cuenta antes de encenderlo:
- Se debe poder acceder a la tienda online. En una tienda protegida con contraseña, como una tienda de desarrollo, la URL del proxy solo responde una vez introducida la contraseña de la tienda, por lo que los usuarios externos a su tienda no pueden utilizarla allí.
- La regla Listas de direcciones IP permitidas no se aplica a la URL del proxy: esas solicitudes nos llegan desde los servidores de Shopify, por lo que su dirección no le proporciona ninguna información sobre el remitente original.
- Shopify firma todas las solicitudes a través de la URL del proxy. Puede utilizar esto para permitir que solo los clientes que hayan iniciado sesión puedan activar los webhooks, desactivar la URL directa y obtener el ID del cliente en Shopify Flow: consulte Clientes que han iniciado sesión en su tienda online.
La autenticación funciona igual 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
- Autenticación: lo que debe enviar el navegador.
- Asignación de la carga útil y variables de flujo: qué campos llegan a Shopify Flow.
- Clientes que han iniciado sesión en su tienda online: solo clientes que hayan iniciado sesión, con el ID de cliente en Shopify Flow.
- Planes y uso: cada solicitud del navegador cuenta para el límite.
