<?php
require_once __DIR__ . '/includes/bootstrap.php';
$pageTitle = 'Endpoints e Integração';
$pageSubtitle = 'Consulte as rotas preservadas para a base OmniMax e os endereços auxiliares para testes.';
$pageIcon = 'fa-code';
require __DIR__ . '/includes/header.php';
$base = rtrim(panel_base_url(), '/');
$endpoints = [
    ['Bootstrap principal', $base . '/ApiIPTV.php?tag=licV4', 'Resposta codificada com app, portais, botões e configurações.'],
    ['Bootstrap compatível api4', $base . '/api4/ApiIPTV.php?tag=licV4', 'Alternativa usada por variantes da mesma base.'],
    ['Lista pública de DNS', $base . '/api/servers', 'JSON simples com servidores ativos e autorizados.'],
    ['Registrar dispositivo', $base . '/api4/panel_pro/api/client/devices/add', 'POST/JSON com name, mac ou device_id.'],
    ['Registrar dispositivo direto', $base . '/api/device/register', 'POST/JSON com device_id, mac, android_id ou name.'],
    ['Configuração automática', $base . '/api/device/config', 'POST/JSON com device_id para recuperar DNS, usuário, senha e flags.'],
    ['Configuração OpenVPN', $base . '/api/vpn/config', 'JSON com vpn_enabled, ovpn_url, ovpn_username e flags de conexão.'],
    ['Arquivo OVPN direto', $base . '/api/vpn/config.ovpn', 'Arquivo .ovpn servido pelo painel sem expor a pasta storage.'],
    ['Auto-login compatível', $base . '/api/autologin', 'Atalho com a mesma resposta da configuração automática.'],
    ['Login do cliente', $base . '/api4/panel_pro/api/client/login', 'Gera access_token e refresh_token compatíveis.'],
    ['Atualizar token', $base . '/api4/panel_pro/api/client/refresh_token', 'Renova os tokens consumidos pela base.'],
    ['Conteúdo/servidores', $base . '/api4/panel_pro/api/client/content', 'Lista de servidores para o fluxo panel_pro.'],
];
?>
<section class="panel-card">
    <div class="panel-card-head"><div class="panel-card-icon"><i class="fa-solid fa-code"></i></div><div><h2>Rotas disponíveis</h2><p>Os caminhos abaixo continuam atendidos pelo mesmo núcleo index.php.</p></div></div>
    <div class="code-list">
        <?php foreach ($endpoints as $endpoint): ?>
            <div class="code-box"><strong><?=e($endpoint[0])?></strong><code><?=e($endpoint[1])?></code><p class="muted"><?=e($endpoint[2])?></p></div>
        <?php endforeach; ?>
    </div>
</section>
<section class="panel-card">
    <div class="panel-card-head"><div class="panel-card-icon"><i class="fa-solid fa-circle-info"></i></div><div><h2>Compatibilidade identificada no APK</h2><p>Mapa das chamadas encontradas na análise da base enviada.</p></div></div>
    <div class="panel-card-body">
        <p>O aplicativo consulta <code>ApiIPTV.php?tag=licV4</code> e também utiliza as rotas <code>/panel_pro/api/client/login</code>, <code>/devices/add</code>, <code>/content</code> e <code>/refresh_token</code>.</p>
        <p>Os blocos codificados preservados são: <code>app</code>, <code>portal</code>, <code>urls</code>, <code>button</code> e <code>settings</code>. Players, manutenção, AdMob, Prebid e VAST permanecem em JSON direto, como esperado pela base.</p>
        <p class="muted">Evite renomear as chaves técnicas. O painel altera apenas os valores enviados.</p>
    </div>
</section>
<?php require __DIR__ . '/includes/footer.php'; ?>
