NAV
.NET (C#) PHP

Introduction

Welcome to the Streampoint API Documentation!

Use the documentation on this site to learn how to implement services to pull registration data from the Streampoint system. Information on attendee, exhibitor and speaker registrations are available to be requested. Currently, our API offers read-only access to the system.

To date, we provide language bindings in C# only. You will find code samples to the right and can switch between languages using the tabs at the top as they become available. Please note that all code snippets provided are for reference and illustration purposes only. They are to show you how to format requests and what kind of data to expect in return. Simply using the code as is may not work out of the box.

If you have any questions, feel free to contact us at api@streampoint.com

Getting Started

Streampoint offers REST access to our systems through two endpoints. Each environment is given separate credentials, use the appropriate keys to access the test and production environments accordingly. To get started today, please contact api@streampoint.com to request a developer account.

UAT (Testing) Environment:

REST: https://apireststaging.streampoint.com/v1/personal.svc

Production Environment:

REST: https://apirest.streampoint.com/v1/personal.svc

Authentication

Authentication to the API is made using HTTP Basic Auth. Every request your application makes to the Streampoint API must include your API keys for authentication.

REST Authentication

const string token = "TOKEN GOES HERE";
const string baseUrl = "https://apireststaging.streampoint.com/v1/personal.svc";
const string dataPullEndpoint = "DATA ENDPOINT GOES HERE";

var pullRequest = (HttpWebRequest)WebRequest.Create(baseUrl + dataPullEndpoint);
pullRequest.Method = "GET";
pullRequest.ContentType = "application/json";
pullRequest.KeepAlive = false;
pullRequest.Timeout = 3600000;
pullRequest.Headers.Add("x-auth-token", token);
const token = "TOKEN GOES HERE";
const baseUrl = "https://apireststaging.streampoint.com/v1/personal.svc";
const dataPullEndpoint = "DATA ENDPOINT GOES HERE";

pullRequest = curl_init(baseUrl . dataPullEndpoint); 
curl_setopt($pullRequest, CURLOPT_HTTPGET, true);
$header = array();
$header[] = "Content-type: application/json";
$header[] = "x-auth-token: " . token;
curl_setopt($pullRequest, CURLOPT_HTTPHEADER, $header);
curl_setopt($pullRequest, CURLOPT_FORBID_REUSE, true);
curl_setopt($pullRequest, CURLOPT_TIMEOUT, 3600);
curl_setopt($pullRequest, CURLOPT_RETURNTRANSFER, true);

Using this implementation, you will need to authenticate by providing an authorization token.

Please refer to the code sample to the right.

Country

The country field that is found in the registrant’s personal address information.

Properties

Field Type Description
Code string Country abbreviation
CountryID integer Unique identifier
Name string Country full name
Order integer Order in which to appear in the country list

Get List of Countries

REST Request Example

public void GetCountryListExample()
{
    const string token = "TOKEN GOES HERE";
    const string baseUrl = "https://apireststaging.streampoint.com/v1/personal.svc";
    const string dataPullEndpoint = "/event/countries";



    var pullRequest = (HttpWebRequest)WebRequest.Create(baseUrl + dataPullEndpoint);

    pullRequest.Method = "GET";
    pullRequest.ContentType = "application/json";
    pullRequest.KeepAlive = false;
    pullRequest.Timeout = 50000;
    pullRequest.Headers.Add("x-auth-token", token);

    var pullResponse = (HttpWebResponse)pullRequest.GetResponse();
    var reader = new StreamReader(pullResponse.GetResponseStream(), Encoding.UTF8);

    //De-serialize the JSON data into useful objects

    var ser = new DataContractJsonSerializer(typeof(List<Country>));

    var results = (List<Country>)ser.ReadObject(reader.BaseStream);
    //At this point results contains the data set


}

function getCountryListExample() 
{
    const token = "TOKEN GOES HERE";
    const baseUrl = "https://apireststaging.streampoint.com/v1/personal.svc";
    const dataPullEndpoint = "/event/countries";

    $pullRequest = curl_init(baseUrl . dataPullEndpoint); 
    curl_setopt($pullRequest, CURLOPT_HTTPGET, true);
    $header = array();
    $header[] = "Content-type: application/json";
    $header[] = "x-auth-token: " . token;

    curl_setopt($pullRequest, CURLOPT_HTTPHEADER, $header);
    curl_setopt($pullRequest, CURLOPT_FORBID_REUSE, true);
    curl_setopt($pullRequest, CURLOPT_TIMEOUT, 3600);
    curl_setopt($pullRequest, CURLOPT_RETURNTRANSFER, true);

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

    //De-serialize the JSON data into useful objects
    $results = json_decode($response);

    //At this point results contains the data set
    print_r($results);
}

REST Response Output

[
    {
        "Code": "US",
        "CountryID": 2,
        "Name": "United States",
        "Order": 10
    },
    {
        "Code": "CA",
        "CountryID": 1,
        "Name": "Canada",
        "Order": 20
    }

]

There are some Streampoint objects and methods that reference countries based on the unique id rather than name. Use this method for retrieving the entire look up list of an event’s country options.

Returns

A list of Country objects

Exhibitor

The exhibitor objects allow you to retrieve information associated with an exhibitor’s registration details. You can access their company contact information, their booth details and which industry category they belong to.

Properties

Field Type Description
Address1 string Address 1 of the exhibiting company
Address2 string Address 2 of the exhibiting company
BoothNumber string booth number or booth code on the show floor
Category string exhibitor category name
City string city of the exhibiting company
Country string country name of the exhibiting company
Description string exhibiting company description
Email string exhibiting company’s main contact email address
ExUID guid unique identifier of the exhibitor
Facebook string link to company’s Facebook site
ImageUID string unique id for company logo file
LinkedIn string link to company’s LinkedIn profile
Name string exhibiting company name
Phone string company phone number
Sponsor boolean indicates if exhibitor is also a sponsor
State string state or province of the exhibiting company
Twitter string company Twitter handle
Website string company website url

Get Exhibitors

REST Request Example

public void GetExhibitorsExample()
{
    const string token = "TOKEN GOES HERE";
    const string baseUrl = "https://apireststaging.streampoint.com/v1/personal.svc";
    const string dataPullEndpoint = "/exhibitors/list";

    var pullRequest = (HttpWebRequest)WebRequest.Create(baseUrl + dataPullEndpoint);

    pullRequest.Method = "GET";
    pullRequest.ContentType = "application/json";
    pullRequest.KeepAlive = false;
    pullRequest.Timeout = 50000;
    pullRequest.Headers.Add("x-auth-token", token);

    var pullResponse = (HttpWebResponse)pullRequest.GetResponse();
    var reader = new StreamReader(pullResponse.GetResponseStream(), Encoding.UTF8);

    //De-serialize the JSON data into useful objects

    var ser = new DataContractJsonSerializer(typeof(List<Exhibitor>));

    var results = (List<Exhibitor>)ser.ReadObject(reader.BaseStream);
    //At this point results contains the data set
}
function getExhibitorListExample() 
{
    const token = "TOKEN GOES HERE";
    const baseUrl = "https://apireststaging.streampoint.com/v1/personal.svc";
    const dataPullEndpoint = "/exhibitors/list";

    $pullRequest = curl_init(baseUrl . dataPullEndpoint); 
    curl_setopt($pullRequest, CURLOPT_HTTPGET, true);
    $header = array();
    $header[] = "Content-type: application/json";
    $header[] = "x-auth-token: " . token;

    curl_setopt($pullRequest, CURLOPT_HTTPHEADER, $header);
    curl_setopt($pullRequest, CURLOPT_FORBID_REUSE, true);
    curl_setopt($pullRequest, CURLOPT_TIMEOUT, 3600);
    curl_setopt($pullRequest, CURLOPT_RETURNTRANSFER, true);

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

    //De-serialize the JSON data into useful objects
    $results = json_decode($response);

    //At this point results contains the data set
    print_r($results);
}

REST Response Output in JSON

[
    {
        "Address1": null,
        "Address2": null,
        "BoothNumber": "200",
        "Category": "HR Management Consultants",
        "City": null,
        "Country": null,
        "Description": "National experts in 360 degree feedback, employee engagement, and leadership development, 3D Group supports organizations of all sizes with flexible, easy-to-use assessment solutions. Whether using our Leadership Navigator® suite of 360 Degree Feedback surveys or customized tools, our consultants tailor every solution to fit the unique needs of each client.",
        "Email": null,
        "ExUID": "3196c857-e4b1-40e3-a97b-26849751f408",
        "Facebook": null,
        "ImageUID": "227D69C8-6fD1-4928-9240-971239E6E34E",
        "LinkedIn": null,
        "Name": "3D Group",
        "Phone": null,
        "Sponsor": false,
        "State": null,
        "Twitter": null,
        "Website": "http://www.3dgroup.net"
    },
    {
        "Address1": null,
        "Address2": null,
        "BoothNumber": "312",
        "Category": "Recruiting, Staffing & Search",
        "City": null,
        "Country": null,
        "Description": "ADP’s Talent Acquisition Solutions offers companies the most comprehensive talent acquisition services in the industry.  Our client teams have extensive experience delivering recruitment process outsourcing, AIRS® recruiter training, background screening, substance abuse testing, I-9/E-verify services, and other recruitment technology.  For more information visit www.adp.com.",
        "Email": null,
        "ExUID": "d2380ee2-e34b-47f4-ab52-01b1d1165da3",
        "Facebook": null,
        "ImageUID": "26DACC3F-FCB1-404A-A97D-7079A2195C6D",
        "LinkedIn": null,
        "Name": "ADP",
        "Phone": null,
        "Sponsor": false,
        "State": null,
        "Twitter": null,
        "Website": "http://www.adp.com/RPO"
    }

]

Returns a list of exhibitors, optionally filtered by request parameters.

Request Parameters

Field Type Description Required
searchNameNum string filter exhibitors by searching by name or number false
searchDesc string filter exhibitors by searching description false
category string category to filter exhibitors by, see GetExhibitorCategories() false
provStateID integer province or state id to filter exhibitors by, see GetProvStateList() false
countryID integer country id to filter exhibitors by, see GetCountryList() false
sponsor boolean if true only returns exhibitors who are also sponsors false
startLetter string filter based on the first letter of name false

Returns

A list of Exhibitor objects

Get Exhibitor Details

REST Request Example

public void GetExhibitorDetailsExample()
{
    const string token = "TOKEN GOES HERE";
    const string baseUrl = "https://apireststaging.streampoint.com/v1/personal.svc";
    const string dataPullEndpoint = "/exhibitors/details";

    string parameters = "?exUID=" + "631F3D72-0C4D-4992-83DC-94E0C2D54911";

    var pullRequest = (HttpWebRequest)WebRequest.Create(baseUrl + dataPullEndpoint + parameters);

    pullRequest.Method = "GET";
    pullRequest.ContentType = "application/json";
    pullRequest.KeepAlive = false;
    pullRequest.Timeout = 50000;
    pullRequest.Headers.Add("x-auth-token", token);

    var pullResponse = (HttpWebResponse)pullRequest.GetResponse();
    var reader = new StreamReader(pullResponse.GetResponseStream(), Encoding.UTF8);

    //De-serialize the JSON data into useful objects

    var ser = new DataContractJsonSerializer(typeof(List<Exhibitor>));

    var results = (List<Exhibitor>)ser.ReadObject(reader.BaseStream);
    //At this point results contains the data set
}
function getExhibitorDetailsExample() 
{
    const token = "TOKEN GOES HERE";
    const baseUrl = "https://apireststaging.streampoint.com/v1/personal.svc";
    const dataPullEndpoint = "/exhibitors/details";

    const parameters = "?exUID=" . "fe6eb536-bc1b-407f-a2c5-180c1aff02b2";

    $pullRequest = curl_init(baseUrl . dataPullEndpoint . parameters); 
    curl_setopt($pullRequest, CURLOPT_HTTPGET, true);
    $header = array();
    $header[] = "Content-type: application/json";
    $header[] = "x-auth-token: " . token;

    curl_setopt($pullRequest, CURLOPT_HTTPHEADER, $header);
    curl_setopt($pullRequest, CURLOPT_FORBID_REUSE, true);
    curl_setopt($pullRequest, CURLOPT_TIMEOUT, 3600);
    curl_setopt($pullRequest, CURLOPT_RETURNTRANSFER, true);

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

    //De-serialize the JSON data into useful objects
    $results = json_decode($response);

    //At this point results contains the data set
    print_r($results);
}

REST Response Output in JSON

{
    "Address1": "2000 Powell St.",
    "Address2": "Suite 970",
    "BoothNumber": "200",
    "Category": "HR Management Consultants",
    "City": "Emeryville",
    "Country": "United States",
    "Description": "National experts in 360 degree feedback, employee engagement, and leadership development, 3D Group supports organizations of all sizes with flexible, easy-to-use assessment solutions. Whether using our Leadership Navigator® suite of 360 Degree Feedback surveys or customized tools, our consultants tailor every solution to fit the unique needs of each client.",
    "Email": "hidden@hidden.com",
    "ExUID": "631F3D72-0C4D-4992-83DC-94E0C2D54911",
    "Facebook": "https://www.facebook.com/360feedback",
    "ImageUID": "227D69C8-67D1-4928-9240-971239E6E34E",
    "LinkedIn": "http://www.linkedin.com/company/3d-group",
    "Name": "3D Group",
    "Phone": "333-333-3333",
    "Sponsor": false,
    "State": "California ",
    "Twitter": "https://twitter.com/3DGroup",
    "Website": "http://www.3dgroup.net"
}

Returns information about a specific exhibitor.

Request Parameters

Field Type Description Required
ExUID string Exhibitor unique id true

Returns

An Exhibitor object

Get Exhibitor Categories

REST Request Example

public void GetExhibitorCategoriesExample()
{
    const string token = "TOKEN GOES HERE";
    const string baseUrl = "https://apireststaging.streampoint.com/v1/personal.svc";
    const string dataPullEndpoint = "/exhibitors/categories";

    var pullRequest = (HttpWebRequest)WebRequest.Create(baseUrl + dataPullEndpoint);

    pullRequest.Method = "GET";
    pullRequest.ContentType = "application/json";
    pullRequest.KeepAlive = false;
    pullRequest.Timeout = 50000;
    pullRequest.Headers.Add("x-auth-token", token);

    var pullResponse = (HttpWebResponse)pullRequest.GetResponse();
    var reader = new StreamReader(pullResponse.GetResponseStream(), Encoding.UTF8);

    //De-serialize the JSON data into useful objects

    var ser = new DataContractJsonSerializer(typeof(List<ExhibitorCategory>));

    var results = (List<ExhibitorCategory>)ser.ReadObject(reader.BaseStream);
    //At this point results contains the data set
}
function getExhibitorCategoriesExample()
{
    const token = "TOKEN GOES HERE";
    const baseUrl = "https://apireststaging.streampoint.com/v1/personal.svc";
    const dataPullEndpoint = "/exhibitors/categories";

    $pullRequest = curl_init(baseUrl . dataPullEndpoint); 
    curl_setopt($pullRequest, CURLOPT_HTTPGET, true);
    $header = array();
    $header[] = "Content-type: application/json";
    $header[] = "x-auth-token: " . token;

    curl_setopt($pullRequest, CURLOPT_HTTPHEADER, $header);
    curl_setopt($pullRequest, CURLOPT_FORBID_REUSE, true);
    curl_setopt($pullRequest, CURLOPT_TIMEOUT, 3600);
    curl_setopt($pullRequest, CURLOPT_RETURNTRANSFER, true);

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

    //De-serialize the JSON data into useful objects
    $results = json_decode($response);

    //At this point results contains the data set
    print_r($results);
}

REST Response Output in JSON

[
    {
        "CategoryUID": "6dde2169-9d25-4591-9c47-be77b364f84a",
        "Name": "Advertising & Promotional Products"
    }
]

Exhibiting companies may often be grouped or assigned into categories. If applicable, you can retrieve the complete list of categories for the event.

Returns

A list of exhibitor booth categories

Payment

Stores payment transaction information for a person. A payment can be made using credit card, check, bank transfer, cash or purchase order. All payments are grouped which means a registrant can pay for themselves and their guests with a single transaction.

Properties

Field Type Description
Amount decimal Settled amount
AuthNum string Authorization code from the credit card issuer for an approved transaction
CCType string Type of credit card (i.e. Visa, Master Card, American Express, Discover)
CheckNumber string Check number if paid by check
DateChequeReceived string Date when the check was received
DateOnCheque string Date written on the check
DateTimeStamp string Time stamp of when the transaction was recorded
Last4 string Last 4 digits of a credit card
Message string Administrative notes
Name string Name on credit card
OrderID string Group payment id, the transaction’s unique identifier
PaymentId integer Individual payment id
PaymentType PaymentType The type of payment (credit card, check, transfer, cash, purchase order etc ..)
PPIDCommittedBy guid PPID of the person who committed the transaction (can be the actual registrant or administrator)
PPIDFrom guid PPID of the person’s account in which the payment was made from
PPIDTo guid PPID of the person’s account to which the payment was made towards
Status string Payment status (Approved, Declined, Pending)

PaymentType

A payment type can be in the form of a credit card, check, cash, bank transfer or purchase order

Properties

Field Type Description
PaymentTypeId integer Unique ID of the payment type
Name string Name of the payment type: Credit Card, Check, Bank Transfer, Cash, Purchase Order
PublicActive boolean If true, payment type is available to any public registrant
AdminActive boolean If true, payment type is available to any administration user

Person

This is an object that represents a single registrant.

Properties

Field Type Description
Address1 string Street address, P.O. box
Address2 string Apartment, suite, unit, floor etc.
AlternateEmail string Secondary email address
Association string Company / Organization
BadgeID string An optional field that can be displayed on a badge
BadgeName string An optional field that can be displayed on a badge
City string Address city
ConfirmationNumber string Person’s unique identifier
Country string Address country
Demographics list of Question objects List of all demographic answer data
Email string Primary email address
Fax string Fax number
FirstName string First name
Guests list of Person objects List of all guests registered under this person
LastName string Last name
LastModified string Date of when personal information was last edited
Membershipcode string Membership ID if applicable
Payments list of Payment objects List of all payment transactions
Phone string Phone
PPID string Person’s unique identifier in the form of a guid. It is used in referencing payment information.
Prefix string Prefix
ProvState string Province or State if applicable
Questions list of question answer values List of all question and answer data (legacy field)
RegType RegistrationType object A person’s registration type
Seminars list of Seminar objects A list of sessions, workshops or products registered by the person
Tags list of tag values A list of status tags assigned to the person
Title string Job title
Zip string Address zip

Authenticate Person

REST Request Example

public void AutenticatePersonExample()
{
    const string token = "TOKEN GOES HERE";
    const string baseUrl = "https://apireststaging.streampoint.com/v1/personal.svc";
    const string authenticatePersonEndpoint = "/login/authenticatePerson";
    string username = "testuser123@test.streampoint.com";
    string password = "Password123";
    string eventGuid = "1E55D1E7-7714-4A2B-B9D1-A2C0DBA97D07";

    var pullRequest = (HttpWebRequest)WebRequest.Create(baseUrl + authenticatePersonEndpoint + "?username="+ username +"&password=" + password + "&eventGUIDin=" + eventGuid);
    pullRequest.Method = "GET";
    pullRequest.ContentType = "application/json";
    pullRequest.KeepAlive = false;
    pullRequest.Timeout = 500000;
    pullRequest.Headers.Add("x-auth-token", token);


}
function authenticatePersonExample()
{
    const token = "TOKEN GOES HERE";
    const baseUrl = "https://apireststaging.streampoint.com/v1/personal.svc";
    const authenticatePersonEndpoint = "/login/authenticatePerson";

    const username = "testuser123@test.streampoint.com";
    const password = "Password123";
    const eventGuid = "1E55D1E7-7714-4A2B-B9D1-A2C0DBA97D07";

    $pullRequest = curl_init(baseUrl . authenticatePersonEndpoint . "?username=" . username  . "&password=" . password . "&eventGUIDin=" . eventGuid);
    curl_setopt($pullRequest, CURLOPT_HTTPGET, true);
    $header = array();
    $header[] = "Content-type: application/json";
    $header[] = "x-auth-token: " . token;

    curl_setopt($pullRequest, CURLOPT_HTTPHEADER, $header);
    curl_setopt($pullRequest, CURLOPT_FORBID_REUSE, true);
    curl_setopt($pullRequest, CURLOPT_TIMEOUT, 3600);
    curl_setopt($pullRequest, CURLOPT_RETURNTRANSFER, true);

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

    //De-serialize the JSON data into useful objects
    $results = json_decode($response);

    //At this point results contains the data set
    print_r($results);
}

REST Response Output

{
    "ConfirmationId":"1234567-987",
    "FirstName":"John",
    "IsAuthenticated":true,
    "LastName":"Smith",
    "ReturnMessage":"success",
    "UserEmail":"testuser123@test.streampoint.com"
}

Authenticates if the person has a valid registration account in the Streampoint system.

Request Parameters

Field Type Description Required
usernname string Streampoint user account email true
password string Streampoint user account password true
eventguid string Event ID field in the Streampoint registration system true

Returns

Field Type Description
ConfirmationId string Person’s unique identifier
FirstName string First name of the person
IsAuthenticated boolean true or false if the person was successfully authenticated
LastName string Last name of the person
ReturnMessage string If authenticated is true - “success”, if false - “unable to validate user”
UserEmail string The person’s account email

Authenticate Person By Unique Code

REST Request Example

public void AutenticatePersonByUniqueCodeExample()
{
    const string token = "TOKEN GOES HERE";
    const string baseUrl = "https://apireststaging.streampoint.com/v1/personal.svc";
    const string authenticatePersonEndpoint = "/login/authenticatePersonByUniqueCode";
    string uniqueCode = "XXXXXXXXXXXX";
    string eventGuid = "1E55D1E7-7714-4A2B-B9D1-A2C0DBA97D07";

    var pullRequest = (HttpWebRequest)WebRequest.Create(baseUrl + authenticatePersonEndpoint + "?uniqueCode="+ uniqueCode + "&eventGUIDin=" + eventGuid);
    pullRequest.Method = "GET";
    pullRequest.ContentType = "application/json";
    pullRequest.KeepAlive = false;
    pullRequest.Timeout = 500000;
    pullRequest.Headers.Add("x-auth-token", token);

}
function authenticatePersonByUniqueCodeExample()
{
    const token = "TOKEN GOES HERE";
    const baseUrl = "https://apireststaging.streampoint.com/v1/personal.svc";

    const authenticatePersonEndpoint = "/login/authenticatePersonByUniqueCode";
    const eventGuid = "47B47D89-07B3-493E-9DB6-FF19C62D486C";
    const uniqueCode = "BRUMEAW3OF5J";

    $pullRequest = curl_init(baseUrl . authenticatePersonEndpoint . "?uniqueCode=" . uniqueCode  . "&eventGUIDin=" . eventGuid);
    curl_setopt($pullRequest, CURLOPT_HTTPGET, true);
    $header = array();
    $header[] = "Content-type: application/json";
    $header[] = "x-auth-token: " . token;

    curl_setopt($pullRequest, CURLOPT_HTTPHEADER, $header);
    curl_setopt($pullRequest, CURLOPT_FORBID_REUSE, true);
    curl_setopt($pullRequest, CURLOPT_TIMEOUT, 3600);
    //curl_setopt($pullRequest, CURLOPT_RETURNTRANSFER, true);

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

    //De-serialize the JSON data into useful objects
    $results = json_decode($response);

    //At this point results contains the data set
    print_r($results);
}

REST Response Output

{
    "ConfirmationId":"1234567-987",
    "FirstName":"John",
    "IsAuthenticated":true,
    "LastName":"Smith",
    "ReturnMessage":"success",
    "UserEmail":""
}

Authenticates if the person has a valid registration account in the Streampoint system.

Request Parameters

Field Type Description Required
uniqueCode string Streampoint assigned unique code true
eventguid string Event ID field in the Streampoint registration system true

Returns

Field Type Description
ConfirmationId string Person’s unique identifier
FirstName string First name of the person
IsAuthenticated boolean true or false if the person was successfully authenticated
LastName string Last name of the person
ReturnMessage string If authenticated is true - “success”, if false - “unable to validate user”
UserEmail string The person’s account email if applicable

Export Registrants Paged

REST Request Example

public void ExportRegistrantsPagedExample()
{
    const string token = "TOKEN GOES HERE";
    const string baseUrl = "https://apireststaging.streampoint.com/v1/personal.svc";
    const string dataPullEndpoint = "/dataExport/registrantsPaged";

    //this will return the first 100 records
    string parameters = "?page=1&pageSize=100";

    var pullRequest = (HttpWebRequest)WebRequest.Create(baseUrl + dataPullEndpoint + parameters);

    pullRequest.Method = "GET";
    pullRequest.ContentType = "application/json";
    pullRequest.KeepAlive = false;
    //This can take some time for shows with a large number of registrants...
    pullRequest.Timeout = 3600000;
    pullRequest.Headers.Add("x-auth-token", token);

    var pullResponse = (HttpWebResponse)pullRequest.GetResponse();
    var reader = new StreamReader(pullResponse.GetResponseStream(), Encoding.UTF8);

    //De-serialize the JSON data into useful objects

    var ser = new DataContractJsonSerializer(typeof(List<Person>));

    var results = (List<Person>)ser.ReadObject(reader.BaseStream);
    //At this point results contains the data set
}
function exportRegistrantsPagedExample() 
{
    const token = "TOKEN GOES HERE";
    const baseUrl = "https://apireststaging.streampoint.com/v1/personal.svc";
    const endpoint = "/dataExport/registrantsPaged";

    //this will return the first 100 records
    const parameters = "?page=1&pageSize=100";

    $pullRequest = curl_init(baseUrl . endpoint . parameters);
    curl_setopt($pullRequest, CURLOPT_HTTPGET, true);
    $header = array();
    $header[] = "Content-type: application/json";
    $header[] = "x-auth-token: " . token;

    curl_setopt($pullRequest, CURLOPT_HTTPHEADER, $header);
    curl_setopt($pullRequest, CURLOPT_FORBID_REUSE, true);
    curl_setopt($pullRequest, CURLOPT_TIMEOUT, 3600);
    //curl_setopt($pullRequest, CURLOPT_RETURNTRANSFER, true);

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

    //De-serialize the JSON data into useful objects
    $results = json_decode($response);

    //At this point results contains the data set
    print_r($results);
}

REST Response Output

[
    {
        "Address1": "100 Address St.",
        "Address2": "Unit 55",
        "AlternateEmail": "altsmith@test.streampoint.com",
        "Association": "Streampoint Solutions",
        "BadgeID": "",
        "BadgeName": null,
        "City": "Denver",
        "ConfirmationNumber": "72973-347",
        "Country": "United States",
        "Demographics": [
                             {
                                "QuestionAnswer": "Yes",
                                "QuestionName": "Are you a Member",
                                "UniqueId": "formMemberNo"
                             },
                             {
                                "QuestionAnswer": "No",
                                "QuestionName": "Are you a Student",
                                "UniqueId": "formStudent"
                             },
                             {
                                "QuestionAnswer": "No",
                                "QuestionName": "Are you an Alumni Member",
                                "UniqueId": "formAlumni"
                             },
                             {
                                "QuestionAnswer": "Direct Mail",
                                "QuestionName": "How did you hear about us",
                                "UniqueId": "formHearAboutUs"
                             },
                             {
                                "QuestionAnswer": "True",
                                "QuestionName": "I agree to the terms and conditions",
                                "UniqueId": "formChkBoxAgreement"
                             }
                        ],
        "Email": "smith@test.streampoint.com",
        "Fax": "123-123-1234",
        "FirstName": "John",
        "Guests": null,
        "LastName": "Smith",
        "Membershipcode": "123456789",
        "PPID": "9c76dfab-96e2-4b41-8415-ca621d9c401e",
        "Payments": [
                         {
                            "Amount": 25,
                            "AuthNum": "152833",
                            "CCType": "Visa",
                            "CheckNumber": null,
                            "DateChequeReceived": null,
                            "DateOnCheque": null,
                            "DateTimeStamp": "/Date(1461254419483-0400)/",
                            "Last4": "1111",
                            "Message": null,
                            "Name": "John Smith",
                            "OrderID": "1234 - 13801",
                            "PPIDCommittedBy": "9c76dfab-96e2-4b41-8415-ca621d9c401e",
                            "PPIDFrom": "9c76dfab-96e2-4b41-8415-ca621d9c401e",
                            "PPIDTo": "9c76dfab-96e2-4b41-8415-ca621d9c401e",
                            "PaymentId": 13801,
                            "PaymentType": {
                                             "AdminActive": true,
                                             "Name": "Credit Card",
                                             "PaymentTypeId": 1,
                                             "PublicActive": true
                                            },
                            "Status": "CC Approved"
                         },
                         {
                            "Amount": 10,
                            "AuthNum": "389655",
                            "CCType": "Visa",
                            "CheckNumber": null,
                            "DateChequeReceived": null,
                            "DateOnCheque": null,
                            "DateTimeStamp": "/Date(1461254907460-0400)/",
                            "Last4": "1111",
                            "Message": null,
                            "Name": "John Smith",
                            "OrderID": "1234 - 13802",
                            "PPIDCommittedBy": "9c76dfab-96e2-4b41-8415-ca621d9c401e",
                            "PPIDFrom": "9c76dfab-96e2-4b41-8415-ca621d9c401e",
                            "PPIDTo": "9c76dfab-96e2-4b41-8415-ca621d9c401e",
                            "PaymentId": 13802,
                            "PaymentType": {
                                             "AdminActive": true,
                                             "Name": "Credit Card",
                                             "PaymentTypeId": 1,
                                             "PublicActive": true
                                            },
                            "Status": "CC Approved"
                         }
                        ],
        "Phone": "123-123-1234",
        "Prefix": "Mr.",
        "Profile": null,
        "ProvState": "Colorado ",
        "Questions": [
                         {
                        "Key": "Are you a Member",
                        "Value": "Yes"
                         },
                         {
                        "Key": "Are you an Alumni Member",
                        "Value": "No"
                         },
                         {
                        "Key": "Are you a Student",
                        "Value": "No"
                         },
                         {
                        "Key": "How did you hear about us",
                        "Value": "Direct Mail"
                         },
                         {
                        "Key": "I agree to the terms and conditions",
                        "Value": "True"
                         }
                    ],
        "RegType": {
                     "Name": "Attendee Member",
                     "RegtypeUID": "d21b5256-47e7-4fa0-8375-696ead8b8534"
                    },
        "Seminars": [
                     {
                        "AlternateName": "Registration 101",
                        "CreditType": null,
                        "Description": "Course on registration basics",
                        "End": "/Date(1483160400000-0500)/",
                        "Image": null,
                        "Location": null,
                        "Name": "Introduction to Registration 101",
                        "Price": 109,
                        "Qty": 1,
                        "SeminarUid": "17d709eb-391a-428d-bde4-b676d78ae2b8",
                        "ShortName": "",
                        "Start": "/Date(1404187200000-0400)/",
                        "Track": null
                     },
                     {
                        "AlternateName": "Onsite Registration Workshop",
                        "CreditType": null,
                        "Description": "Workshop covering various onsite registration solutions",
                        "End": "/Date(1463227200000-0400)/",
                        "Image": null,
                        "Location": null,
                        "Name": "Onsite Registration Workshop",
                        "Price": 20,
                        "Qty": 1,
                        "SeminarUid": "77c6a016-c936-416f-bc29-d9a9e334fe04",
                        "ShortName": "",
                        "Start": "/Date(1463223600000-0400)/",
                        "Track": null
                     },
                     {
                        "AlternateName": "Attendee Conference Kit",
                        "CreditType": null,
                        "Description": "Program Kit filled with resource materials",
                        "End": "/Date(1483160400000-0500)/",
                        "Image": null,
                        "Location": null,
                        "Name": "Attendee Conference Kit",
                        "Price": 15,
                        "Qty": 1,
                        "SeminarUid": "96fc7962-977b-4fec-9b5c-1a6efc3c5200",
                        "ShortName": "",
                        "Start": "/Date(1404187200000-0400)/",
                        "Track": null
                     }
                    ],
        "Tags": [
                 {
                    "Key": "Stuffed Status",
                    "Value": "Not Stuffed"
                 },
                 {
                    "Key": "Print Status",
                    "Value": "Not Printed"
                 },
                 {
                    "Key": "Present Status",
                    "Value": "Not Present"
                 },
                 {
                    "Key": "Mat Status",
                    "Value": "Not Picked Up"
                 },
                 {
                    "Key": "Active Status",
                    "Value": "Active"
                 },
                 {
                    "Key": "Payment Status",
                    "Value": "Partial Payment"
                 },
                 {
                    "Key": "Reg Status",
                    "Value": "Finished"
                 },
                 {
                    "Key": "Language Status",
                    "Value": "English"
                 },
                 {
                    "Key": "Batch",
                    "Value": "Unreconciled"
                 },
                 {
                    "Key": "Source",
                    "Value": "Attendee"
                 }
                ],
        "Title": "Sales Associate",
        "Zip": "11111"
    }
]

Returns a list of registants based on paging parameters. It operates like the Export Registrants method, but with the ability to set the number of records returned and the page number.

Request Parameters

Field Type Description Required
page string page number on the set of records returned, the larger the page size the fewer page numbers you will need to iterate through true
pageSize string the number of records returned per call true
requirePaid boolean if true, only paid registrants are returned false
requireActive boolean if true, only active registrants are returned false
requireComplete boolean if true, only complete registrants are returned false
startDate string if passed, only registrants since this date are returned false

Returns

A list of Person objects based on the size of the page and the page number.

Get Person By ConfirmationId

REST Request Example

public void GetPersonByConfirmationIdExample()
{
    const string token = "TOKEN GOES HERE";
    const string baseUrl = "https://apireststaging.streampoint.com/v1/personal.svc";
    const string dataPullEndpoint = "/people/GetPersonByConfirmationId";
    string parameters = "?confirmationId=99999123";

    var pullRequest = (HttpWebRequest)WebRequest.Create(baseUrl + dataPullEndpoint + parameters);

    pullRequest.Method = "GET";
    pullRequest.ContentType = "application/json";
    pullRequest.KeepAlive = false;
    pullRequest.Timeout = 50000;
    pullRequest.Headers.Add("x-auth-token", token);

    var pullResponse = (HttpWebResponse)pullRequest.GetResponse();
    var reader = new StreamReader(pullResponse.GetResponseStream(), Encoding.UTF8);

    //De-serialize the JSON data into useful objects

    var ser = new DataContractJsonSerializer(typeof(Person));

    var results = (Person)ser.ReadObject(reader.BaseStream);
    //At this point results contains the person, if the confrimation Id was valid.
}
function getPersonByConfirmationIdExample()
{
    const token = "TOKEN GOES HERE";
    const baseUrl = "https://apireststaging.streampoint.com/v1/personal.svc";
    const endpoint = "/people/GetPersonByConfirmationId";

    const parameters = "?confirmationId=99999123";

    $pullRequest = curl_init(baseUrl . endpoint . parameters);
    curl_setopt($pullRequest, CURLOPT_HTTPGET, true);
    $header = array();
    $header[] = "Content-type: application/json";
    $header[] = "x-auth-token: " . token;

    curl_setopt($pullRequest, CURLOPT_HTTPHEADER, $header);
    curl_setopt($pullRequest, CURLOPT_FORBID_REUSE, true);
    curl_setopt($pullRequest, CURLOPT_TIMEOUT, 3600);
    curl_setopt($pullRequest, CURLOPT_RETURNTRANSFER, true);

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

    //De-serialize the JSON data into useful objects
    $results = json_decode($response);

    //At this point results contains the data set
    print_r($results);
}

REST Response Output

{
    "Address1": "987 S. Michigan Ave",
    "Address2": "Suite 1001",
    "AlternateEmail": "",
    "Association": "Streampoint Solutions",
    "BadgeID": "",
    "BadgeName": "John",
    "City": "Chicago",
    "ConfirmationNumber": "99999-123",
    "Country": "United States",
    "Demographics": null,
    "Email": "john.test@streampoint.com",
    "Fax": "",
    "FirstName": "John",
    "Guests": null,
    "LastName": "Smith",
    "Membershipcode": "",
    "PPID": "3f23427f-a093-468c-s818-19dd4cee3994",
    "Payment": null,
    "Phone": "789-456-1234",
    "Prefix": "",
    "Profile": null,
    "ProvState": "Illinois",
    "Questions": null,
    "RegType": {
                 "Name": "Student Member",
                 "RegtypeUID": "b21b55496-47e7-4fa0-8375-696ead8b8534"
                },
    "Seminars": null,
    "Title": "",
    "Zip": "11111"
}

Returns an individual registration record based on their confirmationId.

Request Parameters

Field Type Description Required
confirmationId string the registrant’s confirmation ID true

Returns

A Person object

ProvState

This is an object that represents the province / state information that is found in the registrant’s personal contact information.

Properties

Field Type Description
CountryID integer ID of the country the province or state belongs to
Name string Name of Province or State
Order integer Order ID field for sorting
ProvStateID integer Unique Identifier

Get List of Provinces / States

REST Request Example

public void GetProvStateListExample()
{
    const string token = "TOKEN GOES HERE";
    const string baseUrl = "https://apireststaging.streampoint.com/v1/personal.svc";
    const string dataPullEndpoint = "/event/provstates";

    string parameters = "?country=" + 2;

    var pullRequest = (HttpWebRequest)WebRequest.Create(baseUrl + dataPullEndpoint + parameters);

    pullRequest.Method = "GET";
    pullRequest.ContentType = "application/json";
    pullRequest.KeepAlive = false;
    pullRequest.Timeout = 50000;
    pullRequest.Headers.Add("x-auth-token", token);

    var pullResponse = (HttpWebResponse)pullRequest.GetResponse();
    var reader = new StreamReader(pullResponse.GetResponseStream(), Encoding.UTF8);

    //De-serialize the JSON data into useful objects

    var ser = new DataContractJsonSerializer(typeof(List<ProvState>));

    var results = (List<ProvState>)ser.ReadObject(reader.BaseStream);
    //At this point results contains the data set
}}

