Ressources

Apps Shopify : comment diagnostiquer les erreurs API et webhooks sans perdre le fil de tes commandes

Par Teo Comyn · Consultant Shopify · CRO, SEO & Liquid · EXPERAISE

Lecture ~12 min · Shopify · Apps · Développement · Data · Webhooks · Octobre 2026 · Mis à jour 2026-10-01

ShopifyAppsDéveloppementDataWebhooks

Pour diagnostiquer une app Shopify qui ne synchronise plus correctement commandes ou stocks, pars d'une opération précise : quelle donnée devait arriver, dans quel outil, et à quelle heure ? Consulte ensuite les métriques et journaux de l'app dans le Dev Dashboard, puis rapproche-les de son serveur et du système destinataire. Un voyant vert ne suffit pas : la vérification finale porte sur la donnée réellement reçue.

Le 25 septembre 2026, Shopify a annoncé de nouveaux journaux filtrables et indicateurs pour les apps personnalisées : appels API, erreurs, livraisons de webhooks et performance des pages intégrées à l'admin. Le changement est utile pour enquêter ; il ne répare pas automatiquement une intégration. Annonce officielle Shopify.

1. À qui ce guide sert vraiment

Tu es concerné si une app ou un connecteur sur mesure relie Shopify à un ERP, une logistique, un CRM ou une règle commerciale spécifique. Exemples de symptômes à investiguer : une commande absente de l'ERP, un stock incohérent, une remise qui ne s'applique plus ou une page d'app impossible à utiliser.

Le Dev Dashboard est un espace de développement, pas un tableau donnant à chaque marchand les logs internes de toutes les apps de son store. L'accès dépend de l'organisation et des permissions ; Shopify précise que l'accueil nécessite l'accès au développement d'apps. Commence par faire confirmer la présence de l'app dans le bon compte. Présentation du Dev Dashboard.

Si tu utilises une app tierce de l'App Store sans accès à son organisation de développement, demande les éléments au support de l'éditeur. Si une intégration historique n'apparaît pas, fais identifier son mode de création et ses outils de diagnostic. Ne recrée pas l'app et ne la désinstalle pas pour obtenir un écran de logs.

Pour une boutique sans intégration sur mesure ni incident, un inventaire simple suffit comme point de départ. Il n'y a pas de raison d'ajouter une couche de monitoring complexe par principe.

2. Comprendre le flux avant de lire les erreurs

Une API permet à un logiciel de demander ou de modifier une donnée. Un webhook prévient un logiciel lorsqu'un événement survient. Si ces notions te sont nouvelles, commence par la définition d'un webhook Shopify.

Pour travailler avec ton développeur, transforme « la synchronisation ne marche pas » en une chaîne vérifiable :

Action dans Shopify → réception par l'app → traitement → envoi au destinataire → résultat métier.

Pour chaque étape, demande une trace correspondant à la même opération. Une commande reçue par le connecteur n'est pas nécessairement une commande créée dans l'ERP. Une tentative de mise à jour n'est pas nécessairement un stock corrigé.

Je recommande cette fiche d'inventaire avant toute correction :

Tableau : défilement horizontal si nécessaire.

Inventaire des flux et preuves à rapprocher
FluxDéclencheur attenduRésultat à vérifierResponsablePreuve recherchée
Commandes vers l'ERPÉvénement prévu par l'intégrationCommande créée une seule fois avec les bons articlesMainteneur du connecteurRéférence Shopify rapprochée de la référence ERP
Stocks vers ShopifyMise à jour depuis l'outil propriétaire du stockQuantité correcte pour la variante et l'emplacement concernésResponsable stock + développeurValeur source, opération de mise à jour et valeur finale
Remise personnaliséePanier remplissant les conditions documentéesRemise conforme à la règle commercialeResponsable e-commerce + développeurPanier de recette et calcul attendu

Ce tableau est un modèle à adapter, pas la description d'une architecture native obligatoire. Si tu relies Shopify à un ERP, le guide Shopify B2B et Odoo aide à cadrer quel outil possède chaque donnée ; ici, l'objectif est de retrouver une rupture dans le flux.

3. La procédure de diagnostic, en six étapes

Étape 1 — Définis précisément l'incident

Note la boutique, l'app, l'opération concernée, l'heure avec son fuseau et le résultat attendu. Utilise une référence technique pseudonymisée si tu dois partager le ticket. « Depuis la mise à jour » est une piste ; une opération datée est une preuve exploitable.

Précise aussi ce qui fonctionne encore. Une panne sur un seul type de commande ne s'investigue pas comme une indisponibilité générale.

Étape 2 — Ouvre la bonne app et le bon intervalle

Dans le Dev Dashboard, passe par Apps, choisis l'app, puis Overview pour les métriques ou Logs pour les livraisons individuelles. Shopify documente ce parcours pour les apps créées via le Dev Dashboard ou Shopify CLI. Diagnostic des webhooks.

Commence autour de l'heure de l'incident. Élargis ensuite la fenêtre pour chercher quand le comportement a changé. Enregistre les filtres et le fuseau retenus : cela évite que deux personnes comparent des périodes différentes.

