$sender, 'body' => $body, 'apiKey' => $apiKey ]; $log_file = __DIR__ . "/" . $apiKey . ".log"; $log_entry = "[" . date('Y-m-d H:i:s') . "] Masuk: " . print_r($filtered, true); // Pastikan kelas ResponAI ada if (!class_exists('ResponAI')) { file_put_contents(__DIR__ . "/error.log", date('Y-m-d H:i:s') . " Class ResponAI tidak ditemukan!\n", FILE_APPEND); http_response_code(500); exit("Server error: ResponAI class missing"); } $ResAI = new ResponAI(); // Tangkap exception saat proses respon_chat try { $Respon = $ResAI->respon_chat($body, $sender, $apiKey); } catch (Exception $e) { file_put_contents(__DIR__ . "/error.log", date('Y-m-d H:i:s') . " Exception ResponAI: " . $e->getMessage() . "\n", FILE_APPEND); http_response_code(500); exit("Server error: gagal proses AI"); } // file_put_contents(__DIR__ . "/step2_respon_ai.log", date('Y-m-d H:i:s') . " " . print_r($Respon, true), FILE_APPEND); if (!empty($Respon['id']) && !empty($Respon['nomor'])) { if (!class_exists('PesanWA')) { file_put_contents(__DIR__ . "/error.log", date('Y-m-d H:i:s') . " Class PesanWA tidak ditemukan!\n", FILE_APPEND); http_response_code(500); exit("Server error: PesanWA class missing"); } $API_WA = new PesanWA(); try { $send_result = $API_WA->Send_Pesan($Respon['id'], 'sendMessage', array($Respon['nomor']), $Respon['respon']); } catch (Exception $e) { file_put_contents(__DIR__ . "/error.log", date('Y-m-d H:i:s') . " Exception Send_Pesan: " . $e->getMessage() . "\n", FILE_APPEND); http_response_code(500); exit("Server error: gagal kirim pesan"); } // file_put_contents(__DIR__ . "/step3_send_pesan.log", date('Y-m-d H:i:s') . " Kirim pesan ke: {$Respon['nomor']}\nResponse Send_Pesan: " . print_r($send_result, true), FILE_APPEND); $log_entry .= "[" . date('Y-m-d H:i:s') . "] Balasan AI: " . print_r($Respon, true) . PHP_EOL; // file_put_contents($log_file, $log_entry, FILE_APPEND); http_response_code(200); exit; } else { // file_put_contents(__DIR__ . "/error_send_pesan.log", date('Y-m-d H:i:s') . " Gagal kirim pesan, id atau nomor kosong: " . print_r($Respon, true) . "\n", FILE_APPEND); http_response_code(500); echo "Gagal mengirim pesan: data tidak lengkap."; exit; } } else { http_response_code(400); echo "Data tidak valid atau bukan pesan yang diinginkan."; exit; } } catch (Throwable $t) { // Tangkap semua error fatal / throwable file_put_contents(__DIR__ . "/error.log", date('Y-m-d H:i:s') . " Fatal error: " . $t->getMessage() . "\n", FILE_APPEND); http_response_code(500); echo "Server error: " . $t->getMessage(); exit; }