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

Webhook User Create
for own / external participant management

Only use this webhook if you do NOT want to use expo-IP's double opt-in process.

With this webhook, event visitors can be created outside the expo-IP CMS.

URL to create a visitor

https://<messename>.expo-ip.com/api/user/create

HTTP HEADER

Key

Type

Required

Option

X-API-KEY

string

yes

 

 

POST parameter

Key

Type

Required

Option

firstname

string

yes

 

loadname

string

yes

 

email

string

yes

 

title

string

no

 

salutation

integer

no

1 = Mr. / Mr.

2 = Woman / Mrs.

3 = diverse / other

4 = unknown / unknown

timezone

srtring

no

https://www.php.net/manual/de/timezones.php

CustomFieldUser

array

no

 

The structure of the CustomFieldUser [Array].

[
	id =>
		[
			value => [string | id]
		]
]

GET parameter (optional)

Key

Type

Required

Default

send_mail

boolean

no

true

source

string

no

empty

 

Return Values

If API key is incorrect: HTTP/1.1 404 Not Found

If API key is correct in JSON format (example):

{
„authToken“:“Gh8KzeweY_“,
„alreadyRegistered“:false,
„login_hash“:“4147cb55ecba4a6f94081ea58a2b37ff“,
„resultMessage“:“Die Email wurde an die angegebene E-Mail Adresse verschickt“
„userId“:“6572″
}


Example:

A user with the following values is to be registered

firstname= "Max"
lastname= "Muster"
email= "max@muster.de"
salutation = 1 (Mann / Mr.)
timezone = "Europe/Berlin"
Company name in CustomFieldUser [64] = "EXPO-IP GmbH"
Selection field in CustomFieldUser [82] = 1


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

/*
    Beispiel für das Anlegen eines EXPO Messe-Besuchers
    über den "Webhook"
*/

// MESSENAME durch den tatsächlichen Namen der Messe ersetzen:
$strTargetURL = 'https://MESSENAME.expo-ip.com/api/user/create';

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

// Die zu sendenden Daten
$arrUserdata = [
    'email' => 'max@muster.de',
    'firstname' => 'Max',
    'lastname' => 'Muster',
    'salutation' => 1,
    'title' => 'Dr.',
    'timezone' => 'Europe/Berlin',
    'CustomFieldUser' => [
        64 => [
            'value' => 'EXPO-IP GmbH'
        ],
        82 => [
            'value' => '1'
        ]
    ]
];
$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, http_build_query($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;


 

The form accepts the data of the visitor to be created as JSON. However, this is not obligatory. The script shows how the data must be sent to the URL via curl.

The webhook returns a result in JSON format, e.g.

{
    "authToken":"Gh8KzeweY_",
    "alreadyRegistered":false,
    "login_hash":"4147cb55ecba4a6f94081ea58a2b37ff",
    "resultMessage":"Die Email wurde an die angegebene E-Mail Adresse verschickt",
"userId":"6572" }

alreadyRegistered (true / false) indicates whether a visitor was already registered with this e-mail. If so, the visitor is not created again. The visitor's data will not be overwritten during a new registration.

The authToken is no longer used, but has not yet been removed for compatibility reasons.

With the login_hash, newly registered visitors can log in to the fair by appending the hash to the URL:

https://testmesse.expo-ip.com/user/login/4147cb55ecba4a6f94081ea58a2b37ff

The resultMessage indicates whether a mail with the login link was sent to the newly registered visitor.