Download the PHP package slakbal/gotowebinar without Composer
On this page you can find all versions of the php package slakbal/gotowebinar. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download slakbal/gotowebinar
More information about slakbal/gotowebinar
Files in slakbal/gotowebinar
Package gotowebinar
Short Description GotoWebinar API wrapper for laravel 5+
License MIT
Informations about the package gotowebinar
GotoWebinar API wrapper for Laravel
This package is a GotoWebinar API service wrapper and facade for Laravel 5.4+.
This new release makes use of the latest version of the GotoWebinar API and Authentication methods. This release is not compatible with the previous versions and is a complete new implementation.
Compatible API Version
https://goto-developer.logmeininc.com/content/gotowebinar-api-reference-v2
Known Issues
- There are still some issues with the deletion of Registrants from a Webinar by registrantKey
- Retrieving session attendees by registrantKey
Contributions and Bug
Please create a pull request for any changes, update or bugs. Thanks!
Installing
You can use Composer to install the library
If you have Laravel 5.5+ the package will be auto-discovered:
Otherwise, find the providers
array in the config/app.php
file and add the following Service Provider:
Now find the aliases
array in the same config file and add the following Facade class:
Config
Before you can use the service provider you have configure it. You can create and App with API access keys here: GotoWebinar Developer portal. Look for the My Apps
menu.
Note that you need to have an active or trial account for the API to function properly. Just dev credentials alone might not work since those tokens are sometimes restricted or expire.
The provider currently only support OAuth2 authentication. Since this is used for backend integration and not clients like for examples mobile applications, etc. the initial authentication is done via Goto's Direct Login.
The package's configuration requires at a minimum the following environment values are required in your .env
file.
The provider can also publish it's config. You can publish the configuration file if you want to with:
Dev Environment
In your development environment, when you run the following artisan command:
You will notice that there are some test routes, which you can look at for examples and use in the browser to test your integration with. Once your environment is in production
in your .env
file these routes will no longer be available.
Authentication Token Caching
Once your config values are set the authentication tokens etc. are cached and expiry and refreshing of tokens are automatically managed!
Note a cache which support tags is required. Thus file or database cache drivers are not supported.
So caching the token results in one less round trip to GotoWebinar servers thus improved performance. If you want to manipulate the state manually the following methods can be used:
Usage
When using this package you'll notice it is closely aligned to the API documentation schemas etc. as can be found here: GotoWebinar API v2. It is recommended that you also keep an eye on the official API reference while implementing with this package.
Examples
In the following location vendor/slakbal/gotowebinar/src/routes
, there are route files with the above mentioned routes which can be used to see usage of the package.
For example:
Response:
You can now on $gotoResponse directly access the properties in the response object:
Exception Handling and Logging
When using the package methods it is recommended to call them within a try
, catch
block. For example:
The package will automatically log some major events and response errors for you to your configured Laravel log file, so you don't need to log them again. For example:
GotoWebinar Resources
Webinars
Get Webinars (Fluent)
Create Webinar (Fluent)
Create Webinar (Array)
Update Webinar (Fluent)
Update Webinar (Array)
Show Webinar (Fluent)
Delete Webinar (Fluent)
Delete a specific Webinar by webinarKey, method returns true
or false
Webinar Attendees (Fluent)
Webinar Meeting Times (Fluent)
Webinar Audio (Fluent)
Webinar Performance (Fluent)
Webinars In-Session (Fluent)
Registrants
Get Registrants (Fluent)
Return a list of registrants for a specific Webinar
Create Registrant (Fluent)
Create a registrant for a specific WebinarKey
Create Registrant (Array)
Create a registrant for a specific WebinarKey
Get Registrant (Fluent)
Return a specific registrant by webinarKey and registrantKey
Delete Registrant (Fluent)
Delete a specific registrant by webinarKey and registrantKey, method returns true
or false
Sessions
Get Organizer Sessions (Fluent)
Get Webinar Sessions (Fluent)
Get Session (Fluent)
Get Session Performance (Fluent)
Get Session Polls (Fluent)
Get Session Questions (Fluent)
Get Session Surveys (Fluent)
Attendees
Get Session Attendees (Fluent)
Get Attendee (Fluent)
Get Attendee Polls (Fluent)
Get Attendee Questions (Fluent)
Get Attendee Surveys (Fluent)
Your contribution or bug fixes are welcome!
Enjoy!
Slakkie
All versions of gotowebinar with dependencies
nategood/httpful Version ^0.2
illuminate/contracts Version ^5.8|^6.0|^7.0
guzzlehttp/guzzle Version ~6.3