137 lines
No EOL
3.2 KiB
Markdown
137 lines
No EOL
3.2 KiB
Markdown
# Zoho OAuth Setup Instructions
|
|
|
|
## Prerequisites
|
|
|
|
- Zoho CRM account
|
|
- Admin access to create OAuth applications
|
|
- Access to staging server terminal
|
|
|
|
## Step 1: Create Zoho OAuth Application
|
|
|
|
1. Go to [Zoho API Console](https://api-console.zoho.com/)
|
|
2. Click "Add Client" or "Create New Client"
|
|
3. Choose "Web Based" application type
|
|
4. Fill in the details:
|
|
- **Client Name**: HVAC Community Events
|
|
- **Homepage URL**: https://upskillhvac.com
|
|
- **Authorized Redirect URIs**: http://localhost:8080/callback
|
|
- **Description**: WordPress integration for HVAC event management
|
|
|
|
5. Click "Create" and save the credentials:
|
|
- Client ID
|
|
- Client Secret
|
|
|
|
## Step 2: Configure Environment Variables
|
|
|
|
Add to your `.env` file:
|
|
```
|
|
ZOHO_CLIENT_ID=your_client_id_here
|
|
ZOHO_CLIENT_SECRET=your_client_secret_here
|
|
```
|
|
|
|
## Step 3: Run OAuth Setup
|
|
|
|
From your terminal:
|
|
|
|
```bash
|
|
cd /Users/ben/dev/upskill-event-manager/wordpress-dev
|
|
./bin/zoho-setup-complete.sh
|
|
```
|
|
|
|
This script will:
|
|
1. Start a local callback server
|
|
2. Generate the authorization URL
|
|
3. Open your browser for Zoho login
|
|
4. Handle the OAuth callback
|
|
5. Save the tokens
|
|
|
|
## Step 4: Complete Authorization
|
|
|
|
1. When the browser opens, log in to Zoho
|
|
2. Review the permissions requested:
|
|
- CRM Settings access
|
|
- CRM Modules access
|
|
- CRM Users access
|
|
- CRM Organization access
|
|
3. Click "Accept" or "Allow"
|
|
4. You'll be redirected to localhost:8080/callback
|
|
5. Copy the authorization code from the page
|
|
6. Return to terminal and paste the code
|
|
|
|
## Step 5: Verify Setup
|
|
|
|
The script will:
|
|
- Exchange the code for tokens
|
|
- Test the connection
|
|
- Save configuration to `zoho-config.php`
|
|
- Display success message
|
|
|
|
## Manual Setup (Alternative)
|
|
|
|
If the automated script doesn't work:
|
|
|
|
1. Start callback server:
|
|
```bash
|
|
cd wordpress/wp-content/plugins/hvac-community-events/includes/zoho
|
|
php -S localhost:8080 callback-server.php
|
|
```
|
|
|
|
2. Generate authorization URL:
|
|
```bash
|
|
php test-integration.php
|
|
```
|
|
|
|
3. Open the URL in your browser
|
|
4. Complete authorization
|
|
5. Copy the code and paste when prompted
|
|
|
|
## Testing the Integration
|
|
|
|
After setup, test on staging:
|
|
|
|
1. Go to WordPress Admin
|
|
2. Navigate to HVAC Community Events → Zoho CRM Sync
|
|
3. Click "Test Connection"
|
|
4. In staging mode, you'll see simulation results only
|
|
|
|
## Troubleshooting
|
|
|
|
### Common Issues
|
|
|
|
1. **"Client authentication failed"**
|
|
- Double-check Client ID and Secret
|
|
- Ensure no extra spaces in .env file
|
|
|
|
2. **"Invalid redirect URI"**
|
|
- Make sure redirect URI in Zoho matches exactly: http://localhost:8080/callback
|
|
- No trailing slash
|
|
|
|
3. **Connection refused on localhost:8080**
|
|
- Ensure no other service is using port 8080
|
|
- Try a different port if needed
|
|
|
|
4. **Token expired**
|
|
- Tokens auto-refresh, but if issues persist, re-run setup
|
|
|
|
### Debug Mode
|
|
|
|
Enable debug logging:
|
|
```php
|
|
define('ZOHO_DEBUG_MODE', true);
|
|
define('ZOHO_LOG_FILE', '/path/to/debug.log');
|
|
```
|
|
|
|
## Security Notes
|
|
|
|
- Never commit .env or zoho-config.php to version control
|
|
- Tokens are stored encrypted in WordPress options
|
|
- Refresh tokens are used for long-term access
|
|
- Staging mode prevents accidental production syncs
|
|
|
|
## Support
|
|
|
|
For issues:
|
|
1. Check debug logs
|
|
2. Verify OAuth application settings
|
|
3. Review Zoho API documentation
|
|
4. Contact development team |