info("Fetching campaign details from Google Ads..."); $adsService = new GoogleAdsService(); // $clients = Client::where('status','ENABLED')->get(); $clients = Client::where('status', 'ENABLED')->where('customer_id', '4744166776')->get(); foreach ($clients as $client) { $campaigns = $adsService->listCampaigns($client->customer_id); foreach ($campaigns as $campaign) { $campaign = GoogleCampaign::updateOrCreate( ['client_id' => $client->id, 'campaign_id' => $campaign['id']], [ 'campaign_id' => $campaign['id'], 'name' => $campaign['name'], 'status' => $campaign['status'], 'channel' => $campaign['channel'], 'start_date' => $campaign['start_date'], 'end_date' => $campaign['end_date'], 'sub_channel' => $campaign['sub_channel'], ] ); $this->info("Client ID: {$client->customer_id}, Campaign Name: {$campaign['name']}, Status: {$campaign['status']}"); } } DB::commit(); } catch (\Exception $e) { DB::rollBack(); Log::error('Error getting campaign details: '.$e->getMessage(), [ 'trace' => $e->getTraceAsString(), ]); return 1; } } }