API04003: Risposta JSON Malformata
Cosa Significa
Il server ha restituito dati che sembrano essere JSON ma sono corrotti o non validi. Il POS non è riuscito a analizzare la risposta perché la sintassi JSON è interrotta.
Cause Comuni
- Avvisi/Warning PHP — Output PHP prima del JSON
- BOM (Byte Order Mark) — Caratteri invisibili all'inizio del file
- Problemi di codifica — Problemi di codifica dei caratteri
- Risposta troncata — Risposta interrotta a metà trasmissione
- Output di plugin — Un plugin ha aggiunto contenuto non JSON
Come Risolvere
1. Controlla gli Avvisi PHP
Gli avvisi/warning PHP prima del JSON interrompono l'analisi:
In wp-config.php:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
Esamina wp-content/debug.log e risolvi eventuali problemi.
2. Controlla i Caratteri BOM
Al editor di testo alcuni aggiungono caratteri BOM invisibili:
- Rileggi i file PHP senza BOM
- Utilizza codifica UTF-8 senza BOM
- Controlla i file modificati di recente
3. Verifica la Risposta Completa
Se le risposte vengono troncate:
- Controlla le impostazioni di buffer di output PHP
- Aumenta
output_bufferingin php.ini - Controlla eventuali problemi di timeout
4. Testa l'API Direttamente
Nel tuo browser o usando curl:
curl -v https://yoursite.com/wp-json/wcpos/v1/
Cerca eventuali contenuti imprevisti prima del JSON.
5. Controlla la Codifica dei Caratteri
Assicurati che il database e PHP utilizzino UTF-8:
- Controlla le impostazioni di charset in
wp-config.php - Verifica che le tabelle del database siano in UTF-8
- Cerca caratteri speciali che causano problemi