Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I use the WebEx URL/XML API to register a user for an event?

Tags:

php

curl

api

webex

I'm working on a website for a client where users can sign up for events. Now the client wants to integrate WebEx and automatically register users to WebEx events after they signed up for the event on our site and paid for it an all.

I checked out their API and I could not find a way to do this:

With the XML API I can get a list of available events and even create a new user, but I cannot register a user for an event.

With the URL API I can login a user (that I created before using the XML API) but I cannot register a user for an event, there simply is no function for that. There's an "Enroll Event" function, but that one is for meetings and doesn't take a user's ID as a parameter, but rather its first/last name and email address.

Anyone ever tried this before? I'm at a loss here and got no idea what else I could try.

like image 620
David Behler Avatar asked Mar 13 '12 10:03

David Behler


1 Answers

Since this was asked in March, you probably aren't still looking for an answer, but this might help others down the line.

If you have a form on your website that a user fills out to enroll in a WebEx Event, you can "POST" that form data to WebEx using the URL API and this event's meeting key. To find the meeting key, log in to WebEx as a host and go to Host an Event -> Site Events and click on your event. The Event Number is your meeting key, minus any white space.

When a user submits the form, you will need to construct a WebEx-readable URL. This generally looks like the following: https://yourcompany.webex.com/yourcompany/m.php?AT=EN, and should be placed as the form's action.

You use m.php to use the meetings API commands and append the AT parameter to initiate WebEx commands. The EN means you want to add an attendee to an event. You then name the form input fields on your site using the command definitions for things like first name (FN), last name (LN), email (AE), company (CO), etc. A list of attributes can be found in the WebEx URL API documentation on page 2-152. Your attributes should match what you require the user to input on the WebEx form in its options. You also need to include a hidden field with your meeting key, like so:

<input type="hidden" name="MK" value="123456789" />

This is so, when you post the form, the MK value gets included as a form parameter. Your request will fail without the specific meeting key value for the event you're trying to add people to.

If you want to direct people to a thank you page, or what have you, after they sign up, you'll need to include another hidden field with a back url that redirects a user somewhere after the form is submitted:

<input type="hidden" name="BU" value="http://www.yourcompany.com/events/thanks.html" />

You should also, of course, add some form handling to make sure the user entered a valid email, etc. You might also want to include some WebEx validation, as, when WebEx redirects the user to the back URL, it includes a parameter stating whether it failed or succeeded and explains why. This is appended like so: http://www.yourcompany.com/events/thanks.html?AT=EN&ST=SUCCESS&EI=123456, or something similar, where ST is the status of the command and EI is the user's event registration ID. You can then check to see that the user registered successfully, or if the meeting key was invalid or if the user is already registered at this email address and so wasn't re-registered.

A note about this is that the WebEx URL API currently doesn't support events that are created as part of a program, where a program is a WebEx theme that can be applied to multiple events and is an optional field you can apply when setting up a WebEx event. Using the XML API can work around this, though.

Hope this helps others and maybe David, too, if he's still searching for an answer.

like image 162
Justin McCraw Avatar answered Sep 30 '22 04:09

Justin McCraw