PHPackages                             quickhelper/quickzoom - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. quickhelper/quickzoom

ActiveLibrary[API Development](/categories/api)

quickhelper/quickzoom
=====================

A complete Laravel Zoom integration package

v1.3.0(7mo ago)15MITPHPPHP &gt;=8.0

Since Apr 12Pushed 7mo ago1 watchersCompare

[ Source](https://github.com/yossef-ashraf/QuickZoom)[ Packagist](https://packagist.org/packages/quickhelper/quickzoom)[ RSS](/packages/quickhelper-quickzoom/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (9)Versions (5)Used By (0)

QuickZoom - Laravel Zoom Integration Package
============================================

[](#quickzoom---laravel-zoom-integration-package)

[![Latest Version](https://camo.githubusercontent.com/98de83980cba04abb358909760d2cce6e295b265b1a18c3b63d86fe3f09f810b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f717569636b68656c7065722f717569636b7a6f6f6d2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/quickhelper/quickzoom)[![Total Downloads](https://camo.githubusercontent.com/f2584f9c3497b4f5afb6832713d48ae6616a80ce4513d0c01e96a45ef9965d65/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f717569636b68656c7065722f717569636b7a6f6f6d2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/quickhelper/quickzoom)[![License](https://camo.githubusercontent.com/2c17953325c44c5c9c125d98b5e65d4cfa57aee61ec7af28b3119685dc89faae/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f717569636b68656c7065722f717569636b7a6f6f6d2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/quickhelper/quickzoom)

A complete solution for integrating Zoom video conferencing into Laravel applications. Manage meetings, webinars, participants, and recordings with an elegant API.

Features
--------

[](#features)

✅ **Complete Meeting Management** - Create, update, delete, and list Zoom meetings
✅ **Webinar Support** - Schedule and manage webinars
✅ **Participant Tracking** - Track meeting participants and attendance
✅ **Recording Management** - Access and manage meeting recordings
✅ **Webhook Integration** - Real-time event notifications
✅ **Database Storage** - Store meeting data locally
✅ **Laravel Integration** - Native Laravel service provider, facades, and events

Requirements
------------

[](#requirements)

- PHP 8.0+
- Laravel 9.x, 10.x, or 11.x
- Zoom OAuth 2.0 Server-to-Server App Credentials

Installation
------------

[](#installation)

1. Install via Composer:

```
composer require quickhelper/quickzoom
```

2. Publish config and migrations:

```
php artisan vendor:publish --provider="QuickZoom\Providers\QuickZoomServiceProvider"
```

3. Add Zoom credentials to your `.env`:

```
ZOOM_API_KEY=your_zoom_api_key
ZOOM_API_SECRET=your_zoom_api_secret
ZOOM_ACCOUNT_ID=your_zoom_account_id
ZOOM_WEBHOOK_SECRET=your_webhook_secret  # Optional
```

**Important:** Zoom has deprecated JWT authentication. You must create an OAuth 2.0 Server-to-Server app in the Zoom Marketplace and use those credentials.

4. Run migrations:

```
php artisan migrate
```

Usage
-----

[](#usage)

### Basic Meeting Management

[](#basic-meeting-management)

```
use QuickZoom\Facades\QuickZoom;

// Create a simple meeting
$meeting = QuickZoom::createMeeting('me', [
    'topic' => 'Team Meeting',
    'start_time' => now()->addDay()->toIso8601String(),
    'duration' => 60,
    'agenda' => 'Quarterly planning session'
]);

echo "Meeting created successfully!";
echo "Join URL: " . $meeting['join_url'];
echo "Meeting ID: " . $meeting['id'];
echo "Password: " . $meeting['password'];

// List all meetings
$meetings = QuickZoom::listMeetings();
foreach ($meetings['meetings'] as $meeting) {
    echo "Meeting: " . $meeting['topic'] . " - " . $meeting['start_time'];
}

// Get specific meeting details
$meetingDetails = QuickZoom::getMeeting($meetingId);
echo "Meeting Status: " . $meetingDetails['status'];

// Update a meeting
$updatedMeeting = QuickZoom::updateMeeting($meetingId, [
    'topic' => 'Updated Meeting Title',
    'duration' => 90
]);

// End an ongoing meeting
QuickZoom::endMeeting($meetingId);

// Delete a meeting
QuickZoom::deleteMeeting($meetingId);
```

### Advanced Meeting with Custom Settings

[](#advanced-meeting-with-custom-settings)

```
$advancedMeeting = QuickZoom::createMeeting('me', [
    'topic' => 'Advanced Workshop',
    'type' => 2, // Scheduled meeting
    'start_time' => '2024-12-25T10:00:00Z',
    'duration' => 120,
    'timezone' => 'Africa/Cairo',
    'password' => '123456',
    'agenda' => 'Advanced Laravel Development Workshop',
    'settings' => [
        'host_video' => true,
        'participant_video' => false,
        'join_before_host' => true,
        'mute_upon_entry' => true,
        'waiting_room' => false,
        'approval_type' => 0,
        'audio' => 'both',
        'auto_recording' => 'cloud',
        'alternative_hosts' => 'assistant@company.com'
    ]
]);
```

### Working with Participants

[](#working-with-participants)

```
// Register a participant
$registration = QuickZoom::registerParticipant($meetingId, [
    'email' => 'participant@example.com',
    'first_name' => 'John',
    'last_name' => 'Doe',
    'org' => 'Tech Company',
    'job_title' => 'Developer'
]);

echo "Registration successful!";
echo "Join URL: " . $registration['join_url'];

// List meeting participants (after meeting)
$participants = QuickZoom::listParticipants($meetingId);
foreach ($participants['participants'] as $participant) {
    echo $participant['name'] . " joined at " . $participant['join_time'];
}
```

### Using in Controllers

[](#using-in-controllers)

```
