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, PATCH e DELETE.
  • Exibe status HTTP, tempo de resposta, headers e corpo retornado.
  • Formata JSON automaticamente quando possível.
  • Gera comando cURL da 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, secret e client_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.log com 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á no allowed_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 |