The Webinato Event Creation API is a webservice used to create, modify, and delete your events.

You may not use the event API to send any unsolicited emails. By using the API, you agree to only generate emails to recipients who have explicitly requested to attend your webinars and/or meetings.

Note: You will need to have a skilled web programmer who has a strong knowledge of programming languages such as PHP in order to implement these APIs.

General information and base sample code

The following code block is provided as a function to initiate the authentication and make the url call. Each sample method utilizes this function.

$companyID = 1234;      ////Found in Modify Organization Settings section of the admin page
$roomID = 5678;           ////Found in Modify Organization Settings section of the admin page
$md5Pass = md5('password'); ////Found in Modify Organization Settings section of the admin page
$eventServiceURL = "http://www.webinato.com/api/event";

function callRemote($url, $params, $returnResponse = true)
{
	$c = curl_init($url);

	curl_setopt($c, CURLOPT_POST, true);
	curl_setopt($c, CURLOPT_POSTFIELDS, http_build_query($params));
	curl_setopt($c, CURLOPT_HEADER, false);
	curl_setopt($c, CURLOPT_RETURNTRANSFER, $returnResponse);

	$response = curl_exec($c);
	curl_close($c);

	if ($returnResponse)
	return $response;
}

Create and Update Event

Events can be created and updated with this API call. If you pass an eventID, that event is updated. If you do not pass an eventID, a new event is created. Please see the examples below in the sample code section.

URL Call:

http://www.webinato.com/api/event/save

Input Parameters:

POST Parameters:
Required:
(str) companyID
(str) md5Pass
(array) $params - contains all the relevant data such as event name, description, recurring event, etc. 
(num) eventID - Required only if editing an existing event; for new events, evenID will be empty.
(str) start_date (mm/dd/yyyy)

Sample Code:

function saveEvent($eventID, $roomID) //If eventID is empty = New event
{
	global $companyID, $md5Pass, $eventServiceURL;
	$params = array(
		        'eventID' => $eventID,
		        'companyID' => $companyID,
		        'md5pass' => $md5Pass,
		        'event_name' => 'New Event',
                        'shortDesc' => 'This is the short description',
                        'description' => 'Event created from API',
		        'roomID' => $roomID,
		        'start_date' => '05/10/2010',
		        'times_of_event' => '14:00',
		        'recurring' => 'N', // N Never, D Daily, W Weekly, B Bi-weekly
		        'category' => 810,
		        'allowRegisterAll' => 0, // Boolean
		        'allowedToEnter' => 15,
		        'untilToEnter' => 60,
		        'notifyOnRegister' => 0, // Boolean
		        'charSet' => 'UTF-8',
		        'reg_subject' => 'Thank you for registering for our event',
		        'reg_text_text' => 'Thank you for registering for our event',
		        'reminder1_int' => 1,
		        'price' => 10.00
	              );

	$url = $eventServiceURL . "/save";

	echo callRemote($url, $params);
}

// Use only one of the two following lines:
saveEvent("", $roomID); // First parameter is empty, so this will CREATE a new event.
saveEvent(12345, $roomID); // First parameter is an eventID, so this will UPDATE that event.

Sample Output:

<status>
    <save><![CDATA[completed]]></save>
    <id><![CDATA[12345]]></id>
    <pid><![CDATA[81431272927056]]></pid>
</status>

Delete Event

This method allows you to delete an event.

URL Call:

http://www.webinato.com/api/event/delete/{eventID}

Input Parameters:

URL Parameters: Required:
(num) eventID: Internal Event ID. This is not the public Event ID associated with the registration URL.
The eventID can be retrieved from the Event List function.
POST Parameters:
Required:
(str) companyID
(str) md5Pass

Sample Code:

function deleteEvent($eventID)
{
	global $companyID, $md5Pass, $eventServiceURL;
	$params = array(
		        'companyID' => $companyID,
		         'md5pass' => $md5Pass
	               );

	$url = $eventServiceURL . "/delete/" . $eventID;

	echo callRemote($url, $params);
}

