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.

Webhook User Create
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.

URL zum Anlegen eines Besuchers

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

 

lastname

string

yes

 

email

string

yes

 

title

string

no

 

salutation

integer

no

1 = Herr / Mr.

2 = Frau / Mrs.

3 = divers / other

4 = unbekannt / unknown

timezone

srtring

no

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

CustomFieldUser

array

no

 

Die Struktur des CustomFieldUser [Array]

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

GET Parameter (Optional) 

Key

Type

Required

Default

send_mail

boolean

no

true

source

string

no

empty

 

Return Values

Wenn API Key fehlerhaft: HTTP/1.1 404 Not Found

 Wenn API Key korrekt im JSON Format (Beispiel):

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


Beispiel:

Registriert werden soll ein Benutzer mit folgenden Werten 

firstname= „Max“
lastname= „Muster“
email= „max@muster.de“
salutation = 1 (Mann / Mr.)
timezone = „Europe/Berlin“
Firmenname im CustomFieldUser [64] = „EXPO-IP GmbH“
Auswahlfeld im CustomFieldUser [82] = 1


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 = [
    '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;


 

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 sendet 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",
"userId":"6572" }

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:

https://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.

In JSON sieht die Struktur z.B. so aus:

{
    "firstname" : "Alice",
    "lastname" : "Test",
    "email" : "alice@expo-ip.com",
    "salutation" : "2",
    "timezone" : "Europe/Berlin",
    "CustomFieldUser": {
        "1": {"value": "My Company"},
        "2": {"value": "1"},
        "3": {"value": "VIP"},
        "4": {"value": "1"}
    }
}