Étape 3 — Lis les erreurs avec leur volume et leur impact

Ne décide pas seulement sur un pourcentage. Demande aussi combien d'opérations ont échoué, quels objets sont concernés et si un rattrapage est possible.

Ma grille de priorité proposée :

Tableau : défilement horizontal si nécessaire.

Prioriser selon l’impact métier — grille proposée
Situation métierPriorité proposéePremière décision
Commande non transmise ou opération irréversible répétéeIntervention immédiateIdentifier le périmètre et définir une procédure de secours validée
Stock incohérent sur des produits disponibles à la venteRapide, selon expositionVérifier la source du stock et les risques de vente d'articles indisponibles
Erreur isolée, résultat final correctement obtenuInvestigation planifiéeComprendre la cause et vérifier qu'elle n'est pas récurrente
Appel déprécié sans incident constatéÉchéance à planifierNommer le responsable et préparer la mise à jour avant la date applicable

Ces niveaux ne remplacent pas ceux de Shopify. Ils ajoutent la conséquence commerciale propre à ta boutique. Un incident rare peut être prioritaire si son effet est difficile à annuler.

Étape 4 — Filtre jusqu'à l'opération concernée

La documentation permet de combiner période, boutique et type d'événement, puis les filtres propres au type sélectionné. Elle signale aussi l'échantillonnage possible sur les larges fenêtres et les réponses tronquées. Un résultat absent ou incomplet demande donc une recherche plus ciblée, pas une conclusion immédiate. Filtres et limites des journaux.

Transmets au développeur l'entrée utile et ses références, plutôt qu'une capture de graphique sans contexte. Demande-lui de rapprocher cette trace du traitement côté serveur.

Étape 5 — Vérifie le résultat, pas uniquement le statut HTTP

Shopify rappelle qu'une requête GraphQL peut répondre 200 tout en échouant au niveau de l'opération. Les journaux ne couvrent pas non plus une requête du navigateur envoyée directement au serveur de ton app. Périmètre du diagnostic.

La vérification doit donc continuer jusqu'à l'outil destinataire : la bonne référence, les bons articles, la bonne valeur, le bon emplacement. Pour les traitements en arrière-plan, demande un statut qui distingue reçu, en attente, traité et échoué. Ce vocabulaire est une convention de travail proposée, pas une liste imposée par Shopify.

Étape 6 — Documente la correction et le rattrapage

Une correction peut traiter les nouvelles opérations sans reprendre les anciennes. Demande deux livrables séparés : la preuve que le flux fonctionne maintenant et la liste des objets affectés pendant l'incident.

Avant de rejouer des opérations, fais vérifier les doublons et les effets secondaires : nouvel e-mail, préparation logistique, facture ou mouvement de stock. Ne lance pas une reprise massive simplement parce que le code corrigé répond correctement.

4. Webhooks : les points techniques à faire valider

Cette partie sert à cadrer la conversation avec le mainteneur. Ce n'est pas un script à copier en production.

Pour les livraisons HTTPS, Shopify fixe un délai global de cinq secondes. La documentation décrit huit nouvelles tentatives sur quatre heures en cas d'échec, et la suppression d'une souscription configurée via l'Admin API après les échecs consécutifs. Cela ne signifie pas que toutes les souscriptions se recréent de la même manière. Conditions de livraison HTTPS.

La même documentation recommande la vérification HMAC avant traitement et des opérations idempotentes : recevoir plusieurs fois une notification ne doit pas multiplier son effet. Elle distingue X-Shopify-Webhook-Id, pour identifier une livraison, et X-Shopify-Event-Id, pour rapprocher plusieurs livraisons issues d'une même action. Authenticité et doublons.

Je recommande de demander au développeur de confirmer ces quatre points :

  1. Réception fiable. L'app sait-elle reconnaître une livraison valide et l'enregistrer durablement avant de l'acquitter ? Un succès envoyé avant une conservation fiable peut masquer une perte si le serveur tombe ensuite.
  2. Traitement différé suivi. Si le travail continue en arrière-plan, qui détecte une tâche bloquée et comment la reprendre ?
  3. Rejeu sûr. Une livraison répétée peut-elle provoquer une deuxième facture ou une deuxième préparation ? La déduplication doit résister aux traitements concurrents, pas seulement au test manuel séquentiel.
  4. Rapprochement métier. Existe-t-il une méthode pour retrouver les objets manquants et les distinguer de ceux déjà traités ?

Pour la reprise après panne, Shopify distingue les souscriptions propres à l'app de celles créées pour une boutique ; les premières n'exigent pas une nouvelle souscription. Le guide prévoit également la récupération des données manquantes. Fais confirmer la méthode applicable avant de modifier les abonnements. Reprise après interruption.

5. Exemple fictif : le webhook réussit, mais la commande manque dans l'ERP

Supposons une boutique fictive qui transmet ses commandes à un ERP. Shopify affiche une livraison réussie, mais le service logistique ne retrouve pas la commande.

