WebinarJam and EverWebinar documentation Webinars for everyone!

Connecting to our API

Welcome to the WebinarJam API!

Please take note of the few bullet points below before digging into the actual technical articles:

  • Our API endpoint URL is https://api.webinarjam.com/webinarjam
  • You’re required to connect to our server from a SSL secure connection. Non SSL connections will be dropped.

Your API Key can be found in your main webinar dashboard, by clicking on the Advanced link for any of your webinars. You don’t need a new API Key for each webinar, since the Key is global for your entire account.

For users subject to GDPR requirements (mostly European users), and since our API can potentially subscribe users to your webinars without their manual input, it’s your responsibility to make sure that…

  • They have granted you permission to handle their personal data.
  • They have agreed to be subscribed to your webinars.
  • They have granted you permission to communicate with them in the future.

 

Finally, it’s important to note that our API system has a hardcoded limit of 20 API calls per second per user. That means that your script should not send more than 20 API calls per second to our API endpoint. If that limit is exceeded, the system will return a “Too many requests” error message (429 error), upon which you should wait 1 second and re-try the instruction again.

We strongly recommend you to implement in your scripts a queue system that throttles your outbound API calls to a maximum rate of 20 calls per second. That way, if your script goes through a burst of activity, it will pro-actively queue up the outbound calls and process them in a first-in-first-out sequential order, so they never go beyond the limit. It’s better to hold them back for a second or two than to get them error’ed out!

Retrieve a full list of all webinars published in your account

  • Method: webinars
  • Type: POST
  • Complete URL: https://api.webinarjam.com/webinarjam/webinars

 

The request must include all of the required fields, based on the table below:

Name Value
api_key * string(64)

* Required fields

 

The response body will be a JSON object containing an array of webinars. Each webinar object will contain:

Name Type Description
webinar_id integer Webinar ID
webinar_hash * string Webinar Hash
name string Webinar Name
description string Webinar Description
type string Series of presentations, Single presentation, Always on, Right now
schedules array Array of schedules
timezone string Webinar timezone

* webinar_hash: this parameter is used in case you want your API to be able to generate the webinar’s one-click registration link.

 

Example CURL request:

curl --data "api_key=demokey" https://api.webinarjam.com/webinarjam/webinars

 

Example return:

{
  "status": "success",
  "webinars": [
    {
        "webinar_id": 4,
        "webinar_hash": "asd4g2",
        "name": "demo4",
        "description": "A series of events",
        "type": "Series of presentations",
        "schedules": [
            "Every day, at 1:00 PM",
            "Every Tuesday, at 2:00 PM"
        ],
        "timezone": "America/Los_Angeles",
    },
    {
        "webinar_id": 3,
        "webinar_hash": "k5tz6",
        "name": "demo3",
        "description": "description of webinar",
        "type": "Single presentation",
        "schedules": [
            "Friday, 3 January 2020, at 1:00 PM"
        ],
        "timezone": "America/Chicago",
    },
    {
        "webinar_id": 2,
        "webinar_hash": "4otgvf",
        "name": "demo2",
        "description": "My always on webinar",
        "type": "Always on",
        "schedules": [
            "Always on"
        ],
        "timezone": "America/New_York",
    }
    {
        "webinar_id": 1,
        "webinar_hash": "93t2xa",
        "name": "demo1",
        "description": "right now",
        "type": "Right now",
        "schedules": [
            "Right now"
        ],
        "timezone": "America/New_York",
    }
  ]
}

Get details about one particular webinar from your account

  • Method: webinar
  • Type: POST
  • Complete URL: https://api.webinarjam.com/webinarjam/webinar

 

The request must include all of the required fields, based on the table below:

Name Value
api_key* string(64)
webinar_id* integer

* Required fields

 

The response body will be a JSON object containing a webinar object with the following:

Name Value Parent Description
webinar_id integer Webinar ID
webinar_hash **** string Webinar Hash
name string Webinar Name
description string Webinar Descirption
type string Series of presentations, Single presentation, Always on, Right now
schedules array
date string schedules Date and time of webinar
schedule int schedules Schedule ID
comment string schedules Schedule description
timezone string Webinar timezone
presenters array Presenters
name string presenters Presenter Name
email string presenters Presenter Email
picture string presenters Presenter Image URL
registration_url string Registration URL
registration_type string paid / free
registration_fee int Registration Fee
registration_currency** string Registration Currency
registration_checkout_url** string Registration Checkout URL
registration_post_payment_url** string Registration Post Payment URL
direct_live_room_url*** string Direct URL to the Live room
direct_replay_room_url*** string Direct URL to the Replay room

