🔍 Diagnóstico Avanzado de WhatsApp API"; // 1. Verificar configuración actual echo "

1. Configuración Actual

"; echo "TOKEN: " . substr(WHATSAPP_TOKEN, 0, 20) . "..." . substr(WHATSAPP_TOKEN, -10) . "
"; echo "PHONE_NUMBER_ID: " . WHATSAPP_PHONE_NUMBER_ID . "
"; echo "API_URL: " . WHATSAPP_API_URL . "
"; // 2. Test de conectividad con WhatsApp API echo "

2. Test de Conectividad

"; try { // Test 1: Verificar información del número de teléfono $ch = curl_init(); $url = WHATSAPP_API_URL . WHATSAPP_PHONE_NUMBER_ID; curl_setopt_array($ch, [ CURLOPT_URL => $url, CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => [ 'Authorization: Bearer ' . WHATSAPP_TOKEN, 'Content-Type: application/json' ], CURLOPT_TIMEOUT => 30 ]); $response = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); $error = curl_error($ch); curl_close($ch); if ($error) { echo "❌ Error de conexión: " . $error . "
"; } else { echo "📞 Código HTTP: $httpCode
"; if ($httpCode == 200) { $data = json_decode($response, true); echo "✅ Conexión exitosa con WhatsApp API
"; echo "
" . json_encode($data, JSON_PRETTY_PRINT) . "
"; } else { echo "❌ Error HTTP $httpCode
"; echo "
$response
"; } } } catch (Exception $e) { echo "❌ Excepción: " . $e->getMessage() . "
"; } // 3. Test de mensaje a número de prueba (tu propio número) echo "

3. Test de Mensaje Real

"; // Crear un botón para probar envío ?>




🚀 Resultado del Test:"; try { $whatsapp = new WhatsAppService(); $phone = $_POST['phone']; $message = $_POST['message']; echo "📞 Enviando a: $phone
"; echo "💬 Mensaje: $message

"; $response = $whatsapp->sendTextMessage($phone, $message); echo "✅ Respuesta de WhatsApp API:
"; echo "
";
        echo json_encode($response, JSON_PRETTY_PRINT);
        echo "
"; if (isset($response['messages'][0]['id'])) { $messageId = $response['messages'][0]['id']; echo "

📨 Mensaje enviado con ID: $messageId

"; echo "

⏱️ Espera 1-2 minutos y verifica tu WhatsApp

"; // Mostrar información adicional echo "

🔍 Información del Envío:

"; if (isset($response['contacts'][0])) { $contact = $response['contacts'][0]; echo "📱 Número Input: " . $contact['input'] . "
"; echo "📱 WhatsApp ID: " . $contact['wa_id'] . "
"; } } } catch (Exception $e) { echo "❌ Error: " . $e->getMessage() . "
"; } } // 4. Verificar status del mensaje reciente echo "

4. Verificar Logs del Sistema

"; $logFile = 'logs/system.log'; if (file_exists($logFile)) { $logs = file_get_contents($logFile); $lines = array_filter(array_slice(explode("\n", $logs), -20)); // Últimas 20 líneas echo "
";
    foreach ($lines as $line) {
        if (strpos($line, 'ERROR') !== false) {
            echo "$line\n";
        } elseif (strpos($line, 'WARNING') !== false) {
            echo "$line\n";
        } else {
            echo "$line\n";
        }
    }
    echo "
"; } else { echo "⚠️ No hay archivo de logs disponible
"; } // 5. Posibles soluciones echo "

5. ✅ Posibles Soluciones

"; echo "
"; echo "

🔧 Si el mensaje no llega, verifica:

"; echo "
    "; echo "
  1. Modo de desarrollo: ¿Tu app está en modo sandbox? Los mensajes solo llegan a números pre-aprobados
  2. "; echo "
  3. Número verificado: ¿El número desde el que envías está verificado en Facebook Business?
  4. "; echo "
  5. Permisos del token: ¿Tu token tiene permisos 'whatsapp_business_messaging'?
  6. "; echo "
  7. Número de destino: ¿El número +573168950803 tiene WhatsApp activo?
  8. "; echo "
  9. Rate limiting: ¿Has enviado muchos mensajes recientemente?
  10. "; echo "
  11. Webhook URL: ¿Tu webhook está configurado correctamente para recibir respuestas?
  12. "; echo "
"; echo "
"; echo "
"; echo "

📋 Pasos para resolver:

"; echo "
    "; echo "
  1. Ve a Facebook Developers
  2. "; echo "
  3. Selecciona tu app → WhatsApp → Configuración
  4. "; echo "
  5. Verifica que el número esté verificado y activo
  6. "; echo "
  7. Revisa la sección 'Phone Numbers' y asegúrate que esté en modo Producción
  8. "; echo "
  9. En 'Webhooks', verifica que tu URL esté configurada y validada
  10. "; echo "
"; echo "
"; ?>