Führt die Identifizierung einer Person durch (wie pm_CheckPersonIdentity_Pu) und stellt gleichzeitig fest, ob diese Person in einer angegebenen Community (→ „CommunityID“) gerade angemeldet (also „online“) ist, oder nicht.
Sofern das identifizierte Community-Mitglied angemeldet ist und ein Status (→ „Status“) übergeben wurde, wird eine entsprechende Aktualisierung in „CurrentlyUsersOnline“ durchgeführt.
| HTTP-Method | GET |
| HTTP-Auth | Optional |
| Tags | |
| Engine-Kategorie | communities |
| Engine-Typ | Daten-Ermittlung |
| Letzte Aktualisierung | 6.5.2 (2013-02-26) |
| Name 1) | Standard-Wert | Beschreibung 2) | SQL-Datentyp3) | ab Version |
|---|---|---|---|---|
| CommunityID | ID einer Community | smallint | 3.5.2 | |
| UniqueID | Eindeutige ID eines Besuchers, die dem zu identifizierenden Mitglied aktuell zugeordnet ist. Falls die Identifizierungsdaten zur Person in „SessionManagement“ (zu dieser „UniqueID“) gespeichert sind, darf „PersonIdentificationValues“ auch „NULL“ sein. | varchar(50) | 3.5.2 | |
| PersonIdentificationValues | Liste von Werten, die das Mitglied identifizieren. Diese Werte müssen Eigenschaften zu den Merkmal-IDs sein, die in „PersonTypeSettings“ zur „PersonTypeID“ der „CommunityID“ zum Schlüssel „PersonIdentificationIDs“ hinterlegt sind. | varchar(255) | 3.5.2 | |
| Status | 1 | „NULL“ : Keine Aktualisierung des Online-Status durchführen „0“ oder „255“ : Nicht erlaubt, denn diese sind für „gerade eingelogged“ bzw. „offline“ reserviert „1“ bis „254“ : Online-Status des identifizierten Mitglieds auf diesen Wert setzen | tinyint | 3.5.2 |
| NoResult | 0 | Wenn man KEINE Ergebnismenge, sondern nur die Person identifizieren möchte (und sichergestellt sein soll, daß das Mitglied auch online ist), setzt man diesen Parameter auf „1“ - und holt sich die ID dann aus dem Ausgabeparameter „CommunityMemberID“. | bit | 3.5.2 |
| SeparatorInIdentVals | '¶' | Gibt an, durch welche Zeichenkette die Werte in „PersonIdentificationValues“ getrennt sind | varchar(4) | 5.5.0 |
| Spaltenname | Beschreibung | SQL-Datentyp4) | ab Version |
|---|---|---|---|
| OnlineStatus | Enthält entweder einen Fehler-Code (wie „-772“ für „User ist nicht angemeldet“) oder aber den „Status“ (ein Wert zwischen „0“ und „254“) des identifizierten Mitglieds „CommunityMemberID“ aus „CurrentlyUsersOnline“ | integer | 3.5.2 |
| CommunityMemberID | ID des identifizierten Mitglieds der Community „CommunityID“ | integer | 3.5.2 |
| CommunityMemberID | Ausgabeparameter für die ID des identifizierten Mitglieds |
| Code | Beschreibung | Quelle 5) |
|---|---|---|
| -781 | Fehlender oder falscher Eintrag in CommunitySettings | nur indirekt |
| -780 | Fehlender oder falscher Eintrag in CommunityMemberSettings | nur indirekt |
| -774 | Login vorübergehend gesperrt | nur indirekt |
| -773 | Login gesperrt | nur indirekt |
| -772 | User ist nicht angemeldet | direkt und indirekt |
| -771 | Der Sweeper ist nicht gestartet | nur indirekt |
| -770 | Login zur Zeit nicht möglich | nur indirekt |
| -660 | Identifikation fehlgeschlagen | nur indirekt |
| -621 | Fehlender oder falscher Eintrag in PersonTypeSettings | nur indirekt |
| -602 | Zur defaultUniqueID („VisitorID = -2“) können keinerlei Daten gespeichert oder verändert werden | nur indirekt |
| -599 | Lizenz ist ungültig oder abgelaufen | nur indirekt |
| -569 | Der Benutzer hat kein Ausführungsrecht für die Prozedur | nur indirekt |
| -567 | Die Prozedur darf z. Zt. nicht ausgeführt werden | nur indirekt |
| -566 | Die Prozedur darf mit den übergebenen Parametern nicht ausgeführt werden | nur indirekt |
| -550 | Fehlender oder falscher Eintrag in Settings | nur indirekt |
| -535 | Das Datum liegt nicht in der Vergangenheit | nur indirekt |
| -530 | Der Wert ist nicht konvertierbar | nur indirekt |
| -510 | Der Benutzer ist nicht registriert | nur indirekt |
| -504 | Es ist ein Problem aufgetreten, das nicht gelöst werden kann, Prozedur wird daher abgebrochen | nur indirekt |
| -502 | Die Parameter-Werte der Prozedur können nicht verarbeitet werden (kein passendes Trennzeichen) | nur indirekt |
| -500 | Falsche Parameter | direkt und indirekt |
Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema Response/EngineProcedure_v1_0.xsd validiert.
| 6.5.2 | 2013-02-26 | Länge des Parameter „SeparatorInIdentVals“ wurde erweitert [von „1“ auf „4“] |
| 5.5.0 | 2008-01-07 | 1. Neuer Parameter „SeparatorInIdentVals“ 2. Ausgabe via „print“ im Fehler-Fall „-500“, die nähere Informationen über die Ursache enthält 3. Bearbeitung des Quellcodes hinsichtlich neuer Konventionen 4. Überarbeitung der Doku |
| 3.5.2 | 2001-01-28 | Erstmalig in dieser Version erstellt |
Der folgende Link öffnet in einem separaten Fenster den Engine Playground der fest mit dem dbap-demo System verbunden ist:
Unformatierte Ausgabe:
curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/co_GetOnlineStatus_Pu?CommunityID=<value>&UniqueID=<value>&PersonIdentificationValues=<value>'
Mit xmllint 6) formatierte Ausgabe:
curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/co_GetOnlineStatus_Pu?CommunityID=<value>&UniqueID=<value>&PersonIdentificationValues=<value>' | xmllint --format -
use dStore_php\WebService; $service = new WebService\Service( WebService\Scheme::HTTP,'<partner>-<project>.dstore.de', 80); $request = new WebService\Requests\Engine\Procedure\Request( new WebService\Requests\AccessData('default'), 'co_GetOnlineStatus_Pu', array( 'CommunityID' => <value>, 'UniqueID' => '<value>', 'PersonIdentificationValues' => '<value>', // 'Status' => 1, // 'NoResult' => 0, // 'SeparatorInIdentVals' => '¶' ) ); $service->execute($request); $xml_result = $request->getResponse()->getBody()->toSimpleXmlDocument(); $ResultSet = $xml_result->getRowsAsArray(); $OutputParams = $xml_result->getOutputParametersAsArray();
XML zur Ausführung mit der Methode engine/execute, z.B. per
curl --header 'Content-Type: application/xml' -X POST 'http://<partner>-<kunde>.dstore.de/default/engine/execute' -d '<xml-daten>'
<?xml version="1.0" encoding="UTF-8"?> <ListOfBatches> <Batch No="0"> <Procedure Name="co_GetOnlineStatus_Pu"> <Parameters> <Parameter Name="CommunityID"><!-- smallint value --></Parameter> <Parameter Name="UniqueID"><!-- varchar value --></Parameter> <Parameter Name="PersonIdentificationValues"><!-- varchar value --></Parameter> <!-- <Parameter Name="Status">1</Parameter> --> <!-- <Parameter Name="NoResult">0</Parameter> --> <!-- <Parameter Name="SeparatorInIdentVals">'¶'</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>