function getProvStateListExample() 
{
    const token = "TOKEN GOES HERE";
    const baseUrl = "https://apireststaging.streampoint.com/v1/personal.svc";
    const endpoint = "/event/provstates";

    const parameters = "?country=0";

    $pullRequest = curl_init(baseUrl . endpoint . parameters);
    curl_setopt($pullRequest, CURLOPT_HTTPGET, true);
    $header = array();
    $header[] = "Content-type: application/json";
    $header[] = "x-auth-token: " . token;

    curl_setopt($pullRequest, CURLOPT_HTTPHEADER, $header);
    curl_setopt($pullRequest, CURLOPT_FORBID_REUSE, true);
    curl_setopt($pullRequest, CURLOPT_TIMEOUT, 3600);
    //curl_setopt($pullRequest, CURLOPT_RETURNTRANSFER, true);

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

    //De-serialize the JSON data into useful objects
    $results = json_decode($response);

    //At this point results contains the data set
    print_r($results);
}

REST Response Output

[
    {
        "CountryID": 2,
        "Name": "Illinois",
        "Order": 50,
        "ProvStateID": 33
    },
    {
        "CountryID": 2,
        "Name": "Indiana ",
        "Order": 60,
        "ProvStateID": 34
    }


]

There are some Streampoint objects and methods that reference province and states based on the unique ID rather than name. Use this method for getting the entire list of IDs and names used for this event. The country ID is a requested parameter, if you need that list of IDs, they can be retrieved using this method.

