expo-IP CMS User Manual

To use the expo-IP CMS, you need any current browser that supports the current HTML5 standard without errors. This does NOT include the browser: Microsoft INTERNET EXPLORER.

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

Events registration via web form

The following information is usable for web admins.

If you are not experienced in creating HTML forms, please contact your web administrator.

An HTML form can be used on a landing page for visitor registration. The parameters required for registration must be sent to the expo-IP webhook via the "POST" method. The webhook URL is composed as follows:

https://messename.expo-ip.com/api/user/registration/API_KEY(?source=Source - optional)(&conference=ConferenceID - optional)(&send_mail=true/false - optional)

The FAIR NAME is the subdomain of the fair that was listed before expo-ip.com

The API_KEY can be found in the EXPO-IP CMS under Menu-> Exhibitions -> Tab "Developer Settings".

If the optional parameter source= SOURCE is used, the value behind source= is stored in the "Source" field when a visitor is registered.

The corresponding POST parameters:

Mandatory fields:

  • email=[email address] Example: test@example.com
  • firstname=[first name] Example: Test
  • lastname=[surname] Example: Test

Optional additional POST fields:

  • title=[Title] Example: Prof. Dr.
  • salutation=[salutation] Example: 1 for Mr - 2 for Ms - 3 for divers

In addition, there are further optional GET parameters for the webhook, which can be added behind the api_key field.

  • source: Source to be referenced from which the user has registered
  • conference: Conference ID for which the visitor is registered

send_mail: Value false, if no e-mail is to be sent by EXPO-IP as confirmation

Return values

The expo-IP webhook has been extended. It is now possible to receive the activation hash from the webhook and to prevent the sending of the registration confirmation. The webhook returns a JSON string as return value.

Fair registration Webhook:

  • authToken: Hash (String)
  • alreadyRegistered: false / true

Conference - Registration:

  • authToken: Hash (String)
  • alreadyRegistered: false / true
  • resultMessage: Message (string), if alreadyRegistered true

Example code for a form and the creation of a user in PHP:


/*
Beispiel für die Messeregistrierung via Webformular
*/

// API Key hier einsetzen
$apiKey = 'xxxxxxxxxxx';

// MESSENAME durch den tatsächlichen Namen der Messe ersetzen
$fairname = 'MESSENAME';

$strTargetURL = 'https://' . $fairname . '.expo-ip.com/api/user/registration/' . $apiKey;

// zum Hinzufügen weiterer GET Parameter die nachfolgende Zeile auskommentieren
// $strTargetURL .= '?source=QUELLE&send_mail=false';

// Die zu sendenden Daten
$arrUserdata = array(
    'email' => 'info@expo-ip.com',
    'firstname' => 'Moritz',
    'lastname' => 'Mustermann',
    'salutation' => 2, // 1 – Herr / Mr., 2 – Frau / Mrs., 3 – divers / other
    'title' => 'Dr.',
    'timezone' => 'Europe/Berlin'
);

$ch = curl_init($strTargetURL);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
// curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-API-KEY: ' . $apiKey));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $arrUserdata);
curl_setopt($ch, CURLOPT_VERBOSE, '1');
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

if( ! $result = curl_exec($ch)) {
    die('Ein Fehler ist aufgetreten: ' . curl_error($ch));
}

print 'Antwort vom Server:';
print $result;

JSON results

If the user is not yet registered and send_mail is either not passed or send_mail=false, the following return value is displayed:

{
    "authToken":"xxxxxxxx",
    "alreadyRegistered":false,
    "resultMessage":"Die Email wurde an die angegebene E-Mail Adresse verschickt"
}

If the user in question is already registered, the return value looks like this:

{
    "authToken":"",
    "alreadyRegistered":true,
    "login_hash":null
}

With the GET parameter send_mail=false the following return value is generated:

{
    "authToken":"xxxxxxxx",
    "alreadyRegistered":false
}

Note: The licence of the fair must be active and valid. If the fair has expired, the queries shown above will not work.