This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, visit https://wso2.com/documentation/.

Working with Registrants in GoToWebinar



Overview

The following operations allow you to work with registrants. Click an operation name to see details on how to use it.

For a sample proxy service that illustrates how to work with registrants, see Sample configuration

OperationDescription

createRegistrant

Registers an attendee for a webinar.

getRegistrantByIdRetrieves registration details for a specific registrant.
listRegistrantsRetrieves registration details for all registrants.
getRegistrationFieldsRetrieves required and optional registration, and custom questions for a specified webinar.
deleteRegistrantRemoves a webinar registrant from current registrations for the specified webinar. The webinar must be a scheduled and future webinar.

Operation details

This section provides further details on the operations related to registrants.

Related GoToWebinar documentation

https://developer.citrixonline.com/content/gotowebinar-api-reference

Registering an attendee

The createRegistrant operation registers an attendee for a scheduled webinar.

createRegistrant
 <gotowebinar.createRegistrant>
    <lastName>{$ctx:lastName}</lastName>
    <phone>{$ctx:phone}</phone>
    <purchasingTimeFrame>{$ctx:purchasingTimeFrame}</purchasingTimeFrame>
    <questionsAndComments>{$ctx:questionsAndComments}</questionsAndComments>
    <status>{$ctx:status}</status>
    <state>{$ctx:state}</state>
    <timeZone>{$ctx:timeZone}</timeZone>
    <responses>{$ctx:responses}</responses>
    <city>{$ctx:city}</city>
    <country>{$ctx:country}</country>
    <organization>{$ctx:organization}</organization>
    <email>{$ctx:email}</email>
    <address>{$ctx:address}</address>
    <roleInPurchaseProcess>{$ctx:roleInPurchaseProcess}</roleInPurchaseProcess>
    <zipCode>{$ctx:zipCode}</zipCode>
    <webinarKey>{$ctx:webinarKey}</webinarKey>
    <numberOfEmployees>{$ctx:numberOfEmployees}</numberOfEmployees>
    <firstName>{$ctx:firstName}</firstName>
    <industry>{$ctx:industry}</industry>
	<jobTitle>{$ctx:jobTitle}</jobTitle>
</gotowebinar.createRegistrant>
Properties
  • lastName: Required - The last name of the registrant.
  • phone: The phone number of the registrant.
  • purchasingTimeFrame: The time frame for purchasing.
  • questionsAndComments: Questions and comments for the registrant.
  • status: The status of the registrant.
  • state: The state of the registrant.
  • timeZone: The registrant's time zone.
  • responses: Responses for the questions and comments.
  • city: The city of the registrant.
  • country: The country of the registrant.
  • organization: The registrant's work organization.
  • email: Required - The e-mail of the registrant.
  • address: The address of the registrant.
  • roleInPurchaseProcess: The role in the purchase process.
  • zipCode: The zip code of the registrant
  • webinarKey: The unique numeric key of the webinar.
  • numberOfEmployees: The number of employees in the registrant's organization.
  • firstName: Required - The first name of the registrant.
  • industry: The registrant's work industry.
  • jobTitle: The registrant's job title
Sample request

Following is a sample REST/JSON request that can be handled by the  createRegistrant  operation.

Sample Request for createRegistrant
{
    "apiUrl":"https://api.citrixonline.com",
    "accessToken":"UEGGrwswKRwB07lTOr0EoppdaxKo",
    "organizerKey":"3697511743350317068",
    "clientId":"IJfcaqp3xC034WXD1GGlstejnJS41huo",
    "refreshToken":"MDAKxJTJ3cAdhuzavhtOFNAmV5N0m7gm",
	"webinarKey":"8914306278265075970",
	"firstName":"James",
	"lastName":"Goslin",
	"email":"samliyanage@gmail.com",
	"phone":"0716903611",
	"purchasingTimeFrame":"1-3 months",
	"questionsAndComments":"Questions and Comments API",
	"status":"APPROVED",
	"state":"western",
	"timeZone":"America/Los_Angeles",
	"responses":[
		{
			"questionKey": 2001253362463398401,
			"responseText": "ms"
		}
	],
	"city":"Colombo",
	"country":"Sri Lanka",
	"organization":"virtusa",
	"address":"Colombo 09",
	"roleInPurchaseProcess":"Not involved",
	"zipCode":"99999-8888",
	"numberOfEmployees":"1-20",
	"industry":"Software - Other",
	"jobTitle":"Marketing Tech"
}

