Comment connecter Shopify à Shopify Flow
Shopify signe ses propres webhooks et appels d'application à application à l'aide de la clé secrète de l'API de votre application. Ce préréglage vous permet de recevoir un Webhook provenant d’une autre boutique Shopify ou de votre propre application, et de le vérifier exactement comme indiqué dans la documentation de Shopify. Workflow Webhooks transforme cet appel en un Déclencheur Shopify Flow, afin que votre boutique puisse y réagir : attribuer une balise à un client, ajouter une note de commande, envoyer un e-mail interne, mettre à jour un métachamp… tout ce qu’Shopify Flow est en mesure de faire.
Ce guide décrit l'ensemble du processus : Shopify envoie, Workflow Webhooks reçoit et vérifie, Shopify Flow exécute, la signature HMAC de Shopify étant vérifiée à chaque requête, de sorte que seul Shopify puisse lancer votre workflow.
Ce que vous pouvez construire
- Répliquez une commande provenant d'une autre boutique Shopify dans celle-ci : associez-la à un client, ajoutez une note ou lancez un processus de traitement de la commande.
- Pour réagir dans Shopify Flow à un sujet que l'Shopify Flow ne propose pas en tant que déclencheur, vous devez vous y abonner depuis votre propre application.
- Assurez la coordination entre une boutique de gros et une boutique de détail sans avoir à développer de service intermédiaire.
Exemples d'événements à envoyer : orders/create, products/update, customers/create, fulfillments/create.
Avant de commencer
- Workflow Webhooks installé sur votre boutique Shopify.
- Shopify Flow installée, disponible gratuitement sur l'App Store de Shopify.
- Un compte sur Shopify disposant des autorisations nécessaires pour créer des webhooks.
Étape 1 - Créez le webhook sur Workflow Webhooks
- Accédez à Workflow Webhooks -> Webhooks -> Créer un webhook et attribuez-lui un nom que vous reconnaîtrez dans Shopify Flow, tel que
Shopify events. - Dans la section « Authentification », sélectionnez « HMAC ».
- Dans la section « Fournisseur de signature », sélectionnez « Shopify ». L'application remplit automatiquement les champs « en-tête », « algorithme », « payload signé » et « fenêtre de relecture » ; vous n'avez rien d'autre à configurer.
- Pour l'instant, ne renseignez pas le champ « Secret » et cliquez sur « Enregistrer ». Copiez l'URL du webhook affichée sur la page.
Consultez la page Authentification pour connaître les autres modes d'authentification, et la page Mappage de la charge utile et variables de flux pour savoir quels champs sont transmis à Shopify Flow.
Étape 2 - Ajoutez le point de terminaison dans Shopify
Créez l'abonnement au webhook dans la boutique ou l'application émettrice à l'aide de l'URL que vous avez copiée, puis signez-le avec la clé secrète API de cette application.
Comment trouver votre clé de signature Shopify
La clé secrète de l'API de votre application / la clé de signature du webhook.
La documentation d'Shopify concernant les signatures des webhooks contient le libellé exact et les captures d'écran correspondant à votre compte.
Collez ce secret dans le champ « Secret » du webhook sur Workflow Webhooks, puis enregistrez. À partir de ce moment, chaque envoi via Shopify sera vérifié avant d'atteindre Shopify Flow.
Ce que cette vérification permet de contrôler
| Quoi ? | Valeur |
|---|---|
| En-tête de signature | X-Shopify-Hmac-Sha256 |
| Emplacement de la signature | La valeur complète de l'en-tête |
| Ce qui est signé | {body} |
| Signature | HMAC-SHA256, encodé en base64 |
| Horodatage | Non utilisé par cet expéditeur |
| Protection contre la relecture | Aucune - cet expéditeur ne signe pas l'horodatage ; par conséquent, toute signature valide reste valide |
| Le secret | À utiliser sous forme de texte brut. Copiez-collez-le exactement tel que l'expéditeur l'a indiqué. |
Dans la payload signée, {body} correspond au corps brut de la requête, octet par octet.
Toute requête qui ne respecte pas l'une de ces conditions est rejetée avec le message 401, est enregistrée dans Historique et dépannage et ne déclenche jamais de workflow.
Étape 3 - Créer le workflow Shopify Flow
- Dans « Shopify Flow », créez un workflow et sélectionnez le déclencheur « Workflow Webhooks ».
- Cliquez sur « Enregistrer les événements », puis envoyez un événement test depuis Shopify (ou utilisez l'option « Envoyer un test » dans Workflow Webhooks) afin que Shopify Flow apprenne la structure de vos données.
- Chaque webhook dont vous disposez déclenche le même déclencheur de Shopify Flow ; veuillez donc ajouter une première condition sur l'identifiant du webhook afin de limiter ce workflow à Shopify uniquement. L'identifiant est indiqué sur la page du webhook.
- Ajoutez vos actions : identifiez un client, ajoutez une note, envoyez un e-mail interne, mettez à jour un métachamp.



Étape 4 - Testez-le de bout en bout
Déclenchez un événement réel dans Shopify. Dans Workflow Webhooks -> Historique, vous devriez voir l'appel avec le statut « Success ». Si la signature était incorrecte, vous obtiendrez à la place une entrée indiquant un échec avec la raison correspondante, et Vérification des webhooks signés explique le fonctionnement de l'outil de vérification de signature qui vous indique précisément quelle étape a échoué.

La signature ne correspond pas▾
Dans cette commande : le secret (cause la plus courante : un espace supplémentaire ou une clé provenant d'un environnement incorrect), le fait que l'expéditeur utilise le secret d'un autre point de terminaison, et le fait que quelque chose entre Shopify et l'application réécrive le corps du message. Les signatures portent sur les octets bruts ; par conséquent, un proxy qui reformate le JSON les invalide. Le testeur de signature disponible sur la page du webhook affiche le texte exact qui a été signé.
Je reçois une erreur 401 à chaque requête▾
Vérifiez que l'authentification du webhook est configurée sur HMAC avec le fournisseur « Shopify » sélectionné, que le secret est renseigné et que Shopify envoie des requêtes POST à l'URL exactement telle qu'elle s'affiche dans l'application, y compris le code à la fin.
Rien n'apparaît dans l'historique▾
La requête n'est jamais arrivée. Vérifiez à nouveau l'URL sur Shopify, et consultez le journal de livraison de Shopify pour connaître la réponse qu'il a reçue. Un message 404 indique un webhook incorrect ou supprimé, tandis qu'un message 429 signifie que vous avez dépassé la limite d'appels de votre forfait - consultez Forfaits et utilisation.
Le workflow s'exécute pour des événements incorrects▾
Chaque webhook de votre boutique déclenche le même déclencheur Shopify Flow. Ajoutez une condition sur l'identifiant du webhook comme première étape du workflow, ou affinez les événements que vous envoyez depuis Shopify.
Connexes
- Vérification des webhooks signés - tous les prestataires que nous vérifions, et comment décrire ceux que nous ne vérifions pas.
- Mappage de la charge utile et variables de flux - extraire les champs appropriés du payload et les transférer dans Shopify Flow.
- Protection contre les livraisons en double - Que se passe-t-il lorsque Shopify tente à nouveau d'effectuer une livraison ?
- Historique et dépannage - le journal de chaque requête, avec possibilité de relecture.

