baseUrl . "?action=" . urlencode($action); $ch = curl_init($url); $headers = [ 'Content-Type: application/json', 'Authorization: Bearer ' . $this->token ]; // Set CURL options curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, strtoupper($method)); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); // Jika ada data, kirim sebagai JSON if (!empty($data)) { curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); } // Eksekusi request $response = curl_exec($ch); if (curl_errno($ch)) { // Return error sebagai array return [ 'success' => false, 'error' => curl_error($ch) ]; } curl_close($ch); // Decode JSON response $decoded = json_decode($response, true); // Jika JSON tidak valid if (json_last_error() !== JSON_ERROR_NONE) { return [ 'success' => false, 'error' => 'Invalid JSON response from API' ]; } return $decoded; } }