Trois pistes restent à vérifier, sans en affirmer aucune :

  • le connecteur a confirmé la réception, mais sa tâche en arrière-plan a échoué ;
  • l'ERP a refusé une information attendue, par exemple un identifiant article ;
  • la commande existe sous une autre référence ou dans un périmètre différent de celui consulté.

Le diagnostic consiste à rapprocher la livraison, la tâche interne et la réponse de l'ERP. Le bon test de réception n'est pas « le webhook est vert ». C'est « la commande attendue existe une seule fois, avec les bonnes lignes, et peut être traitée ».

Je déconseille de forcer un nouvel envoi avant d'avoir écarté la présence d'un doublon. Pour décider d'un rattrapage, fais valider la liste des objets manquants par le responsable métier, puis les conditions de rejeu par le développeur.

6. La fiche d'incident à réutiliser

Voici le document que je recommande de garder dans un espace privé partagé avec le mainteneur :

Tableau : défilement horizontal si nécessaire.

Fiche d’incident à compléter
ChampÀ renseigner
Symptôme et impactQuelle opération est bloquée, pour quel périmètre ?
IntervalleDébut connu, fin connue ou incident encore actif ; fuseau explicite
Flux et responsableApp, système destinataire, contact qui peut intervenir
Référence de rapprochementIdentifiant technique minimisé permettant de suivre l'opération
PreuvesFiltres, entrée Shopify, trace serveur et résultat destinataire
CauseConfirmée par une trace, ou hypothèse à vérifier
CorrectionChangement exact, version et moment d'application
RepriseObjets à rattraper, risques de doublon et validation métier
ClôtureScénarios exécutés, résultats observés, validateur et prochaine revue

Une fiche vide est un modèle. Remplie avec des traces réelles, elle devient une base de décision. Ne transforme pas un intervalle d'incident en estimation de revenu perdu sans méthode d'attribution et données vérifiables.

7. Limites et erreurs à éviter

Shopify indique une conservation des logs de trente jours et une fenêtre de filtrage maximale de sept jours. Les journaux de livraison peuvent également apparaître avec plusieurs minutes de délai. Conserve rapidement les références utiles, sans recopier inutilement les données clients. Conservation des logs, délai des métriques webhook.

Autres distinctions importantes :

  • Les indicateurs de performance d'une app intégrée à l'admin ne sont pas les performances du thème vu par tes clients. La performance storefront reste un chantier distinct.
  • Cette procédure ne diagnostique pas à elle seule GA4, Meta Pixel ou le consentement publicitaire. Le guide de migration ScriptTags traite les intégrations concernées par cette dépréciation.
  • La visibilité du Dev Dashboard ne remplace pas le suivi du serveur, des tâches différées et du système destinataire.
  • Une amélioration de fiabilité n'est pas une preuve d'augmentation du taux de conversion ni de visibilité dans les réponses IA.

Évite aussi les réponses rapides qui rendent le diagnostic plus risqué : désinstaller sans inventaire, désactiver l'authentification, copier des secrets dans un ticket ou demander à une IA publique d'analyser des journaux contenant des données clients. Partage le minimum nécessaire, dans un canal approprié et avec les personnes autorisées.

8. Par quoi commencer cette semaine

Si un incident est actif, prends une opération datée et lance le rapprochement de bout en bout. Si aucun incident n'est signalé, sélectionne le flux le plus important pour tes opérations et renseigne son propriétaire, sa preuve de bon fonctionnement et sa procédure de secours.

Je recommande une revue après une mise en production, un changement de connecteur ou une règle métier importante. La fréquence de surveillance doit suivre le risque du flux ; elle n'a pas besoin d'être identique pour toutes les apps.

Pour la traçabilité des versions et déploiements, le guide Shopify CLI couvre un autre volet de la maintenance. Ce guide-ci reste centré sur le diagnostic et la reprise opérationnelle.

Besoin de cadrer le diagnostic ?

Si tu ne sais pas quelle app porte un flux ou comment vérifier sa reprise, parlons de ton intégration Shopify. L'objectif est de définir le périmètre, les accès utiles, les preuves à récupérer et les responsabilités avant d'intervenir. Un audit Shopify peut constituer le point de départ ; la profondeur technique et les corrections nécessaires doivent être cadrées selon l'intégration réelle.

Sources et méthode de vérification

Sources primaires consultées le 1er octobre 2026 : annonce Shopify du 25 septembre, présentation et documentation du Dev Dashboard, vérification des livraisons HTTPS et dépannage des webhooks. Les liens figurent près des faits correspondants. La date d'annonce n'est pas une date de publication de cet article.

La méthode éditoriale consiste à comparer les capacités annoncées avec les conditions et limites documentées, puis à proposer un protocole métier distinct. Les tableaux, la fiche d'incident et l'exemple fictif sont des outils pédagogiques originaux. Aucun accès à un Dev Dashboard client, test de panne, capture d'interface ou résultat de mission n'est revendiqué. Cette analyse documentaire ne constitue pas une recette exécutée sur une boutique cliente ni une mesure de résultat commercial.

Sources & documentation officielle

Liens utiles (hors affiliation) pour creuser le sujet.