Request Parameters

Field Type Description Required
countryID integer country ID field true

Returns

A list of ProvState objects

Question

Question object represents a demographic field in the registration record.

Properties

Field Type Description
UniqueId string Unique ID
QuestionName string Name of question or field
QuestionAnswer string Registrant’s answer to question or field

RegistrationType

The type of registration a person has signed up for the event.

Properties

Field Type Description
Name string Name of registration type
Price decimal The price this registration type was registered for
LastModified string Date of when registration type was last edited
RegTypeUID guid Unique ID

Seminar

A Seminar object in the Streampoint registration system can represent a product, session, workshop, ticket or anything that has a cost associated to it.

Properties

Field Type Description
AlternateName string Alternate name for seminar
CreditType SeminarCreditType credit type, used primarily for speaker sessions
Description string description of seminar
End datetime end time of the seminar
Image string image ID, used primarily for speaker profile images
LastModified string Date of when the seminar was last edited
Location string location of seminar(i.e. room, hall, venue)
Name string Name of seminar
Qty integer qty purchased or signed up for
Price decimal the price this seminar was registered for
SeminarUid string unique ID
ShortName string abbreviated version of the seminar name
Start datetime start time of the seminar
Track SeminarTrack seminar track, used primarily for speaker sessions

Get All Seminars

