['message' => 'API Key is missing in api.php']]); exit; } // دریافت و اعتبارسنجی ورودی $input = json_decode(file_get_contents('php://input'), true); if (!$input || !isset($input['query']) || !isset($input['type'])) { http_response_code(400); echo json_encode(['error' => ['message' => 'Invalid Request']]); exit; } $userQuery = $input['query']; $type = $input['type']; // تنظیم دستورات (Prompts) برای هوش مصنوعی $prompt = ""; switch ($type) { case 'ideas': $prompt = "You are a startup expert. Problem: '$userQuery'. Suggest 3 short startup idea titles *only*. Respond in Persian. Numbered list: 1. , 2. , 3."; break; case 'explainIdea': $prompt = "Explain this startup idea in Persian: '$userQuery'. Cover: Product, Target Audience, and Revenue Model in 2 paragraphs."; break; case 'analyzeIdea': $prompt = "Provide a professional SWOT analysis and list 3 main competitors for: '$userQuery'. Respond in Persian. Use bold headings."; break; case 'gtm': $prompt = "Suggest 3 creative Go-to-Market strategies for: '$userQuery'. Respond in Persian with bold titles."; break; case 'explainModel': $prompt = "Explain the business model '$userQuery' in Persian with one real example."; break; } // ارتباط با گوگل (Gemini API) $url = "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-preview-09-2025:generateContent?key=" . $apiKey; $payload = [ 'contents' => [['parts' => [['text' => $userQuery]]]], 'systemInstruction' => ['parts' => [['text' => $prompt]]] ]; $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload)); curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // حل مشکل SSL در هاست‌های اشتراکی $response = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($httpCode != 200) { http_response_code(500); echo $response; exit; } // ذخیره‌سازی در دیتابیس CSV (فقط برای ایده‌های جدید) if ($type === 'ideas') { $res = json_decode($response, true); $aiText = $res['candidates'][0]['content']['parts'][0]['text'] ?? ''; if (!empty($aiText)) { $fp = fopen($csvFile, 'a'); if ($fp) { if (filesize($csvFile) == 0) { fprintf($fp, chr(0xEF).chr(0xBB).chr(0xBF)); // BOM برای اکسل fputcsv($fp, ['Date', 'Type', 'Input', 'Result']); } date_default_timezone_set('Asia/Tehran'); fputcsv($fp, [date('Y-m-d H:i:s'), $type, $userQuery, $aiText]); fclose($fp); } } } echo $response; ?>