ciaranpflanagan / webinarjam-api
WebinarJam API Wrapper
Installs: 1 372
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 1
Open Issues: 0
pkg:composer/ciaranpflanagan/webinarjam-api
This package is auto-updated.
Last update: 2025-12-12 19:59:36 UTC
README
A composer package that makes it easier to communicate with the WebinarJam API.
Installation
composer require ciaranpflanagan/webinarjam-api
Add the service provider to your config/app.php providers array
ciaranpflanagan\WebinarJamApi\WebinarJamServiceProvider::class
Usage
Include the package so it can be used
use ciaranpflanagan\WebinarJamApi\WebinarJam;
Create a new instance of the WebinarJam class, passing in your WebinarJam API key. More can be found on obtaining your API key in the WebinarJam API Documentation.
$webinar = new WebinarJam('WEBINARJAM_API_KEY');
List All Webinars
To get a full list of webinars. This returns an array with the response from the API.
$webinar->webinars();
Output
{
"status": "success",
"webinars": [
{
"webinar_id": 1,
"webinar_hash": "gfdsg765g",
"name": "First Webinar",
"description": "First Webinar From API",
"type": "Series of presentations",
"schedules": [
"Every day, 9:00 AM"
],
"timezone": "Europe\/Dublin"
},
{
"webinar_id": 2,
"webinar_hash": "gfdsg765g",
"name": "Second Webinar",
"description": "Second Webinar From API",
"type": "Series of presentations",
"schedules": [
"Every day, 9:00 AM"
],
"timezone": "Europe\/Dublin"
}
]
}
Details About An Individual Webinar
To get details about one individual webinar (including it's schedules). This returns an array with the response from the API.
/** * @param int $webinar_id */ $webinar->webinarDetails($webinar_id);
Output
{
"status": "success",
"webinar": {
"webinar_id": 1,
"webinar_hash": "gfdsg765g",
"name": "First Webinar",
"description": "First Webinar From API",
"type": "Series of presentations",
"schedules": [
{
"date": "2021-03-25 09:00",
"schedule": 99,
"comment": "Every day, 9:00 AM"
}
],
"timezone": "Europe\/Dublin",
"presenters": [
{
"name": "Ciaran Flanagan",
"email": "test@test.com",
"picture": ""
}
],
"registration_url": "",
"registration_type": "free",
"registration_fee": 0,
"registration_currency": "",
"registration_checkout_url": "",
"registration_post_payment_url": "",
"direct_live_room_url": "",
"direct_replay_room_url": ""
}
}
Register A Person To A Webinar
To register a person to a webinar. This returns an array with the response from the API.
Note: $webinar_id and $schedule are of type int.
/** * @param int $webinar_id * @param array $details */ $details = array( "first_name" => "", "last_name" => "", // Optional "email" => "", "schedule" => 0, "ip_address" => "", // Optional "phone_country_code" => "", // Optional "phone" => "", // Optional ); $webinar->register($webinar_id, $details);
Output
{
"status": "success",
"user": {
"webinar_id": 1,
"webinar_hash": "gfdsg765g",
"user_id": 1234,
"first_name": "Ciaran",
"last_name": "Flanagan",
"phone_country_code": "+353",
"phone": "123456789",
"email": "test@test.com",
"password": null,
"schedule": "99",
"date": "2021-03-25 9:00",
"timezone": "Europe\/Dublin",
"live_room_url": "",
"replay_room_url": "",
"thank_you_url": ""
}
}
Get A Webinar's Schedule
To get a webinars schedule. This returns an array with the response from the API.
/** * @param int $webinar_id */ $webinar->webinarSchedule($webinar_id); // or $webinar->webinarDetails($webinar_id); $webinar->webinarSchedule();
NOTE: If ->webinarDetails($webinar_id) is has already been called, ->webinarSchedule() can be called with no parameters and it will get the schedule using the same webinar ID used in ->webinarDetails($webinar_id).
Output
[
[
"date" => "2021-03-25 09:00",
"schedule" => 99,
"comment" => "Every day, 9:00 AM",
],
[
"date" => "2021-03-52 09:00",
"schedule" => 99,
"comment" => "Every day, 9:00 AM",
],
]