REST Request Example

public void GetAllSeminarsExample()
{
    const string token = "TOKEN GOES HERE";
    const string baseUrl = "https://apireststaging.streampoint.com/v1/personal.svc";
    const string dataPullEndpoint = "/seminars";

    var pullRequest = (HttpWebRequest)WebRequest.Create(baseUrl + dataPullEndpoint);

    pullRequest.Method = "GET";
    pullRequest.ContentType = "application/json";
    pullRequest.KeepAlive = false;
    pullRequest.Timeout = 50000;
    pullRequest.Headers.Add("x-auth-token", token);

    var pullResponse = (HttpWebResponse)pullRequest.GetResponse();
    var reader = new StreamReader(pullResponse.GetResponseStream(), Encoding.UTF8);

    //De-serialize the JSON data into useful objects

    var ser = new DataContractJsonSerializer(typeof(List<Seminar>));

    var results = (List<Seminar>)ser.ReadObject(reader.BaseStream);
    //At this point results contains the data set
}

function getAllSeminarsExample() 
{
    const token = "TOKEN GOES HERE";
    const baseUrl = "https://apireststaging.streampoint.com/v1/personal.svc";
    const endpoint = "/seminars";

    $pullRequest = curl_init(baseUrl . endpoint);
    curl_setopt($pullRequest, CURLOPT_HTTPGET, true);
    $header = array();
    $header[] = "Content-type: application/json";
    $header[] = "x-auth-token: " . token;

    curl_setopt($pullRequest, CURLOPT_HTTPHEADER, $header);
    curl_setopt($pullRequest, CURLOPT_FORBID_REUSE, true);
    curl_setopt($pullRequest, CURLOPT_TIMEOUT, 3600);
    curl_setopt($pullRequest, CURLOPT_RETURNTRANSFER, true);

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

    //De-serialize the JSON data into useful objects
    $results = json_decode($response);

    //At this point results contains the data set
    print_r($results);
}

