# API04003: Resposta JSON Malformada

## O Que Isso Significa[​](#what-this-means "Link direto para O Que Isso Significa")

O servidor retornou dados que parecem ser JSON, mas estão corrompidos ou inválidos. O POS não conseguiu analisar a resposta porque a sintaxe JSON está quebrada.

## Causas Comuns[​](#common-causes "Link direto para Causas Comuns")

* **Avisos/Notificações PHP** — Saída PHP antes do JSON
* **BOM (Byte Order Mark)** — Caracteres invisíveis no início do arquivo
* **Problemas de codificação** — Problemas de codificação de caracteres
* **Resposta truncada** — Resposta interrompida durante a transmissão
* **Saída de plugin** — Um plugin adicionou conteúdo que não é JSON

## Como Corrigir[​](#how-to-fix "Link direto para Como Corrigir")

### 1. Verifique Avisos PHP[​](#1-check-for-php-notices "Link direto para 1. Verifique Avisos PHP")

Avisos/notificações PHP antes do JSON quebram a análise:

Em `wp-config.php`:

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

define('WP_DEBUG_LOG', true);

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

Revise `wp-content/debug.log` e corrija quaisquer problemas.

### 2. Verifique Caracteres BOM[​](#2-check-for-bom-characters "Link direto para 2. Verifique Caracteres BOM")

Alguns editores de texto adicionam caracteres BOM invisíveis:

* Salve novamente os arquivos PHP sem BOM
* Use codificação UTF-8 sem BOM
* Verifique arquivos editados recentemente

### 3. Verifique a Resposta Completa[​](#3-verify-complete-response "Link direto para 3. Verifique a Resposta Completa")

Se as respostas estão sendo truncadas:

* Verifique as configurações de buffer de saída PHP
* Aumente `output_buffering` em php.ini
* Verifique problemas de timeout

### 4. Teste a API Diretamente[​](#4-test-api-directly "Link direto para 4. Teste a API Diretamente")

No seu navegador ou usando curl:

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

Procure por qualquer conteúdo inesperado antes do JSON.

### 5. Verifique a Codificação de Caracteres[​](#5-check-character-encoding "Link direto para 5. Verifique a Codificação de Caracteres")

Garanta que o banco de dados e o PHP utilizem UTF-8:

* Verifique as configurações de charset em `wp-config.php`
* Verifique se as tabelas do banco de dados estão em UTF-8
* Procure por caracteres especiais que estejam causando problemas

## Erros Relacionados[​](#related-errors "Link direto para Erros Relacionados")

* [API04001](/pt-BR/error-codes/API04001.md) — Formato de Resposta Inválido
* [API04005](/pt-BR/error-codes/API04005.md) — Tentativa de Recuperação JSON