deleteEvent(12345);

Sample Output:

<status>
    <delete><![CDATA[completed]]></delete>
</status>

Events’ List

This method returns all of the events (expired, current, and recurring) created for a specified company.

URL Call:

http://www.webinato.com/api/event/list

Input Parameters:

POST Parameters:
Required:
(str) companyID
(str) md5Pass

Sample Code:

function eventsList()
{
	global $companyID, $md5Pass, $eventServiceURL;
	$params = array(
			'companyID' => $companyID,
			'md5pass' => $md5Pass
		       );

	$url = $eventServiceURL . "/list";

	echo callRemote($url, $params);
}

eventsList();

Sample Output:

<event>
  <eventID><![CDATA[12345]]></eventID>
  <p_eventID><![CDATA[81431272927056]]></p_eventID>
  <roomID><![CDATA[5678]]></roomID>
  <creator><![CDATA[0]]></creator>
  <date><![CDATA[2010-02-19]]></date>
  <time><![CDATA[09:00]]></time>
  <utime><![CDATA[1266570000]]></utime>
  <startdate_of_event><![CDATA[2010-02-19]]></startdate_of_event>
  <times_of_event><![CDATA[9:00]]></times_of_event>
  <eventActive2><![CDATA[1]]></eventActive2>
  <event_name><![CDATA[Example Event]]></event_name>
  <description><![CDATA[Example Event]]></description>
  <allowedToEnter><![CDATA[30]]></allowedToEnter>
  <untilToEnter><![CDATA[45]]></untilToEnter>
  <reminder1Date><![CDATA[0000-00-00]]></reminder1Date>
  <reminder2Date><![CDATA[0000-00-00]]></reminder2Date>
  <reminder1Days><![CDATA[1]]></reminder1Days>
  <reminder2Days><![CDATA[0]]></reminder2Days>
  <reminder2Hours><![CDATA[0]]></reminder2Hours>
  <accesslevel><![CDATA[20]]></accesslevel>
  <recurring><![CDATA[N]]></recurring>
  <charSet><![CDATA[UTF-8]]></charSet>
  <allowRegisterAll><![CDATA[0]]></allowRegisterAll>
  <category_id><![CDATA[0]]></category_id>
  <notifyOnRegister><![CDATA[0]]></notifyOnRegister>
  <endDate><![CDATA[0000-00-00]]></endDate>
  <recastID><![CDATA[0]]></recastID>
  <future><![CDATA[1]]></future>
  <roomname><![CDATA[room1]]></roomname>
  <price><![CDATA[10.00]]></price>
  <priceMember><![CDATA[5.00]]></priceMember>    
</event>
<event>
</event>
.
.
.

Event List by Days

This method returns a list of events from the current date to the specified number of days in the future. You can also filter by category by passing the optional parameter categoryID.

URL Call:

http://www.webinato.com/api/event/listbydays/{nDays}/{categoryID}

Input Parameters:

URL Parameters: Required:
(num) nDays - The number of days to show (example:  60 = Sixty days in the future)
Optional:
(num) categoryID - Event Category ID
POST Parameters:
Required:
(str) companyID
(str) md5Pass

Sample Code:

function eventsListByDays($nDays = 60, $categoryID = "")
{
	global $companyID, $md5Pass, $eventServiceURL;
	$params = array(
			'companyID' => $companyID,
			'md5pass' => $md5Pass
			);

	$url = $eventServiceURL . "/listbydays/$nDays/$categoryID";

	echo callRemote($url, $params);
}

eventsListByDays(60); // Returns a list of events from the current day until the next 60 days.
eventsListByDays(60, 808); // Returns a list of events from the current day until the next 60 days for category 808.

Sample Output:

nDays: the number of days to show (example: 1 = one day in the future)
categoryID: event categoryID
Example of XML result:
<event>
	<eventID><![CDATA[12345]]></eventID>
	<p_eventID><![CDATA[81431272927056]]></p_eventID>
	<accesslevel><![CDATA[20]]></accesslevel>
	<roomID><![CDATA[5678]]></roomID>
	<creator><![CDATA[0]]></creator>
	<event_name><![CDATA[Example Event]]></event_name>
	<description><![CDATA[Example Event]]></description>
	<date><![CDATA[2010-02-19]]></date>
	<time><![CDATA[09:00:00]]></time>
	<recurring><![CDATA[N]]></recurring>
	<allowedToEnter><![CDATA[30]]></allowedToEnter>
	<untilToEnter><![CDATA[45]]></untilToEnter>
	<endDate><![CDATA[0000-00-00]]></endDate>
	<clientsOnly><![CDATA[1]]></clientsOnly>
	<category_id><![CDATA[0]]></category_id>
	<hasImage><![CDATA[0]]></hasImage>
	<timeZoneName><![CDATA[US/Central]]></timeZoneName>
	<checked><![CDATA[0]]></checked>
	<price><![CDATA[10.00]]></price>
	<priceMember><![CDATA[5.00]]></priceMember>
</event>
<event>
</event>
.
.
.

Event Details

This method lists all the properties and settings for a specified event.

URL Call:

http://www.webinato.com/api/event/detail/{eventID}

Input Parameters:

POST Parameters:
Required:
(str) companyID
(str) md5Pass

Sample Code:

function eventDetails($eventID)
{
	global $companyID, $md5Pass, $eventServiceURL;
	$params = array(
			'companyID' => $companyID,
			'md5pass' => $md5Pass
			);

	$url = $eventServiceURL . "/detail/" . $eventID;

	echo callRemote($url, $params);
}

eventDetails(12345);

Sample Output:

<event>
    <future><![CDATA[0]]></future>
    <eventID><![CDATA[12345]]></eventID>
    <p_eventID><![CDATA[12345678901234]]></p_eventID>
    <roomID><![CDATA[5678]]></roomID>
    <notifyOnRegister><![CDATA[0]]></notifyOnRegister>
    <creator><![CDATA[0]]></creator>
    <date><![CDATA[03/29/2010]]></date>
    <time><![CDATA[09:15:00]]></time>
    <startdate_of_event><![CDATA[03/29/2010]]></startdate_of_event>
    <times_of_event><![CDATA[9:15]]></times_of_event>
    <eventActive2><![CDATA[1]]></eventActive2>
    <event_name><![CDATA[Regular Event]]></event_name>
    <description><![CDATA[This is an example of a regular event]]></description>
    <clientsOnly><![CDATA[1]]></clientsOnly>
    <allowedToEnter><![CDATA[30]]></allowedToEnter>
    <untilToEnter><![CDATA[45]]></untilToEnter>
    <reminder1Date><![CDATA[0000-00-00]]></reminder1Date>
    <reminder2Date><![CDATA[0000-00-00]]></reminder2Date>
    <reminder1Days><![CDATA[1]]></reminder1Days>
    <reminder2Days><![CDATA[0]]></reminder2Days>
    <reminder2Hours><![CDATA[0]]></reminder2Hours>
    <tweetHours><![CDATA[0]]></tweetHours>
    <accesslevel><![CDATA[20]]></accesslevel>
    <recurring><![CDATA[N]]></recurring>
    <charSet><![CDATA[UTF-8]]></charSet>
    <allowRegisterAll><![CDATA[0]]></allowRegisterAll>
    <category_id><![CDATA[810]]></category_id>
    <endDate><![CDATA[00/00/0000]]></endDate>
    <showLoginInfo><![CDATA[1]]></showLoginInfo>
    <recastID><![CDATA[0]]></recastID>
    <price><![CDATA[0.00]]></price>
    <priceMember><![CDATA[0.00]]></priceMember>
    <timeZoneName><![CDATA[US/Central]]></timeZoneName>
    <hasImage><![CDATA[1]]></hasImage>
    <expired><![CDATA[0]]></expired>
    <question>
        <questionID><![CDATA[19471]]></questionID>
        <eventID><![CDATA[0]]></eventID>
        <companyID><![CDATA[1843]]></companyID>
        <question><![CDATA[Telephone number]]></question>
        <questionType><![CDATA[1]]></questionType>
        <displayOrder><![CDATA[1]]></displayOrder>
        <required><![CDATA[1]]></required>
    </question>