REST Response Output

[
    {
        "AlternateName": null,
        "CreditType": null,
        "Description": "",
        "End": "/Date(1409000400000-0400)/",
        "Image": null,
        "Location": "Hall B",
        "Name": "Monday Lunch",
        "Price": 20,
        "Qty": 0,
        "SeminarUid": "37c9e205-01er-4722-9072-7c3f9dc384b2",
        "ShortName": null,
        "Start": "/Date(1408995000000-0400)/",
        "Track": null
    },
    {
        "AlternateName": null,
        "CreditType": null,
        "Description": "",
        "End": "/Date(1409014800000-0400)/",
        "Image": null,
        "Location": "Hall E",
        "Name": "Attendee & Exhibitor Happy Hour",
        "Price": 25,
        "Qty": 0,
        "SeminarUid": "898213ef-a684-416d-9f7b-25f9c3c547ea",
        "ShortName": null,
        "Start": "/Date(1409011200000-0400)/",
        "Track": null
    },
    ...
]

Retrieves an entire list of seminars for the event. Optionally, the list can be filtered by registration type.

Request Parameters

Field Type Description Required
regTypeUID string regtype unique ID field false

Returns

A list of Seminar objects

Search Seminars

REST Request Example

public void SearchSeminarsExample()
{
    const string token = "TOKEN GOES HERE";
    const string baseUrl = "https://apireststaging.streampoint.com/v1/personal.svc";
    const string dataPullEndpoint = "/seminar/search";


    var pullRequest = (HttpWebRequest)WebRequest.Create(baseUrl + dataPullEndpoint);

    pullRequest.Method = "GET";
    pullRequest.ContentType = "application/json";
    pullRequest.KeepAlive = false;
    pullRequest.Timeout = 50000;
    pullRequest.Headers.Add("x-auth-token", token);

    var pullResponse = (HttpWebResponse)pullRequest.GetResponse();
    var reader = new StreamReader(pullResponse.GetResponseStream(), Encoding.UTF8);

    //De-serialize the JSON data into useful objects

    var ser = new DataContractJsonSerializer(typeof(List<Seminar>));

    var results = (List<Seminar>)ser.ReadObject(reader.BaseStream);
    //At this point results contains the data set
}