Retrieving registration details for a specific registrant

The getRegistrantById  operation retrieves registration details for a specific registrant.

getRegistrantById
<gotowebinar.getRegistrantById>
	<webinarKey>{$ctx:webinarKey}</webinarKey>
	<registrantKey>{$ctx:registrantKey}</registrantKey>
</gotowebinar.getRegistrantById>
Properties
  • webinarKey: Required - The unique webinar key to retrieve the individual webinar details.
  • registrantKey: Required - The unique registrant key to retrieve the individual registrant details from a webinar.
Sample request

Following is a sample REST/JSON request that can be handled by the getRegistrantById  operation.

Sample Request for getRegistrantById
{
    "apiUrl":"https://api.citrixonline.com",
    "accessToken":"UEGGrwswKRwB07lTOr0EoppdaxKo",
    "organizerKey":"3697511743350317068",
    "clientId":"IJfcaqp3xC034WXD1GGlstejnJS41huo",
    "refreshToken":"MDAKxJTJ3cAdhuzavhtOFNAmV5N0m7gm",
	"webinarKey":"6737864792526581506",
	"registrantKey":"573616678632992257"
}

Retrieving registration details for all registrants

The  listRegistrants operation retrieves registration details for all registrants of a specific webinar. 

listRegistrants
<gotowebinar.listRegistrants>
	<webinarKey>{$ctx:webinarKey}</webinarKey>
</gotowebinar.listRegistrants>
Properties
  • webinarKey: Required - The unique webinar key to retrieve the individual webinar details.
Sample request

Following is a sample REST/JSON request that can be handled by the  listRegistrants operation.

Sample Request for listRegistrants
{
    "apiUrl":"https://api.citrixonline.com",
    "accessToken":"UEGGrwswKRwB07lTOr0EoppdaxKo",
    "organizerKey":"3697511743350317068",
    "clientId":"IJfcaqp3xC034WXD1GGlstejnJS41huo",
    "refreshToken":"MDAKxJTJ3cAdhuzavhtOFNAmV5N0m7gm",
	"webinarKey":"6737864792526581506"
}

Retrieving registration fields

The getRegistrationFields operation retrieves required, optional registration, and custom questions for a specified webinar. 

getRegistrationFields
<gotowebinar.getRegistrationFields>
    <webinarKey>{$ctx:webinarKey}</webinarKey>
</gotowebinar.getRegistrationFields>
Properties
  • webinarKey: Required - The unique webinar key to retrieve the individual webinar details.
Sample request

Following is a sample REST/JSON request that can be handled by the  getRegistrationFields operation.

Sample Request for getRegistrationFields
{
    "apiUrl":"https://api.citrixonline.com",
    "accessToken":"UEGGrwswKRwB07lTOr0EoppdaxKo",
    "organizerKey":"3697511743350317068",
    "clientId":"IJfcaqp3xC034WXD1GGlstejnJS41huo",
    "refreshToken":"MDAKxJTJ3cAdhuzavhtOFNAmV5N0m7gm",
	"webinarKey":"6737864792526581506"
}

Removing a registrant from a future webinar

The deleteRegistrant operation removes a webinar registrant from current registrations for the specified upcoming webinar.

deleteRegistrant
<gotowebinar.deleteRegistrant>
    <webinarKey>{$ctx:webinarKey}</webinarKey>
    <registrantKey>{$ctx:registrantKey}</registrantKey>
</gotowebinar.deleteRegistrant>
Properties
  • webinarKey   : Required - The unique webinar key to retrieve the individual webinar details.
  • registrantKey: Required - The unique registrant key to retrieve the individual registrant details.
Sample request

Following is a sample REST/JSON request that can be handled by the  deleteRegistrant operation.

Sample Request for deleteRegistrant
{
    "apiUrl":"https://api.citrixonline.com",
    "accessToken":"UEGGrwswKRwB07lTOr0EoppdaxKo",
    "organizerKey":"3697511743350317068",
    "clientId":"IJfcaqp3xC034WXD1GGlstejnJS41huo",
    "refreshToken":"MDAKxJTJ3cAdhuzavhtOFNAmV5N0m7gm",
	"webinarKey":"2458336850084791299",
    "registrantKey":"3516094524079262721"
}

