expo-IP CMS Benutzerhandbuch

Für die Nutzung des expo-IP CMS benötigen Sie einen beliebigen aktuellen Browser, der fehlerfrei den aktuellen HTML5 Standard unterstützt. Hierzu zählt NICHT der Browser: Microsoft INTERNET EXPLORER.

Generic selectors
Exact matches only
Search in title
Search in content

Webhook für eigenes / externes Teilnehmer-Management

Verwenden Sie diesen Webhook nur dann, wenn Sie den Double OptIn Prozess von expo-IP NICHT nutzen möchten.

Mit diesem Webhook können Event-Besucher außerhalb des expo-IP CMS angelegt werden.

Zum Anlegen eines Besuchers müssen bestimmte Daten als POST an die URL https://messename.expo-ip.com/api/user/create gesendet werden.

Wenn der Versand der E-Mail an den Benutzer zur Bestätigung seiner/ihrer Registrierung durch expo-IP verhindert werden soll, ergänzen Sie die URL mit ?send_mail=false (Beispiel URL: https://messename.expo-ip.com/api/user/create?send_mail=false)

Folgende Felder sind zulässig: firstname, lastname, email, salutation, timezone.

email ist verpflichtend, die anderen sind optional. Der API-Key wird im Header als X-API-KEY übermittelt.

Bei der Anrede (salutation) sind folgende Werte möglich:

Wert Bedeutung
1 Herr / Mr.
2 Frau / Mrs.
3 divers / other
Die Zeitzone (timezone) wird in der Form „Europe/Berlin“ angegeben. Die erlaubten Zeitzonen-Bezeichnungen stehen unter https://www.php.net/manual/de/timezones.php

API-Key

Um den Webhook aufrufen zu können, muss der Aufruf authentifiziert werden. Für die Authentifizierung wird ein API-Key genutzt. Den API-Key finden Sie unter „Messen“ ->“Developer Settings „. Sie können jederzeit einen neuen API-Key erzeugen. Die vorherigen werden dadurch ungültig.

Wird der API Key falsch angegeben, antwortet der Server mit `HTTP/1.1 404 Not Found`. Bei korrekter Eingabe und Übermittlung der Daten antwortet der Server mit `HTTP/1.1 200 OK`.

Beispielcode für ein Formular und das Anlegen eines Benutzers 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 = array(
    'email' => 'info@expo-ip.com',
    'firstname' => 'Moritz',
    'lastname' => 'Mustermann',
    'salutation' => 2, // 1 - Herr / Mr., 2 - Frau / Mrs., 3 - divers / other
    'title' => 'Dr.'
);

$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;


 

Das Formular nimmt die Daten des anzulegenden Besuchers als JSON entgegen. Das ist aber nicht verpflichtend. Im Script ist erkennbar, wie die Daten per curl an die URL geschickt werden müssen.

Der Webhook liefert ein Ergebnis im JSON Format zurück, z.B.

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

alreadyRegistered (true / false) gibt an, ob ein Besucher mit dieser E-Mail bereits registriert war. Falls ja, wird der Besucher nicht erneut angelegt. Die Daten des Besuchers werden bei einer erneuten Registrierung nicht überschrieben.

Das authToken wird nicht mehr verwendet, wurde aber aus Kompatibilitätsgründen noch nicht entfernt.

Mit dem login_hash können sich neu registrierte Besucher an der Messe anmelden, indem der Hash an die URL angefügt wird:

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

Die resultMessage gibt an, ob eine Mail mit dem Login-Link an den neu registrierten Besucher versandt wurde.