function searchSeminarExample() 
{
    const token = "TOKEN GOES HERE";
    const baseUrl = "https://apireststaging.streampoint.com/v1/personal.svc";
    const endpoint = "/seminar/search";

    $pullRequest = curl_init(baseUrl . endpoint);
    curl_setopt($pullRequest, CURLOPT_HTTPGET, true);
    $header = array();
    $header[] = "Content-type: application/json";
    $header[] = "x-auth-token: " . token;

    curl_setopt($pullRequest, CURLOPT_HTTPHEADER, $header);
    curl_setopt($pullRequest, CURLOPT_FORBID_REUSE, true);
    curl_setopt($pullRequest, CURLOPT_TIMEOUT, 3600);
    //curl_setopt($pullRequest, CURLOPT_RETURNTRANSFER, true);

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

    //De-serialize the JSON data into useful objects
    $results = json_decode($response);

    //At this point results contains the data set
    print_r($results);
}

REST Response Output

{
        "AlternateName": "Collective Bargaining Issues",
        "CreditType": {
            "CreditTypeUid": "45519abd-9e73-4afa-7a2f-c1f3433cf3c2",
            "Name": "Global"
        },
        "Description": "This session will cover a wide range of laws that apply to the collective bargaining process.  ",
        "End": "/Date(1408918500000-0400)/",
        "Image": null,
        "Location": "Room: 1010A",
        "Name": "Collective Bargaining Issues: An International Perspective ",
        "Qty": 0,
        "SeminarUid": "07db01ae-f7b7-4723-8761-b9c7ce953235",
        "ShortName": CBI,
        "Start": "/Date(1408914000000-0400)/",
        "Track": {
            "Colour": "#E6108D",
            "InvertText": true,
            "Name": "Global",
            "TrackUid": "57e662e9-3de7-e321-8sb4-0151568c0306"
        }
    },
    ...
]

