# API04003: Respuesta JSON Malformada

## Lo Que Esto Significa[​](#what-this-means "Enlace directo a Lo Que Esto Significa")

El servidor devolvió datos que parecen ser JSON pero están corruptos o son inválidos. El POS no pudo interpretar la respuesta porque la sintaxis JSON está rota.

## Causas Comunes[​](#common-causes "Enlace directo a Causas Comunes")

* **Notices/advertencias de PHP** — Salida de notificaciones de PHP antes del JSON
* **BOM (Byte Order Mark)** — Caracteres invisibles al inicio del archivo
* **Problemas de codificación** — Problemas de codificación de caracteres
* **Respuesta truncada** — Respuesta cortada a mitad de transmisión
* **Salida de plugins** — Un plugin añadió contenido que no es JSON

## Cómo Arreglarlo[​](#how-to-fix "Enlace directo a Cómo Arreglarlo")

### 1. Verificar Notices de PHP[​](#1-check-for-php-notices "Enlace directo a 1. Verificar Notices de PHP")

Los notices/advertencias de PHP antes del JSON rompen la interpretación:

En `wp-config.php`:

```
define('WP_DEBUG', true);

define('WP_DEBUG_LOG', true);

define('WP_DEBUG_DISPLAY', false);
```

Revisa `wp-content/debug.log` y corrige cualquier problema.

### 2. Comprobar Caracteres BOM[​](#2-check-for-bom-characters "Enlace directo a 2. Comprobar Caracteres BOM")

Algunos editores de texto añaden caracteres BOM invisibles:

* Vuelve a guardar los archivos PHP sin BOM
* Usa codificación UTF-8 sin BOM
* Revisa los archivos editados recientemente

### 3. Verificar Respuesta Completa[​](#3-verify-complete-response "Enlace directo a 3. Verificar Respuesta Completa")

Si las respuestas están siendo truncadas:

* Verifica la configuración de almacenamiento en búfer de PHP
* Aumenta `output_buffering` en php.ini
* Verifica problemas de tiempo de espera

### 4. Probar la API Directamente[​](#4-test-api-directly "Enlace directo a 4. Probar la API Directamente")

En tu navegador o usando curl:

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

Busca cualquier contenido inesperado antes del JSON.

### 5. Comprobar Codificación de Caracteres[​](#5-check-character-encoding "Enlace directo a 5. Comprobar Codificación de Caracteres")

Asegúrate de que la base de datos y PHP usen UTF-8:

* Revisa la configuración de charset en `wp-config.php`
* Verifica que las tablas de la base de datos sean UTF-8
* Busca caracteres especiales que causen problemas

## Errores Relacionados[​](#related-errors "Enlace directo a Errores Relacionados")

* [API04001](/es/error-codes/API04001.md) — Formato de Respuesta Inválido
* [API04005](/es/error-codes/API04005.md) — Intento de Recuperación de JSON

***
