CORS, l'URL du proxy de l'application et les requêtes du navigateur
Un webhook est généralement appelé de serveur à serveur. Si vous souhaitez en appeler un depuis un navigateur (votre boutique en ligne, une page d'accueil ou un portail client), deux paramètres sont importants : « Activer CORS » et « Utiliser l'URL du proxy de l'application ». Ces deux options se trouvent dans les paramètres avancés du webhook.
Activer CORS
Les navigateurs refusent une requête inter-origines à moins que le serveur destinataire n'autorise celle-ci. Activez l'option « Activer CORS » et le webhook répondra à la requête préliminaire du navigateur et acceptera l'appel.
La vérification préalable autorise également l'utilisation de n'importe quel en-tête contenant votre jeton, y compris un nom d'en-tête personnalisé que vous avez défini vous-même, afin qu'un navigateur ne rencontre aucun problème avec celui-ci.
Utiliser l'URL du proxy de l'application
Chaque webhook dispose de deux adresses, toutes deux accompagnées d'un bouton « Copier » dans les paramètres d'URL :
| URL | On dirait que | Remarques |
|---|---|---|
| URL directe de l'application | le domaine de notre application, suivi du code du webhook | Cela fonctionne toujours, y compris sur les boutiques en mode développement et celles protégées par mot de passe |
| URL du proxy de l'application | un chemin d'accès sur le domaine propre à la boutique | Elle provient de la même origine que votre boutique en ligne, de sorte qu'un navigateur la traite comme une requête de première partie |
Cochez la case « Utiliser l'URL du proxy de l'application » pour publier l'adresse du proxy. Cela permet une intégration plus fluide avec la boutique en ligne et, comme il s'agit d'une même origine, vous n'avez souvent pas besoin du CORS.
Deux choses à savoir avant de l'allumer :
- La boutique doit être en ligne et ne pas être protégée par un mot de passe. Shopify ne transmet pas les requêtes de proxy de l'application pour une boutique verrouillée ; par conséquent, sur une boutique de développement, l'URL du proxy ne répondra pas. Veillez à ce qu'elle reste désactivée dans ce cas.
- La directive Listes d'adresses IP autorisées ne s'applique pas à l'URL du proxy : ces requêtes nous parviennent depuis les serveurs de Shopify ; leur adresse ne vous donne donc aucune indication sur l'expéditeur d'origine.
L'authentification fonctionne de la même manière sur les deux adresses. Il en va de même pour l'Protection contre les livraisons en double, l'historique et la limite du forfait.
Autoriser un corps de requête personnalisé
Toujours dans les paramètres avancés : l'option « Autoriser le corps de requête personnalisé » désactive la validation stricte du corps de la requête, de sorte que le webhook accepte n'importe quel format JSON et non plus uniquement les champs que vous avez mappés. Utilisez-la lorsque la charge utile de l'expéditeur est dynamique ou que vous n'en avez pas le contrôle. Les champs mappés parviennent toujours à Shopify Flow de la même manière - voir Mappage de la charge utile et variables de flux.
Connexes
- Authentification - ce que le navigateur doit envoyer.
- Mappage de la charge utile et variables de flux - quels champs sont transmis à Shopify Flow.
- Forfaits et utilisation - Chaque requête effectuée par un navigateur est comptabilisée dans la limite.