Get a list of seminars based on search criteria.

Request Parameters

Field Type Description Required
Keywords string keywords to search false
datetime string date to filter on false
TrackUID string track to filter on, see GetSeminarTracks() false
CreditTypeUID string credit type to filter on, see GetSeminarCreditTypes() false

Returns

A list of Seminar objects

SeminarCreditType

An object that represents speaker session credit types.

Properties

Field Type Description
CreditTypeUid string Unique ID
Name string Name of session credit type

Get Seminar Credit Types

REST Request Example

public void GetSeminarCreditTypesExample()
{
    const string token = "TOKEN GOES HERE";
    const string baseUrl = "https://apireststaging.streampoint.com/v1/personal.svc";
    const string dataPullEndpoint = "/speakers/GetSeminarCreditTypes";

    var pullRequest = (HttpWebRequest)WebRequest.Create(baseUrl + dataPullEndpoint);

    pullRequest.Method = "GET";
    pullRequest.ContentType = "application/json";
    pullRequest.KeepAlive = false;
    pullRequest.Timeout = 50000;
    pullRequest.Headers.Add("x-auth-token", token);

    var pullResponse = (HttpWebResponse)pullRequest.GetResponse();
    var reader = new StreamReader(pullResponse.GetResponseStream(), Encoding.UTF8);

    //De-serialize the JSON data into useful objects

    var ser = new DataContractJsonSerializer(typeof(List<SeminarCreditType>));

    var results = (List<SeminarCreditType>)ser.ReadObject(reader.BaseStream);
    //At this point results contains the data set
}

function getSeminarCreditTypesExample()
{
    const token = "TOKEN GOES HERE";
    const baseUrl = "https://apireststaging.streampoint.com/v1/personal.svc";
    const endpoint = "/speakers/GetSeminarCreditTypes";

    $pullRequest = curl_init(baseUrl . endpoint);
    curl_setopt($pullRequest, CURLOPT_HTTPGET, true);
    $header = array();
    $header[] = "Content-type: application/json";
    $header[] = "x-auth-token: " . token;

    curl_setopt($pullRequest, CURLOPT_HTTPHEADER, $header);
    curl_setopt($pullRequest, CURLOPT_FORBID_REUSE, true);
    curl_setopt($pullRequest, CURLOPT_TIMEOUT, 3600);
    //curl_setopt($pullRequest, CURLOPT_RETURNTRANSFER, true);

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

    //De-serialize the JSON data into useful objects
    $results = json_decode($response);

    //At this point results contains the data set
    print_r($results);
}

REST Response Output

[
    {
        "CreditTypeUid": "5ed4548b-1175-4705-818e-499ec20d3ba4",
        "Name": "Business"
    },
    ...
]

Returns a list of all seminar credit types

Returns

A list of SeminarCreditType objects

SeminarTrack

An object that represents speaker session tracks.

Properties

Field Type Description
Colour string color display of track
InvertText boolean sets text to white to be visible for dark backgrounds
Name string name of track
TrackUid string unique ID

Get Seminar Tracks

REST Request Example

