- How do I install the BigBlueButton PHP API package in Laravel?
- Use Composer to install the package with `composer require bigbluebutton/bigbluebutton-api-php`. Then, register the service provider in `config/app.php` under the `providers` array. The package supports Laravel 8+ and PHP 8.0+.
- Can this package handle OAuth authentication with BigBlueButton?
- Yes, the package supports OAuth authentication. Store your credentials securely in Laravel’s `.env` file and configure the client ID and secret in your Laravel service provider or config file. Follow the package’s wiki for OAuth setup details.
- Does this package support webhooks for real-time event handling?
- Yes, you can listen to BigBlueButton webhooks using Laravel’s built-in webhook handling (e.g., `HandleIncomingWebhook`) or by creating a custom route. Process webhooks asynchronously using Laravel queues for reliability.
- What Laravel versions does this package officially support?
- The package is tested and supported on Laravel 8+, which aligns with PHP 8.0+. For older Laravel versions (e.g., 7.x), you may need to adjust dependencies or fork the package, as it assumes modern PHP features.
- How do I create a meeting programmatically in Laravel using this SDK?
- Use the SDK’s `createMeeting` method after initializing the client with your BBB credentials. Example: `$meeting = BBB::createMeeting(['name' => 'Team Sync', 'attendeePW' => 'password']);`. The response includes the meeting ID and join URL.
- Can I use this package to manage recordings (e.g., download or list them)?
- Yes, the package provides methods like `listRecordings` and `getRecording` to interact with BBB’s recording API. You can also trigger recording downloads or process them asynchronously using Laravel queues for long-running tasks.
- What’s the best way to handle API rate limits in production?
- Implement exponential backoff in Laravel’s HTTP client or use queues to retry failed requests. The package works with Guzzle, so you can leverage Guzzle’s middleware for rate limiting or configure Laravel’s `HttpClient` with retry logic.
- Is there a recommended way to store meeting metadata in Laravel?
- Store meeting IDs, timestamps, and participant data in a Laravel database table (e.g., `meetings`). Use Laravel’s model events or observers to sync state changes between your app and BBB. For example, trigger a `MeetingEnded` event when BBB’s webhook fires.
- Does this package support self-hosted BigBlueButton instances?
- Yes, the package works with any BigBlueButton server, whether self-hosted or cloud-based (e.g., Blindside Networks). Configure the BBB server URL in your Laravel environment or service provider to point to your instance.
- Are there alternatives to this package for Laravel-BBB integration?
- While this is the official PHP SDK, you could use Laravel’s HTTP client directly with BBB’s REST API. However, this package abstracts complexity (e.g., OAuth, error handling) and provides Laravel-friendly features like service providers and facades, making it the recommended choice.