** This field will be returned only if they are enabled within that particular webinar configuration settings

*** These are generic links to the Live and Replay room, in case you want to send a user directly to those rooms without going through the Registration page

**** webinar_hash: this parameter is used in case you want your API to be able to generate the webinar’s one-click registration link.

 

Example CURL request:

curl --data "api_key=demokey&webinar_id=4" https://api.webinarjam.com/webinarjam/webinar

 

Example return:

{
    "status": "success",
    "webinar": {
        "webinar_id": 4,
        "webinar_hash": "asd4g2",
        "name": "demo4",
        "description": "A series of events",
        "type": "Series of presentations",
        "schedules": [
            {
                "date": "2099-01-01 10:00",
                "schedule": 34,
                "comment": "Friday, 1 January 2099, 10:00 AM"
            },
            {
                "date": "2099-01-02 10:00",
                "schedule": 46,
                "comment": "Saturday, 2 January 2099, 10:00 AM"
            }
        ],
        "timezone": "America/Los_Angeles",
        "presenters": [
            {
                "name": "John Doe",
                "email": "[email protected]",
                "picture": "https://test.s3.amazonaws.com/default_user.jpg"
            }
        ],
        "registration_url": "http://event.webinarjam.com/register/abcd123",
        "registration_type": "free",
        "registration_fee": 0,
        "registration_currency": "",
        "registration_checkout_url": "",
        "registration_post_payment_url": "",
        "direct_live_room_url": "https://event.webinarjam.com/go/live/1/abcd123",
        "direct_replay_room_url": "https://event.webinarjam.com/go/replay/1/abcd123"
    }
}

Register a person to a specific webinar

  • Method: register
  • Type: POST
  • Complete URL: https://api.webinarjam.com/webinarjam/register

 

IMPORTANT: to register a person to a series of webinars, you must only request the registration once through the first schedule. The API will auto-register that person to all the following schedules within the series.

 

The request must include all of the required fields, based on the table below:

Name Value
api_key* string(64)
webinar_id* {+} integer
first_name* string
last_name** string, optional
email* string
schedule* {+} int
ip_address string, optional
phone_country_code** string, optional, with “+”
phone** string, optional, only numbers

* Required fields
** This field might be required depending on the configured settings for each webinar
{+} webinar_id and schedule must be obtained from a previous API call to retrieve the details of whatever specific webinar you want to register the person to. Also, please note that one particular schedule ID might refer to an entire series of webinars, and thus all individual webinar sessions within the same series will have the same schedule ID. In order to pin-point the specific individual session within a series, refer to the DATE parameter.

 

The response body will be a JSON object containing a user object with the following:

Name Value Description
webinar_id integer Webinar ID
webinar_hash string Webinar Hash
user_id int Attendee Internal ID
first_name string Attendee First Name
last_name* string Attendee Last Name
phone_country_code* string Attendee Phone Country Code
phone* string Attendee Phone Number
email string Attendee Email
password* string Attendee unique password to the room
schedule int Attendee Schedule
date string Webinar date and time
timezone string Webinar timezone
live_room_url {+} string Live Room URL
replay_room_url {+} string Replay Room URL
thank_you_url {+} string Registration Success URL

{+} live_room_url, replay_room_url and thank_you_url are unique to each attendee
* These fields will be returned only if they are enabled within that particular webinar configuration settings

 

Example CURL request:

curl --data "api_key=demokey&webinar_id=demo123&first_name=FirstName&last_name=LastName&phone_country_code=+1&[email protected]&schedule=0" https://api.webinarjam.com/webinarjam/register

 

Example return:

{
    "status": "success",
    "user": {
        "webinar_id": 4,
        "webinar_hash": "asd4g2",
        "user_id": 6790321,
        "first_name": "FirstName",
        "last_name": "LastName",
        "phone_country_code": "+1",
        "phone": "1234567890",
        "email": "[email protected]",
        "password": null,
        "schedule": 46,
        "date": "2099-01-01 10:00",
        "timezone": "America/Los_Angeles",
        "live_room_url": "https://event.webinarjam.com/go/live/lk6790321HW",
        "replay_room_url": "https://event.webinarjam.com/go/replay/lk6790321HW",
        "thank_you_url": "https://event.webinarjam.com/registration/thank-you/lk6790321HW"
    }
}

© 2020 WebinarJam All Rights Reserved