- Implement OAuth 2.0 authentication for Zoho CRM - Add sync functionality for Events → Campaigns, Users → Contacts, Orders → Invoices - Create staging mode that prevents production syncs from non-production domains - Build admin interface for sync management - Add comprehensive field mapping between WordPress and Zoho - Include test scripts and documentation - Ensure production sync only on upskillhvac.com domain
		
			
				
	
	
		
			60 lines
		
	
	
		
			No EOL
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			No EOL
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| # Complete Zoho OAuth Setup Script
 | |
| set -e
 | |
| 
 | |
| # Colors for output
 | |
| GREEN='\033[0;32m'
 | |
| YELLOW='\033[1;33m'
 | |
| BLUE='\033[0;34m'
 | |
| RED='\033[0;31m'
 | |
| NC='\033[0m' # No Color
 | |
| 
 | |
| echo -e "${BLUE}=== Complete Zoho OAuth Setup ===${NC}"
 | |
| echo
 | |
| 
 | |
| PLUGIN_DIR="/Users/ben/dev/upskill-event-manager/wordpress-dev/wordpress/wp-content/plugins/hvac-community-events"
 | |
| ZOHO_DIR="$PLUGIN_DIR/includes/zoho"
 | |
| 
 | |
| # Step 1: Start callback server
 | |
| echo -e "${GREEN}Starting callback server...${NC}"
 | |
| cd "$ZOHO_DIR"
 | |
| php -S localhost:8080 callback-server.php &
 | |
| SERVER_PID=$!
 | |
| echo "Callback server started (PID: $SERVER_PID)"
 | |
| echo
 | |
| 
 | |
| # Step 2: Display authorization URL
 | |
| echo -e "${GREEN}Please complete authorization:${NC}"
 | |
| echo
 | |
| echo -e "${YELLOW}1. Open this URL in your browser:${NC}"
 | |
| echo
 | |
| echo "https://accounts.zoho.com/oauth/v2/auth?scope=ZohoCRM.settings.all%2CZohoCRM.modules.all%2CZohoCRM.users.all%2CZohoCRM.org.all&client_id=1000.Z0HOF1VMMJ9W2QWSU57GVQYEAVUSKS&response_type=code&access_type=offline&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2Fcallback&prompt=consent"
 | |
| echo
 | |
| echo -e "${YELLOW}2. Log in to Zoho and accept permissions${NC}"
 | |
| echo -e "${YELLOW}3. Copy the authorization code from the callback page${NC}"
 | |
| echo -e "${YELLOW}4. Return here and paste the code${NC}"
 | |
| echo
 | |
| 
 | |
| # Step 3: Wait for callback
 | |
| echo -e "${GREEN}Waiting for authorization...${NC}"
 | |
| echo "Once you've authorized, you'll see the code at: http://localhost:8080/callback"
 | |
| echo
 | |
| read -p "Enter the authorization code: " AUTH_CODE
 | |
| 
 | |
| # Step 4: Stop callback server
 | |
| kill $SERVER_PID 2>/dev/null || true
 | |
| echo
 | |
| 
 | |
| # Step 5: Run integration test with the code
 | |
| echo -e "${GREEN}Testing integration with authorization code...${NC}"
 | |
| cd "$ZOHO_DIR"
 | |
| echo "$AUTH_CODE" | php test-integration.php
 | |
| 
 | |
| echo
 | |
| echo -e "${GREEN}✓ Setup complete!${NC}"
 | |
| echo
 | |
| echo "The Zoho configuration has been saved to:"
 | |
| echo "$ZOHO_DIR/zoho-config.php"
 | |
| echo
 | |
| echo "You can now sync data to Zoho CRM!" |