- Implemented a new PHP script to retrieve insights for the last N days (default 30).
- Supports command-line options for token, account ID, days, API version, and output file.
- Fetches data at campaign, adset, and ad levels, with filtering for active statuses.
- Handles JSON output and optional file saving, including directory creation if necessary.
- Includes error handling for cURL requests and JSON responses.
- Added a new field to display the cron URL plan in user settings.
- Updated JavaScript to handle the new plan data.
refactor: Unify product model and migrate data
- Migrated product data from `products_data` to `products` table.
- Added new columns to `products` for better data organization.
- Created `products_aggregate` table for storing aggregated product metrics.
chore: Drop deprecated products_data table
- Removed `products_data` table as data is now stored in `products`.
feat: Add merchant URL flags to products
- Introduced flags for tracking merchant URL status in `products` table.
- Normalized product URLs to handle empty or invalid values.
feat: Link campaign alerts to specific products
- Added `product_id` column to `campaign_alerts` table for better tracking.
- Created an index for efficient querying of alerts by product.
chore: Add debug scripts for client data inspection
- Created debug scripts to inspect client data from local and remote databases.
- Included error handling and output formatting for better readability.
- Created XmlFiles control class for handling XML file views and regeneration.
- Implemented method to retrieve clients with XML feeds in the factory class.
- Added database migration to include google_merchant_account_id in clients table.
- Created migrations for products_keyword_planner_terms and products_merchant_sync_log tables.
- Added campaign_keywords table migration for managing campaign keyword data.
- Developed main view template for displaying XML files and their statuses.
- Introduced a debug script for analyzing product URLs and their statuses.