Saltar al contenido principal
Versión: 1.x

API04003: Respuesta JSON Malformada

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

  • 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

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

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

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

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

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
  • API04001 — Formato de Respuesta Inválido
  • API04005 — Intento de Recuperación de JSON