</event>

Event Details by Public ID

This method lists all the properties and settings for a specified event using the public ID of the event.

URL Call:

http://www.webinato.com/api/event/info/{p_eventID}

Input Parameters:

URL Parameters:
Required:
(num) p_eventID: Public ID of the event - This is the long number at the end of the event link.
POST Parameters:
Required:
(str) companyID
(str) md5Pass

Sample Code:

function eventDetailsByPublicID($pEventID)
{
	global $companyID, $md5Pass, $eventServiceURL;
	$params = array(
			'companyID' => $companyID,
			'md5pass' => $md5Pass,
			);

	$url = $eventServiceURL . "/info/$pEventID";

	echo callRemote($url, $params);
}

eventDetailsByPublicID("81431272927056");

Sample Output:

<event>
    <eventID><![CDATA[67890]]></eventID>
    <p_eventID><![CDATA[81431272927056]]></p_eventID>
    <roomID><![CDATA[5678]]></roomID>
    <creator><![CDATA[0]]></creator>
    <date><![CDATA[2010-05-08]]></date>
    <time><![CDATA[09:00:00]]></time>
    <startdate_of_event><![CDATA[2010-05-08]]></startdate_of_event>
    <times_of_event><![CDATA[9:00]]></times_of_event>
    <eventActive2><![CDATA[1]]></eventActive2>
    <event_name><![CDATA[Test event]]></event_name>
    <description><![CDATA[This is a test event]]></description>
    <allowedToEnter><![CDATA[30]]></allowedToEnter>
    <untilToEnter><![CDATA[45]]></untilToEnter>
    <reminder1Date><![CDATA[0000-00-00]]></reminder1Date>
    <reminder2Date><![CDATA[0000-00-00]]></reminder2Date>
    <reminder1Days><![CDATA[1]]></reminder1Days>
    <reminder2Days><![CDATA[0]]></reminder2Days>
    <reminder2Hours><![CDATA[0]]></reminder2Hours>
    <tweetHours><![CDATA[0]]></tweetHours>
    <accesslevel><![CDATA[20]]></accesslevel>
    <recurring><![CDATA[N]]></recurring>
    <charSet><![CDATA[UTF-8]]></charSet>
    <allowRegisterAll><![CDATA[0]]></allowRegisterAll>
    <category_id><![CDATA[0]]></category_id>
    <notifyOnRegister><![CDATA[0]]></notifyOnRegister>
    <endDate><![CDATA[0000-00-00]]></endDate>
    <clientsOnly><![CDATA[1]]></clientsOnly>
    <recastID><![CDATA[0]]></recastID>
    <showLoginInfo><![CDATA[1]]></showLoginInfo>
</event>

Event Report

This method returns a report of each invitee that has registered for a specified event. The report can be returned in xml format or as a .csv file.

URL Call:

http://www.webinato.com/api/event/report/{eventID} -  Internal Event ID. This is not the public Event ID 
associated with the registration URL.
The eventID can be retrieved from the Event List function.

Input Parameters:

POST Parameters:
Required:
(str) companyID
(str) md5Pass

Sample Code:

function eventReport($eventID)
{
	global $companyID, $md5Pass, $eventServiceURL;
	$params = array(
			'companyID' => $companyID,
			'md5pass' => $md5Pass
			);

	$url = $eventServiceURL . "/report/" . $eventID;

	echo callRemote($url, $params);
}

eventReport(12345);

Sample Output:

<event>
    <registered><![CDATA[1]]></registered>
    <user>
        <id><![CDATA[8704619]]></id>
        <first_name><![CDATA[Joe]]></first_name>
        <last_name><![CDATA[Martin]]></last_name>
        <email><![CDATA[joe@martin.com]]></email>
        <event_date><![CDATA[2010-01-08 09:00:00]]></event_date>
        <registration_date><![CDATA[2010-01-18 17:20:04]]></registration_date>
        <registered><![CDATA[1]]></registered>
        <attended><![CDATA[0]]></attended>
        <paid><![CDATA[10.00]]></paid>
    </user>
    <user>
    .
    .
    .
    </user>
    .
    .
    .    
</event>

Company Info

This method returns all the properties and settings for a specified company.

URL Call:

http://www.webinato.com/api/event/company

Input Parameters:

POST Parameters:
Required:
(str) companyID
(str) md5Pass

Sample Code:

function companyInfo()
{
	global $companyID, $md5Pass, $eventServiceURL;
	$params = array(
			'companyID' => $companyID,
			'md5pass' => $md5Pass
			);

	$url = $eventServiceURL . "/company";

	echo callRemote($url, $params);
}

companyInfo();

Sample Output:

<company>
    <companyID><![CDATA[1234]]></companyID>
    <name><![CDATA[ABCD]]></name>
    <location><![CDATA[Houston,TX,US]]></location>
    <language><![CDATA[EN]]></language>
    <website><![CDATA[http://www.abcd.com]]></website>
    <shorturl><![CDATA[abcd]]></shorturl>
    <eventPeriod><![CDATA[60]]></eventPeriod>
    <defaultPub><![CDATA[1]]></defaultPub>
    <announcement><![CDATA[Welcome to the ABCD  Conference Center]]></announcement>
    <loginURL><![CDATA[http://www.abcd.com/members]]></loginURL>
    <logo2><![CDATA[0]]></logo2>
    <showArchiveLink><![CDATA[1]]></showArchiveLink>
    <paymentsEnabled><![CDATA[2]]></paymentsEnabled>
    <currentDate><![CDATA[2010-05-03]]></currentDate>
    <room>
        <roomID><![CDATA[5678]]></roomID>
        <name><![CDATA[room1]]></name>
        <timeZoneName><![CDATA[US/Central]]></timeZoneName>
    </room>
    <category>
        <id><![CDATA[810]]></id>
        <name><![CDATA[Marketing]]></name>
    </category>
    <category>
        <id><![CDATA[808]]></id>
        <name><![CDATA[Sales]]></name>
    </category>
    <category>
        <id><![CDATA[809]]></id>
        <name><![CDATA[Training]]></name>
    </category>
    <preferences>
        <callbackURL><![CDATA[http://www.abcd.com/notifyme.php]]></callbackURL>
        <groupRegistrationEnabled><![CDATA[1]]></groupRegistrationEnabled>
    </preferences>
    <paypalinfo>
        <apiUsername><![CDATA[aaaaaaaaaa]]></apiUsername>
        <apiPassword><![CDATA[bbbbbbbbbb]]></apiPassword>
        <signature><![CDATA

[cccccccccc]]

></signature>
<currency><![CDATA[USD]]></currency>
<contact><![CDATA[xyz@abcd.com]]></contact>
<environment><![CDATA[sandbox]]></environment>
</paypalinfo>
<promotionCode>
<id><![CDATA[1]]></id>
<discountAmount><![CDATA[10.00]]></discountAmount>
<discountRate><![CDATA[0.00]]></discountRate>
<code><![CDATA[10Off]]></code>
</promotionCode>
<promotionCode>
<id><![CDATA[3]]></id>
<discountAmount><![CDATA[0.00]]></discountAmount>
<discountRate><![CDATA[100.00]]></discountRate>
<code><![CDATA[100PercentOff]]></code>
</promotionCode>
</company>

You may not use the event API to send any unsolicited emails. By using the API, you agree to only generate emails to recipients who have explicitly requested to attend your webinars and/or meetings.