- 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
		
			
				
	
	
		
			61 lines
		
	
	
		
			No EOL
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			No EOL
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| # Zoho CRM Integration Test Script
 | |
| # This script tests the Zoho integration setup
 | |
| 
 | |
| # Color codes for output
 | |
| GREEN='\033[0;32m'
 | |
| YELLOW='\033[1;33m'
 | |
| RED='\033[0;31m'
 | |
| NC='\033[0m' # No Color
 | |
| 
 | |
| # Get the script directory
 | |
| SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
 | |
| PROJECT_ROOT="$(dirname "$SCRIPT_DIR")"
 | |
| ZOHO_DIR="$PROJECT_ROOT/wordpress/wp-content/plugins/hvac-community-events/includes/zoho"
 | |
| 
 | |
| echo -e "${GREEN}=== Zoho CRM Integration Test ===${NC}\n"
 | |
| 
 | |
| # Check if .env file exists
 | |
| if [ ! -f "$PROJECT_ROOT/.env" ]; then
 | |
|     echo -e "${RED}Error: .env file not found at $PROJECT_ROOT/.env${NC}"
 | |
|     exit 1
 | |
| fi
 | |
| 
 | |
| # Source the .env file
 | |
| source "$PROJECT_ROOT/.env"
 | |
| 
 | |
| # Check if credentials exist
 | |
| if [ -z "$ZOHO_CLIENT_ID" ] || [ -z "$ZOHO_CLIENT_SECRET" ]; then
 | |
|     echo -e "${RED}Error: ZOHO_CLIENT_ID or ZOHO_CLIENT_SECRET not found in .env file${NC}"
 | |
|     exit 1
 | |
| fi
 | |
| 
 | |
| echo -e "${GREEN}✓ Credentials found in .env file${NC}"
 | |
| echo -e "Client ID: ${ZOHO_CLIENT_ID:0:20}...\n"
 | |
| 
 | |
| # Change to Zoho directory
 | |
| cd "$ZOHO_DIR"
 | |
| 
 | |
| # Check if PHP is available
 | |
| if ! command -v php &> /dev/null; then
 | |
|     echo -e "${RED}Error: PHP is not installed${NC}"
 | |
|     exit 1
 | |
| fi
 | |
| 
 | |
| echo -e "${YELLOW}Starting Zoho integration test...${NC}\n"
 | |
| 
 | |
| # Option to start auth server
 | |
| echo -e "${YELLOW}Would you like to start the OAuth callback server? (y/n)${NC}"
 | |
| read -p "This will help capture the authorization code automatically: " -n 1 -r
 | |
| echo
 | |
| if [[ $REPLY =~ ^[Yy]$ ]]; then
 | |
|     echo -e "\n${GREEN}Starting OAuth callback server...${NC}"
 | |
|     echo -e "${YELLOW}Keep this terminal open and start a new terminal for the next step.${NC}\n"
 | |
|     php "$ZOHO_DIR/auth-server.php"
 | |
| else
 | |
|     echo -e "\n${GREEN}Running test integration script...${NC}"
 | |
|     php "$ZOHO_DIR/test-integration.php"
 | |
| fi
 | |
| 
 | |
| echo -e "\n${GREEN}=== Test Complete ===${NC}" |