From 4f30ed4447e0f8896707f59f4c056858af8aadbb Mon Sep 17 00:00:00 2001 From: Lizandro Guarnizo <77708265+lizandrogd@users.noreply.github.com> Date: Sat, 27 Jun 2026 19:43:06 -0500 Subject: [PATCH] fix: rename chat API routes to avoid Nginx /admin/chat/* redirect conflict MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit /admin/chat/conversations → /admin/chat-convs /admin/chat/messages → /admin/chat-msgs /admin/chat/send → /admin/chat-send The production server was intercepting all subpaths of /admin/chat and redirecting them back to /admin/chat, so fetch never received JSON. Co-Authored-By: Claude Sonnet 4.6 --- admin/DashboardController.php | 6 +++--- public/index.php | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/admin/DashboardController.php b/admin/DashboardController.php index 138f4e9..3fffead 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/conversations'); + const r = await fetch('/admin/chat-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/messages?phone=' + encodeURIComponent(phone)); + const r = await fetch('/admin/chat-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-send', { method:'POST', headers:{'Content-Type':'application/json'}, body:JSON.stringify({phone:activePhone, text}) diff --git a/public/index.php b/public/index.php index 4906756..2309e4a 100644 --- a/public/index.php +++ b/public/index.php @@ -91,9 +91,9 @@ $routes = [ ['GET', '/admin/webhook/stream', fn() => DashboardController::stream()], ['GET', '/admin/webhook/raw', fn() => DashboardController::getRaw()], ['GET', '/admin/chat', fn() => DashboardController::chat()], - ['GET', '/admin/chat/conversations', fn() => DashboardController::chatConversations()], - ['GET', '/admin/chat/messages', fn() => DashboardController::chatMessages()], - ['POST', '/admin/chat/send', fn() => DashboardController::chatSend()], + ['GET', '/admin/chat-convs', fn() => DashboardController::chatConversations()], + ['GET', '/admin/chat-msgs', fn() => DashboardController::chatMessages()], + ['POST', '/admin/chat-send', fn() => DashboardController::chatSend()], // ─── Páginas legales (requeridas por Meta/WhatsApp Business) ──────────── ['GET', '/politicas', fn() => serveHtml('politicas.html')],