WooCommerce / Intégrations
Problèmes d’intégration WooCommerce : API REST, webhooks et systèmes externes
Les intégrations échouent aux frontières : authentification, réseau, timeouts, reprises et correspondance des données. La difficulté, c’est que chaque côté ne voit que la moitié de l’échange ; le diagnostic commence donc par réunir les deux moitiés.
Réponse courte
Pour l’API REST, lisez le code d’erreur exact de la réponse : woocommerce_rest_cannot_view ou un 401 pointent vers l’authentification ou les droits de la clé, un 403 vers une couche de sécurité, un 500 vers une erreur PHP sur la boutique. Pour les webhooks, ouvrez le journal de livraison du webhook dans WooCommerce : codes de réponse, timeouts et échecs répétés. WooCommerce désactive un webhook après plusieurs livraisons échouées consécutives.
Ressources techniques
Guides sur les intégrations
- WooCommerce / Intégrations Erreurs de l’API REST WooCommerce : comment les diagnostiquer Lisez le code de statut et le code d’erreur de la réponse : authentification, permissions, routage, couches de sécurité et erreurs serveur échouent chacun à leur manière.
- WooCommerce / Intégrations Webhooks WooCommerce en échec : comment les diagnostiquer Journaux de livraison, codes de réponse, signatures, et pourquoi WooCommerce désactive un webhook après plusieurs livraisons échouées d’affilée.
Problèmes précis
Échecs d’intégration fréquents
Erreurs d’authentification de l’API REST
401 et woocommerce_rest_cannot_view : clés, droits, HTTPS, en-têtes supprimés.
Livraisons de webhooks en échec
Timeouts, réponses non 2xx, webhooks désactivés, signatures non vérifiées.
Problèmes de synchronisation ERP
Commandes ou stock désynchronisés, doublons, mises à jour partielles.
Problèmes de synchronisation CRM
Clients et commandes qui n’arrivent pas dans le CRM, ou en double.
Timeouts d’API externes
Des appels à des tiers qui ralentissent ou cassent le checkout et l’administration.
Files de synchronisation en arrière-plan
Des tâches d’intégration bloquées dans Action Scheduler.
Réunir les deux moitiés de l’échange
Un problème d’intégration paraît souvent différent selon le côté d’où on le regarde. L’ERP dit « la boutique a renvoyé une erreur » ; les journaux de la boutique ne montrent rien. Ou la boutique indique « webhook livré » tandis que le système récepteur affirme ne l’avoir jamais traité. Le diagnostic aligne les deux côtés pour la même commande ou la même requête, par horodatage et par identifiant.
| Symptôme | Où regarder |
|---|---|
| Le client API reçoit 401/403 | Droits de la clé, en-têtes d’authentification transmis à PHP, règles de sécurité |
| Le client API reçoit 500 | Journaux PHP et fatal-errors de la boutique à cette heure-là |
| Webhook « non reçu » | Journal de livraison du webhook dans WooCommerce, code de réponse, durée |
| Les données arrivent deux fois | Reprises sans idempotence, webhooks dupliqués, plusieurs tâches de synchronisation |
| Checkout lent ou en échec | Appels externes synchrones pendant la requête du checkout |
Construire des intégrations que l’on peut déboguer
Les intégrations faciles à diagnostiquer ont des points communs : chaque requête est journalisée avec un identifiant, les échecs sont rejoués avec des limites, les opérations sont idempotentes pour que les reprises ne dupliquent pas de données, et le travail lourd ou lent s’exécute en arrière-plan plutôt que dans la requête d’un client.
Questions fréquentes
Pourquoi l’API REST de WooCommerce renvoie-t-elle 401 ?
Causes fréquentes : clés API erronées ou révoquées, clés sans droit de lecture ou d’écriture, en-têtes d’authentification supprimés par le serveur ou un proxy, et authentification basique envoyée en HTTP non chiffré. Le code d’erreur dans le corps de la réponse affine le diagnostic.
Pourquoi mon webhook WooCommerce a-t-il été désactivé ?
WooCommerce désactive un webhook après plusieurs livraisons consécutives en échec : réponses hors de la plage 2xx ou timeouts. Corrigez le point d’accès de réception, puis réactivez le webhook. Le journal de livraison montre chaque tentative échouée.
Comment vérifier qu’un webhook WooCommerce est authentique ?
Chaque livraison contient un en-tête X-WC-Webhook-Signature : un HMAC-SHA256 du corps de la requête, encodé en base64, calculé avec le secret du webhook. Calculez-le côté réception et comparez.
$ décrivez le problème
Un problème avec WooCommerce ?Demandez un diagnostic.
Dites-nous ce qui ne fonctionne pas, ce qui a changé récemment et l'impact sur votre activité. Nous examinons chaque demande et vous recommandons la marche à suivre.
N'envoyez jamais de mots de passe, de clés API ni de données de carte via le formulaire.