public void GetSeminarTracksExample()
{
    const string token = "TOKEN GOES HERE";
    const string baseUrl = "https://apireststaging.streampoint.com/v1/personal.svc";
    const string dataPullEndpoint = "/speakers/GetSeminarTracks";

    var pullRequest = (HttpWebRequest)WebRequest.Create(baseUrl + dataPullEndpoint);

    pullRequest.Method = "GET";
    pullRequest.ContentType = "application/json";
    pullRequest.KeepAlive = false;
    pullRequest.Timeout = 50000;
    pullRequest.Headers.Add("x-auth-token", token);

    var pullResponse = (HttpWebResponse)pullRequest.GetResponse();
    var reader = new StreamReader(pullResponse.GetResponseStream(), Encoding.UTF8);

    //De-serialize the JSON data into useful objects

    var ser = new DataContractJsonSerializer(typeof(List<SeminarTrack>));

    var results = (List<SeminarTrack>)ser.ReadObject(reader.BaseStream);
    //At this point results contains the data set
}

function getSeminarCreditTracksExample()
{
    const token = "TOKEN GOES HERE";
    const baseUrl = "https://apireststaging.streampoint.com/v1/personal.svc";
    const endpoint = "/speakers/GetSeminarTracks";

    $pullRequest = curl_init(baseUrl . endpoint);
    curl_setopt($pullRequest, CURLOPT_HTTPGET, true);
    $header = array();
    $header[] = "Content-type: application/json";
    $header[] = "x-auth-token: " . token;

    curl_setopt($pullRequest, CURLOPT_HTTPHEADER, $header);
    curl_setopt($pullRequest, CURLOPT_FORBID_REUSE, true);
    curl_setopt($pullRequest, CURLOPT_TIMEOUT, 3600);
    //curl_setopt($pullRequest, CURLOPT_RETURNTRANSFER, true);

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

    //De-serialize the JSON data into useful objects
    $results = json_decode($response);

    //At this point results contains the data set
    print_r($results);
}

REST Response Output

[
    {
        "Colour": "#70502D",
        "InvertText": true,
        "Name": "Benefits & Compensation",
        "TrackUid": "52e612e9-3ae7-e311-8eb4-1250568c0706"
    },
    ...
]

Returns a list of all seminar tracks

Returns

A list of SeminarTrack objects

Speaker

This is an object that represents a speaker’s profile.

Properties

Field Type Description
Bio string Contains the person’s biographical information
Facebook string URL to the speaker’s facebook page
Image string Image ID of the speaker’s profile picture
LinkedIn string URL to the speaker’s LinkedIn page
Seminars list of Seminar objects List of sessions the speaker is presenting
SpeakerUID string Speaker unique ID
SpeakerFiles list of SpeakerFile objects Speaker’s presentation files
Twitter string Speaker’s Twitter handle
Youtube string URL to YouTube video

Get Speaker List

REST Request Example

public void FilterSpeakerListExample()
{
    const string token = "TOKEN GOES HERE";
    const string baseUrl = "https://apireststaging.streampoint.com/v1/personal.svc";
    const string dataPullEndpoint = "/speakers/list";



    var pullRequest = (HttpWebRequest)WebRequest.Create(baseUrl + dataPullEndpoint);

    pullRequest.Method = "GET";
    pullRequest.ContentType = "application/json";
    pullRequest.KeepAlive = false;            
    pullRequest.Timeout = 50000;
    pullRequest.Headers.Add("x-auth-token", token);

    var pullResponse = (HttpWebResponse)pullRequest.GetResponse();
    var reader = new StreamReader(pullResponse.GetResponseStream(), Encoding.UTF8);

    //De-serialize the JSON data into useful objects

    var ser = new DataContractJsonSerializer(typeof(List<Speaker>));

    var results = (List<Speaker>)ser.ReadObject(reader.BaseStream);
    //At this point results contains the data set
}

function filterSpeakerListExample() 
{
    const token = "TOKEN GOES HERE";
    const baseUrl = "https://apireststaging.streampoint.com/v1/personal.svc";
    const endpoint = "/speakers/list";

    $pullRequest = curl_init(baseUrl . endpoint);
    curl_setopt($pullRequest, CURLOPT_HTTPGET, true);
    $header = array();
    $header[] = "Content-type: application/json";
    $header[] = "x-auth-token: " . token;

    curl_setopt($pullRequest, CURLOPT_HTTPHEADER, $header);
    curl_setopt($pullRequest, CURLOPT_FORBID_REUSE, true);
    curl_setopt($pullRequest, CURLOPT_TIMEOUT, 3600);
    //curl_setopt($pullRequest, CURLOPT_RETURNTRANSFER, true);

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

    //De-serialize the JSON data into useful objects
    $results = json_decode($response);

    //At this point results contains the data set
    print_r($results);
}

REST Response Output

[
    {
        "Bio": "Nancy Smith is from Denver, Colorado.  She founded her company, Ace Jets Inc, in 2010.",
        "Facebook": null,
        "Image": "27f23102-ac42-4a97-a019-a6ea15efb3fc",
        "LinkedIn": null,
        "Personal": {
            "Address1": null,
            "Address2": null,
            "AlternateEmail": null,
            "Association": "Ace Jet Inc",
            "BadgeID": null,
            "BadgeName": "Nancy",
            "City": "Denver",
            "ConfirmationNumber": "777777-159",
            "Country": "United States",
            "Email": null,
            "Fax": null,
            "FirstName": "Nancy",
            "Guests": null,
            "LastName": "Smith",
            "PPID": "38c4f85a-1375-4a14-b18d-ae3b925830dc",
            "Phone": "123-123-1234",
            "Prefix": "Ms.",
            "Profile": null,
            "ProvState": "Colorado",
            "RegType": {
                "Name": "Speaker",
                "RegtypeUID": "af4c3864-d9c0-4801-b329-1f5bc282b219"
            },
            "Seminars": null,
            "Title": "CEO",
            "Zip": null
        },
        "Seminars": [
            {
                "AlternateName": null,
                "CreditType": {
                    "CreditTypeUid": "45519abd-9e73-49fa-8a9f-c1f3433q53c2",
                    "Name": "Global"
                },
                "Description": "This session will cover entrepreneurial basics",
                "End": "/Date(1409091300000-0400)/",
                "Image": null,
                "Location": "Room: 205A",
                "Name": "Starting Your Own Business",
                "Qty": 0,
                "SeminarUid": "45e728fe-3eba-4cff-9eac-1da63da188aa",
                "ShortName": null,
                "Start": "/Date(1409086800000-0400)/",
                "Track": {
                    "Colour": "#E6108D",
                    "InvertText": true,
                    "Name": "Global",
                    "TrackUid": "57e362e9-3de7-e311-8eb4-0050568c0006"
                }
            }
        ],
        "SpeakerFiles": [
            {
                "FileName": "AceInc.pdf",
                "FileUID": "8e03ce8c-695d-4dea-bccc-500c3f674b34",
                "SeminarUID": "453728fe-3eba-4cff-9eac-1da63da188aa"
            }
        ],
        "SpeakerUID": "d31ea944-0ae8-e311-a4fc-005056a467e1",
        "Twitter": null,
        "Youtube": null
    },
    ...
]

Returns a list of speakers

Request Parameters

Field Type Description Required
keywords string keywords to search for false
trackUid string filter on seminar track, see GetSeminarTracks() false
typeUid string filter on seminar type false
creditTypeUid string filter on seminar credit type, see GetSeminarCreditTypes() false
date string filter on a date false

Returns

A filtered list Speaker objects

Speaker File

Session speakers often have files they can upload for their presentations. These are to be used as resources for those who will be in attendance.

Properties

Field Type Description
FileName string Name of file
FileUID string Unique ID
SeminarUID string Unique ID of Seminar