269 lines
7.9 KiB
Markdown
269 lines
7.9 KiB
Markdown
|
|
# Installation & Setup Guide
|
||
|
|
|
||
|
|
## Prerequisites
|
||
|
|
|
||
|
|
Before installing this plugin, ensure you have:
|
||
|
|
|
||
|
|
1. **WordPress** 5.8 or higher
|
||
|
|
2. **WooCommerce** 5.0 or higher installed and activated
|
||
|
|
3. **PHP** 7.4 or higher with Composer installed
|
||
|
|
4. **Google Merchant Center** account with products listed
|
||
|
|
5. **Google Cloud Project** with Content API for Shopping enabled
|
||
|
|
|
||
|
|
## Step 1: Install Plugin Files
|
||
|
|
|
||
|
|
### Option A: Complete Package (Recommended)
|
||
|
|
|
||
|
|
If you received the plugin with the `vendor/` directory already included:
|
||
|
|
|
||
|
|
1. Upload the entire plugin directory to `/wp-content/plugins/`
|
||
|
|
2. Skip to Step 2 - the plugin is ready to activate!
|
||
|
|
|
||
|
|
### Option B: Install Dependencies Manually
|
||
|
|
|
||
|
|
If the `vendor/` directory is empty or missing:
|
||
|
|
|
||
|
|
1. Upload the plugin files to your WordPress plugins directory:
|
||
|
|
```bash
|
||
|
|
cd /wp-content/plugins/
|
||
|
|
# Upload or clone the plugin files
|
||
|
|
```
|
||
|
|
|
||
|
|
2. Navigate to the plugin directory:
|
||
|
|
```bash
|
||
|
|
cd informatiq-smart-google-pricing
|
||
|
|
```
|
||
|
|
|
||
|
|
3. Install dependencies using ONE of these methods:
|
||
|
|
|
||
|
|
**Method 1: Using Composer (easiest)**
|
||
|
|
```bash
|
||
|
|
composer install --no-dev --optimize-autoloader
|
||
|
|
```
|
||
|
|
|
||
|
|
**Method 2: Manual Download**
|
||
|
|
- Download Google API PHP Client from: https://github.com/googleapis/google-api-php-client/releases
|
||
|
|
- Extract to `vendor/google/apiclient/`
|
||
|
|
- Download dependencies or see `VENDOR-SETUP.md` for detailed instructions
|
||
|
|
|
||
|
|
**Note**: The plugin includes a custom autoloader that works with manually placed vendor files, so Composer is optional for end users.
|
||
|
|
|
||
|
|
## Step 2: Create Google Service Account
|
||
|
|
|
||
|
|
1. **Go to Google Cloud Console**:
|
||
|
|
- Visit https://console.cloud.google.com/
|
||
|
|
- Create a new project or select an existing one
|
||
|
|
|
||
|
|
2. **Enable Content API for Shopping**:
|
||
|
|
- Navigate to "APIs & Services" > "Library"
|
||
|
|
- Search for "Content API for Shopping"
|
||
|
|
- Click "Enable"
|
||
|
|
|
||
|
|
3. **Create Service Account**:
|
||
|
|
- Go to "APIs & Services" > "Credentials"
|
||
|
|
- Click "Create Credentials" > "Service Account"
|
||
|
|
- Fill in the service account details:
|
||
|
|
- Name: `informatiq-pricing-service`
|
||
|
|
- Description: `Service account for Smart Pricing plugin`
|
||
|
|
- Click "Create and Continue"
|
||
|
|
- Skip optional steps and click "Done"
|
||
|
|
|
||
|
|
4. **Create JSON Key**:
|
||
|
|
- Click on the newly created service account
|
||
|
|
- Go to the "Keys" tab
|
||
|
|
- Click "Add Key" > "Create New Key"
|
||
|
|
- Select "JSON" format
|
||
|
|
- Click "Create"
|
||
|
|
- Save the downloaded JSON file securely
|
||
|
|
|
||
|
|
5. **Grant Access to Merchant Center**:
|
||
|
|
- Go to Google Merchant Center (https://merchants.google.com/)
|
||
|
|
- Navigate to Settings > Users
|
||
|
|
- Click "Add user"
|
||
|
|
- Enter the service account email (looks like: `account-name@project-id.iam.gserviceaccount.com`)
|
||
|
|
- Assign "Admin" or "Standard" access
|
||
|
|
- Click "Save"
|
||
|
|
|
||
|
|
## Step 3: Activate Plugin
|
||
|
|
|
||
|
|
1. Log in to your WordPress admin panel
|
||
|
|
2. Navigate to **Plugins** > **Installed Plugins**
|
||
|
|
3. Find "informatiq-smart-google-pricing"
|
||
|
|
4. Click **Activate**
|
||
|
|
|
||
|
|
## Step 4: Configure Plugin Settings
|
||
|
|
|
||
|
|
1. Navigate to **WooCommerce** > **Smart Pricing**
|
||
|
|
|
||
|
|
2. **Configure Google Merchant Center Settings**:
|
||
|
|
- **Google Merchant ID**: Enter your Merchant Center ID (found in Merchant Center settings)
|
||
|
|
- **Service Account JSON**: Open the downloaded JSON file and paste its entire contents here
|
||
|
|
|
||
|
|
3. **Configure Pricing Settings**:
|
||
|
|
- **Minimum Margin (%)**: Set your minimum acceptable profit margin (e.g., 10 for 10%)
|
||
|
|
- This ensures prices never drop below cost + margin
|
||
|
|
|
||
|
|
4. **Configure Automation Settings**:
|
||
|
|
- **Enable Automatic Updates**: Check to enable daily automated updates
|
||
|
|
- **Update Frequency**: Choose how often to update prices:
|
||
|
|
- Once Daily (recommended for most stores)
|
||
|
|
- Twice Daily (for highly competitive markets)
|
||
|
|
- Every 6 Hours (for very dynamic pricing)
|
||
|
|
|
||
|
|
5. Click **Save Settings**
|
||
|
|
|
||
|
|
## Step 5: Test Configuration
|
||
|
|
|
||
|
|
1. Click the **"Test Google API Connection"** button
|
||
|
|
2. Wait for the response
|
||
|
|
3. If successful, you'll see: "Connection successful!"
|
||
|
|
4. If failed, check your credentials and API access
|
||
|
|
|
||
|
|
## Step 6: Run Initial Sync
|
||
|
|
|
||
|
|
1. Click the **"Run Manual Sync Now"** button
|
||
|
|
2. The plugin will:
|
||
|
|
- Fetch all in-stock products
|
||
|
|
- Match them with Google Merchant Center
|
||
|
|
- Retrieve competitive pricing
|
||
|
|
- Update sale prices according to your rules
|
||
|
|
|
||
|
|
3. Review the results in the "Today's Price Updates" section
|
||
|
|
|
||
|
|
## Product Requirements
|
||
|
|
|
||
|
|
For products to be updated automatically, they must meet these criteria:
|
||
|
|
|
||
|
|
1. **Stock Status**: Must be "In Stock"
|
||
|
|
2. **SKU**: Must have a SKU that matches the product in Google Merchant Center
|
||
|
|
3. **GTIN** (optional): Can be set via `_gtin` meta field for better matching
|
||
|
|
4. **Cost** (optional): Set product cost using WooCommerce Cost of Goods plugin for accurate margin calculations
|
||
|
|
|
||
|
|
## Setting Product Cost
|
||
|
|
|
||
|
|
To use the minimum margin feature effectively:
|
||
|
|
|
||
|
|
1. **With Cost of Goods Plugin**:
|
||
|
|
- Install "WooCommerce Cost of Goods" plugin
|
||
|
|
- Edit each product
|
||
|
|
- Enter cost in the "Cost of Goods" field
|
||
|
|
|
||
|
|
2. **Without Cost of Goods Plugin**:
|
||
|
|
- The plugin will use the regular price as a fallback
|
||
|
|
- This means minimum margin will be calculated from regular price
|
||
|
|
|
||
|
|
## Monitoring & Maintenance
|
||
|
|
|
||
|
|
### View Logs
|
||
|
|
|
||
|
|
- Navigate to **WooCommerce** > **Smart Pricing**
|
||
|
|
- Scroll to "Today's Price Updates" section
|
||
|
|
- View detailed logs of all price changes
|
||
|
|
|
||
|
|
### Check Schedule
|
||
|
|
|
||
|
|
- The "Schedule Information" section shows:
|
||
|
|
- Next scheduled run time
|
||
|
|
- Last run time and results
|
||
|
|
- Number of products processed/updated
|
||
|
|
|
||
|
|
### Troubleshooting
|
||
|
|
|
||
|
|
If prices aren't updating:
|
||
|
|
|
||
|
|
1. **Check WooCommerce Logs**:
|
||
|
|
- Navigate to **WooCommerce** > **Status** > **Logs**
|
||
|
|
- Select the `informatiq-smart-pricing-...` log file
|
||
|
|
- Review error messages
|
||
|
|
|
||
|
|
2. **Verify Settings**:
|
||
|
|
- Ensure Google API credentials are correct
|
||
|
|
- Test API connection
|
||
|
|
- Check that automatic updates are enabled
|
||
|
|
|
||
|
|
3. **Check Cron**:
|
||
|
|
- Ensure WordPress cron is running properly
|
||
|
|
- Install "WP Crontrol" plugin to debug cron jobs
|
||
|
|
- Look for `informatiq_sp_daily_price_update` event
|
||
|
|
|
||
|
|
4. **Product Issues**:
|
||
|
|
- Verify products have SKUs
|
||
|
|
- Ensure products are in stock
|
||
|
|
- Check that products exist in Google Merchant Center
|
||
|
|
|
||
|
|
## Advanced Configuration
|
||
|
|
|
||
|
|
### Custom Cron Schedule
|
||
|
|
|
||
|
|
To change the cron schedule programmatically:
|
||
|
|
|
||
|
|
```php
|
||
|
|
// In your theme's functions.php or custom plugin
|
||
|
|
Informatiq_SP_Scheduler::reschedule( 'daily' ); // or 'twice_daily', 'every_6_hours'
|
||
|
|
```
|
||
|
|
|
||
|
|
### Hooks and Filters
|
||
|
|
|
||
|
|
The plugin provides hooks for customization:
|
||
|
|
|
||
|
|
```php
|
||
|
|
// Modify minimum offset
|
||
|
|
add_filter( 'informatiq_sp_min_offset', function() {
|
||
|
|
return 0.10; // Minimum $0.10 difference
|
||
|
|
});
|
||
|
|
|
||
|
|
// Modify maximum offset
|
||
|
|
add_filter( 'informatiq_sp_max_offset', function() {
|
||
|
|
return 0.50; // Maximum $0.50 difference
|
||
|
|
});
|
||
|
|
```
|
||
|
|
|
||
|
|
## Security Recommendations
|
||
|
|
|
||
|
|
1. **Protect Service Account JSON**:
|
||
|
|
- Never commit the JSON key to version control
|
||
|
|
- Store securely in WordPress database (plugin does this automatically)
|
||
|
|
- Use environment variables for extra security if needed
|
||
|
|
|
||
|
|
2. **Limit Service Account Permissions**:
|
||
|
|
- Only grant necessary permissions in Merchant Center
|
||
|
|
- Use "Standard" access if "Admin" isn't required
|
||
|
|
|
||
|
|
3. **Regular Audits**:
|
||
|
|
- Review price change logs regularly
|
||
|
|
- Monitor for unexpected pricing patterns
|
||
|
|
- Set up alerts for significant price drops
|
||
|
|
|
||
|
|
## Uninstallation
|
||
|
|
|
||
|
|
If you need to remove the plugin:
|
||
|
|
|
||
|
|
1. Deactivate the plugin from WordPress admin
|
||
|
|
2. Delete the plugin (this will remove all settings and logs)
|
||
|
|
3. The plugin automatically:
|
||
|
|
- Removes all settings from database
|
||
|
|
- Deletes the custom log table
|
||
|
|
- Clears scheduled cron events
|
||
|
|
|
||
|
|
Note: Product prices will remain at their last updated values. You'll need to manually adjust them if desired.
|
||
|
|
|
||
|
|
## Support
|
||
|
|
|
||
|
|
For issues or questions:
|
||
|
|
|
||
|
|
- Email: contact@malin.ro
|
||
|
|
- Website: https://informatiq.services
|
||
|
|
- Documentation: See README.md
|
||
|
|
|
||
|
|
## Updates
|
||
|
|
|
||
|
|
To update the plugin:
|
||
|
|
|
||
|
|
1. Download the latest version
|
||
|
|
2. Deactivate the old version
|
||
|
|
3. Replace plugin files
|
||
|
|
4. Run `composer install` if dependencies changed
|
||
|
|
5. Reactivate the plugin
|
||
|
|
|
||
|
|
Your settings and logs will be preserved during updates.
|