Sample configuration

Following is a sample proxy service that illustrates how to connect to GoToWebinar with the init operation and use the createRegistrant operation. The sample request for this proxy can be found in the  createRegistrant sample request. You can use this sample as a template for using other operations in this category.

Sample Proxy
	<proxy xmlns="http://ws.apache.org/ns/synapse" name="gotowebinar_createRegistrant" transports="https,http" statistics="disable" trace="disable" startOnLoad="true">
	 <target>
	 <inSequence>
      <property name="accessToken" expression="json-eval($.accessToken)"/>
      <property name="organizerKey" expression="json-eval($.organizerKey)"/>
      <property name="apiUrl" expression="json-eval($.apiUrl)"/>
      <property name="refreshToken" expression="json-eval($.refreshToken)"/>
      <property name="clientId" expression="json-eval($.clientId)"/>
      <property name="registryPath" expression="json-eval($.registryPath)"/>
      <property name="intervalTime" expression="json-eval($.intervalTime)"/>
      <property name="lastName" expression="json-eval($.lastName)"/>
      <property name="phone" expression="json-eval($.phone)"/>
      <property name="purchasingTimeFrame" expression="json-eval($.purchasingTimeFrame)"/>
      <property name="questionsAndComments" expression="json-eval($.questionsAndComments)"/>
      <property name="status" expression="json-eval($.status)"/>
      <property name="state" expression="json-eval($.state)"/>
      <property name="timeZone" expression="json-eval($.timeZone)"/>
      <property name="responses" expression="json-eval($.responses)"/>
      <property name="city" expression="json-eval($.city)"/>
      <property name="country" expression="json-eval($.country)"/>
      <property name="organization" expression="json-eval($.organization)"/>
      <property name="email" expression="json-eval($.email)"/>
      <property name="address" expression="json-eval($.address)"/>
      <property name="roleInPurchaseProcess" expression="json-eval($.roleInPurchaseProcess)"/>
      <property name="zipCode" expression="json-eval($.zipCode)"/>
      <property name="webinarKey" expression="json-eval($.webinarKey)"/>
      <property name="numberOfEmployees" expression="json-eval($.numberOfEmployees)"/>
      <property name="firstName" expression="json-eval($.firstName)"/>
      <property name="industry" expression="json-eval($.industry)"/>
      <property name="jobTitle" expression="json-eval($.jobTitle)"/>
      <gotowebinar.init>
         <accessToken>{$ctx:accessToken}</accessToken>
         <organizerKey>{$ctx:organizerKey}</organizerKey>
         <apiUrl>{$ctx:apiUrl}</apiUrl>
         <refreshToken>{$ctx:refreshToken}</refreshToken>
         <clientId>{$ctx:clientId}</clientId>
         <registryPath>{$ctx:registryPath}</registryPath>
         <intervalTime>{$ctx:intervalTime}</intervalTime>
      </gotowebinar.init>
      <gotowebinar.createRegistrant>
         <lastName>{$ctx:lastName}</lastName>
         <phone>{$ctx:phone}</phone>
         <purchasingTimeFrame>{$ctx:purchasingTimeFrame}</purchasingTimeFrame>
         <questionsAndComments>{$ctx:questionsAndComments}</questionsAndComments>
         <status>{$ctx:status}</status>
         <state>{$ctx:state}</state>
         <timeZone>{$ctx:timeZone}</timeZone>
         <responses>{$ctx:responses}</responses>
         <city>{$ctx:city}</city>
         <country>{$ctx:country}</country>
         <organization>{$ctx:organization}</organization>
         <email>{$ctx:email}</email>
         <address>{$ctx:address}</address>
         <roleInPurchaseProcess>{$ctx:roleInPurchaseProcess}</roleInPurchaseProcess>
         <zipCode>{$ctx:zipCode}</zipCode>
         <webinarKey>{$ctx:webinarKey}</webinarKey>
         <numberOfEmployees>{$ctx:numberOfEmployees}</numberOfEmployees>
         <firstName>{$ctx:firstName}</firstName>
         <industry>{$ctx:industry}</industry>
         <jobTitle>{$ctx:jobTitle}</jobTitle>
      </gotowebinar.createRegistrant>
	   <respond/>
	 </inSequence>
	  <outSequence>
	   <send/>
	  </outSequence>
	 </target>
   <description/>
  </proxy>