API Debug Terminal
Ferramenta interna para testar endpoints da MotionFit e visualizar a resposta da API em formato de terminal.
O que faz
- Envia requisições
GET,POST,PUT,PATCHeDELETE. - Exibe status HTTP, tempo de resposta, headers e corpo retornado.
- Formata JSON automaticamente quando possível.
- Gera comando
cURLda requisição. - Mantém histórico local no navegador.
- Permite usar proxy PHP para contornar CORS e salvar logs no servidor.
- Mascara campos sensíveis antes de salvar no log:
Authorization,token,access_token,refresh_token,cookie,password,senha,secreteclient_secret.
Arquivos adicionados
/tools/api-debug-terminal.html
/tools/api-debug-proxy.php
/tools/api-debug-log.php
/tools/api-debug-clear.php
/tools/api-debug-config.php
/tools/api-debug-lib.php
/logs/api-debug.log
Como usar
1. Abra tools/api-debug-terminal.html.
2. Escolha o ambiente ou informe a URL completa.
3. Selecione o método HTTP.
4. Preencha headers em JSON.
5. Preencha o body quando a requisição for POST, PUT ou PATCH.
6. Clique em **Enviar requisição**.
7. Veja a resposta nas abas JSON, Raw, Headers e Log servidor.
Configuração do proxy PHP
O arquivo tools/api-debug-config.php controla os hosts permitidos e se o terminal está habilitado.
return [
'enabled' => true,
'allowed_hosts' => [
'motionfitacademia.com.br',
'www.motionfitacademia.com.br',
'rh.motionfitacademia.com.br',
'pbi.motionfitacademia.com.br',
'api.motionfitacademia.com.br',
'evo-integracao-api.w12app.com.br',
'localhost',
],
];
Segurança obrigatória
- Não deixar o terminal público sem proteção de login/admin.
- Não versionar
logs/api-debug.logcom dados reais. - Não abrir o proxy para qualquer domínio.
- Não colocar tokens reais em prints ou documentação.
- Desativar o terminal quando terminar a manutenção, alterando
'enabled' => false.
Problemas comuns
| Problema | Causa provável | Correção | |---|---|---| | Erro de CORS | API não libera chamada pelo navegador | Marcar **Usar proxy PHP** | | Host não liberado | Domínio não está noallowed_hosts | Adicionar o host no config |
| 401 Unauthorized | Token/credencial inválida ou ausente | Conferir header Authorization |
| 403 Debug desativado | enabled está false | Ativar somente em ambiente interno |
| Resposta vazia | Endpoint não retornou body ou deu redirect | Ver aba Headers e status HTTP |