From 5bae03e5a3fe210e737b7863251dff00519f37e7 Mon Sep 17 00:00:00 2001 From: Lizandro Guarnizo <77708265+lizandrogd@users.noreply.github.com> Date: Sat, 27 Jun 2026 19:48:21 -0500 Subject: [PATCH] fix: consolidate all chat API calls onto /admin/chat with ?api= param MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Nginx intercepts any request to /admin/chat/* sub-routes. Fix by handling all chat API requests on the same /admin/chat path using query params: GET /admin/chat?api=convs → conversations list GET /admin/chat?api=msgs&phone=X → messages for a phone POST /admin/chat → send message JS fetch URLs updated accordingly. Co-Authored-By: Claude Sonnet 4.6 --- admin/DashboardController.php | 6 +++--- public/index.php | 11 +++++++---- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/admin/DashboardController.php b/admin/DashboardController.php index 3fffead..0df2dab 100644 --- a/admin/DashboardController.php +++ b/admin/DashboardController.php @@ -1922,7 +1922,7 @@ let activePhone = ''; async function loadConvs() { const list = document.getElementById('convList'); try { - const r = await fetch('/admin/chat-convs'); + const r = await fetch('/admin/chat?api=convs'); if (!r.ok) { list.innerHTML = \`
Error \${r.status} al cargar conversaciones
\`; return; @@ -1992,7 +1992,7 @@ async function loadMessages(phone) { msgsDiv.innerHTML = '
Cargando...
'; let data; try { - const r = await fetch('/admin/chat-msgs?phone=' + encodeURIComponent(phone)); + const r = await fetch('/admin/chat?api=msgs&phone=' + encodeURIComponent(phone)); if (!r.ok) { msgsDiv.innerHTML = \`
Error \${r.status}
\`; return; @@ -2064,7 +2064,7 @@ async function sendMsg() { if (!text || !activePhone) return; document.getElementById('sendBtn').disabled = true; try { - const r = await fetch('/admin/chat-send', { + const r = await fetch('/admin/chat', { method:'POST', headers:{'Content-Type':'application/json'}, body:JSON.stringify({phone:activePhone, text}) diff --git a/public/index.php b/public/index.php index 2309e4a..f7e4955 100644 --- a/public/index.php +++ b/public/index.php @@ -90,10 +90,13 @@ $routes = [ ['GET', '/admin/webhook/stream/sse', fn() => DashboardController::streamSse()], ['GET', '/admin/webhook/stream', fn() => DashboardController::stream()], ['GET', '/admin/webhook/raw', fn() => DashboardController::getRaw()], - ['GET', '/admin/chat', fn() => DashboardController::chat()], - ['GET', '/admin/chat-convs', fn() => DashboardController::chatConversations()], - ['GET', '/admin/chat-msgs', fn() => DashboardController::chatMessages()], - ['POST', '/admin/chat-send', fn() => DashboardController::chatSend()], + ['GET', '/admin/chat', fn() => (function () { + $api = $_GET['api'] ?? ''; + if ($api === 'convs') { DashboardController::chatConversations(); return; } + if ($api === 'msgs') { DashboardController::chatMessages(); return; } + DashboardController::chat(); + })()], + ['POST', '/admin/chat', fn() => DashboardController::chatSend()], // ─── Páginas legales (requeridas por Meta/WhatsApp Business) ──────────── ['GET', '/politicas', fn() => serveHtml('politicas.html')],