Passer au contenu principal
Version : 1.x

API04003 : Réponse JSON malformée

Ce que cela signifie

Le serveur a renvoyé des données qui semblent être du JSON mais qui sont corrompues ou invalides. Le POS n'a pas pu analyser la réponse car la syntaxe JSON est cassée.

Causes courantes

  • Avis/avertissements PHP — Sortie PHP avant le JSON
  • BOM (Byte Order Mark) — Caractères invisibles au début du fichier
  • Problèmes d'encodage — Problèmes d'encodage de caractères
  • Réponse tronquée — Réponse coupée au milieu de la transmission
  • Sortie de plugin — Un plugin a ajouté un contenu non-JSON

Comment corriger

1. Vérifiez les avis PHP

Les avis/avertissements PHP avant le JSON cassent l'analyse :

Dans wp-config.php :

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

Consultez wp-content/debug.log et corrigez les problèmes.

2. Vérifiez les caractères BOM

Certains éditeurs de texte ajoutent des caractères BOM invisibles :

  • Sauvegardez à nouveau les fichiers PHP sans BOM
  • Utilisez l'encodage UTF-8 sans BOM
  • Vérifiez les fichiers récemment modifiés

3. Vérifiez la réponse complète

Si les réponses sont tronquées :

  • Vérifiez les paramètres de mise en mémoire tampon de sortie PHP
  • Augmentez output_buffering dans php.ini
  • Vérifiez les problèmes de délai d'attente

4. Testez l'API directement

Dans votre navigateur ou en utilisant curl :

curl -v https://yoursite.com/wp-json/wcpos/v1/

Recherchez tout contenu inattendu avant le JSON.

5. Vérifiez l'encodage des caractères

Assurez-vous que la base de données et PHP utilisent UTF-8 :

  • Vérifiez les paramètres de jeu de caractères dans wp-config.php
  • Vérifiez que les tables de la base de données sont en UTF-8
  • Recherchez les caractères spéciaux causant des problèmes
  • API04001 — Format de réponse invalide
  • API04005 — Tentative de récupération JSON