upskill-event-manager/includes/zoho/TESTING.md
bengizmo 37f4180e1c feat: Add massive missing plugin infrastructure to repository
🚨 CRITICAL: Fixed deployment blockers by adding missing core directories:

**Community System (CRITICAL)**
- includes/community/ - Login_Handler and all community classes
- templates/community/ - Community login forms

**Certificate System (CRITICAL)**
- includes/certificates/ - 8+ certificate classes and handlers
- templates/certificates/ - Certificate reports and generation templates

**Core Individual Classes (CRITICAL)**
- includes/class-hvac-event-summary.php
- includes/class-hvac-trainer-profile-manager.php
- includes/class-hvac-master-dashboard-data.php
- Plus 40+ other individual HVAC classes

**Major Feature Systems (HIGH)**
- includes/database/ - Training leads database tables
- includes/find-trainer/ - Find trainer directory and MapGeo integration
- includes/google-sheets/ - Google Sheets integration system
- includes/zoho/ - Complete Zoho CRM integration
- includes/communication/ - Communication templates system

**Template Infrastructure**
- templates/attendee/, templates/email-attendees/
- templates/event-summary/, templates/status/
- templates/template-parts/ - Shared template components

**Impact:**
- 70+ files added covering 10+ missing directories
- Resolves ALL deployment blockers and feature breakdowns
- Plugin activation should now work correctly
- Multi-machine deployment fully supported

🔧 Generated with Claude Code

Co-Authored-By: Ben Reed <ben@tealmaker.com>
2025-08-11 13:30:11 -03:00

2.8 KiB

Testing Zoho CRM Integration

Prerequisites

Your .env file now contains:

  • ZOHO_CLIENT_ID
  • ZOHO_CLIENT_SECRET

Testing Process

  1. Open a terminal and run:

    cd /Users/ben/dev/upskill-event-manager/wordpress-dev
    ./bin/test-zoho-integration.sh
    
  2. When prompted, choose 'y' to start the OAuth callback server

  3. Open a new terminal and run the script again, choosing 'n' this time

  4. Follow the prompts:

    • Open the authorization URL in your browser
    • Log in to Zoho and authorize the app
    • Copy the authorization code from the callback page
    • Paste it in the terminal

Option 2: Manual Testing

  1. Generate the authorization URL:

    https://accounts.zoho.com/oauth/v2/auth?
    scope=ZohoCRM.settings.all,ZohoCRM.modules.all,ZohoCRM.users.all,ZohoCRM.org.all&
    client_id=1000.Z0HOF1VMMJ9W2QWSU57GVQYEAVUSKS&
    response_type=code&
    access_type=offline&
    redirect_uri=http://localhost:8080/callback&
    prompt=consent
    
  2. Open the URL in your browser

  3. After authorization, copy the code from the redirect URL

  4. Run the test script:

    cd /Users/ben/dev/upskill-event-manager/wordpress-dev/wordpress/wp-content/plugins/hvac-community-events/includes/zoho
    php test-integration.php
    
  5. Paste the authorization code when prompted

What the Test Does

  1. Validates Credentials - Checks that your client ID and secret work
  2. Gets Tokens - Exchanges the auth code for access and refresh tokens
  3. Fetches Org Info - Gets your Zoho organization details
  4. Tests Module Access - Verifies access to Campaigns, Contacts, and Invoices
  5. Creates Config File - Saves all credentials to zoho-config.php
  6. Updates .env - Adds the refresh token for future use

Expected Output

You should see:

  • ✓ Credentials loaded from .env file
  • ✓ Tokens received successfully
  • ✓ Organization found
  • ✓ Campaigns module accessible
  • ✓ Contacts module accessible
  • ✓ Invoices module accessible
  • ✓ Configuration file created

Next Steps

After successful testing:

  1. The system is ready for field creation
  2. You can start syncing data
  3. Check WordPress admin → Events → Zoho CRM for status

Troubleshooting

"Invalid Client" Error

  • Verify the client ID and secret in your .env file
  • Check that you're using the correct Zoho data center (US, EU, IN, AU)

"Invalid Code" Error

  • Authorization codes expire in ~1 minute
  • Generate a new code and use it immediately

Connection Issues

Module Access Issues

  • Ensure all required modules are enabled in your Zoho CRM
  • Check that your Zoho plan includes API access