Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:mi_insertvisitorinformation_pu

mi_InsertVisitorInformation_Pu

Speichert eine bestimmte Information zu einem Besucher (in der Tabelle „VisitorInformation“).

Hinweise :

1.) Sollte zu der übergebenen „UniqueID“ noch kein Besucher (in „Visitors“) vorhanden sein, wird automatisch ein neuer Datensatz für diesen Besucher angelegt! Die Werte für „LanguageID“ und „CurrencyID“ werden aus „Settings“ (Schlüssel „DefaultLanguageID“ bzw. „DefaultCurrencyID“) genommen, als „CountryID“ wird die „0“ eingetragen.
Anmerkung :
Dies ist derzeit neben pm_CheckPersonIdentity_Pu (die ebenfalls einen Besucher automatisch anlegt, falls die übergebene „UniqueID“ nicht existiert) die einzige Möglichkeit, einen Besucher überhaupt anzulegen (d.h. es gibt keine Prozedur der Art mi_InsertVisitor_Pu) !

2.) Um nicht unnötig viele Datensätze in „VisitorInformation“ (aus Versehen oder in „böser Absicht“) erzeugen zu können, gibt es zwei Schutz-Maßnahmen :

a) In „Settings“ kann man über den Eintrag zum Schlüssel „MinDelayTimeForVisitorInformationInSeconds“ konfigurieren, wieviele Sekunden mindestens vergangen sein müssen, bevor wir zum selben Besucher und zur selben Informations-Art (irgend)eine weitere Information speichern dürfen. Ist dieser Eintrag NICHT konfiguriert, wählen wir automatisch den Wert „10“, bei einem Wert kleiner als „1“ wählen wir automatisch den (Mindest-)Wert „1“ !

b) Weiter gibt es eine Konfiguration in „Settings“ zum Schlüssel „MinDelayTimeForSameVisitorInformationInSeconds“, der festlegt, wieviele Sekunden mindestens vergangen sein müssen, bevor wir zum selben Besucher und zur selben Informations-Art dieselbe (!) Information speichern. Ist dieser Eintrag NICHT konfiguriert, wählen wir automatisch den Wert „3.600“ (1 Stunde), bei einem Wert kleiner als „1“ wählen wir automatisch den (Mindest-)Wert „1“ !

Bei Verletzung dieser zeitlichen Mindest-Abstände speichern wir einfach nichts, es gibt aber auch KEINEN Fehler. Wir geben lediglich via „print“ einen Hinweis aus.
Führt die Konfiguration (bzw. der automatisch gewählte Wert) bzgl. „MinDelayTimeForSameVisitorInformationInSeconds“ dazu, daß der zeitliche Mindest-Abstand hierfür KLEINER ist als der bzgl. „MinDelayTimeForVisitorInformationInSeconds“ (was absolut keinen Sinn macht), wird letzterer auch als Wert für „MinDelayTimeForSameVisitorInformationInSeconds“ gewählt.

HTTP-MethodPOST
HTTP-AuthOptional
Tags
Engine-Kategoriemiscellaneous
Engine-TypDaten-Änderung
Letzte Aktualisierung7.0.4 (2014-03-19)

Parameter

Name 1) Standard-Wert Beschreibung 2) SQL-Datentyp3) ab Version
UniqueID Eindeutige ID eines Besuchers (aus „Visitors“)
varchar(50)3.5.0
VisitorInformationTypeID ID eines Informationstyps (z.B. die IP-Adresse)
smallint3.5.0
VisitorInformation Die Information, die eingetragen werden soll
varchar(50)3.5.0

Rückgabe

Die Prozedur hat keine Rückgaben.

Output-Parameter

Die Prozedur hat keine Output-Parameter.

Mögliche Return-Codes

Code Beschreibung Quelle 4)
-621Fehlender oder falscher Eintrag in PersonTypeSettingsnur indirekt
-602Zur defaultUniqueID („VisitorID = -2“) können keinerlei Daten gespeichert oder verändert werdennur direkt
-550Fehlender oder falscher Eintrag in Settingsnur indirekt
-500Falsche Parameternur direkt

XML-Schema

Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema Response/EngineProcedure_v1_0.xsd validiert.

Historie

7.0.4 2014-03-19Kleine Kosmetik-Korrektur : Bei einigen Code-Zeilen war am Ende ein CR-Zeichen, was wir entfernt haben
6.0.6 2012-03-01Beachtung des neuen, speziellen Besuchers „defaultUniqueID“ - für den keine Daten-Speicherung/-Änderung erlaubt ist
6.0.0 2010-03-261. Implementierung neuer „Settings“-Einträge
2. Interne Änderung bei Neu-Anlage eines „Visitors“
3. Prüfung von „VisitorInformationTypeID“ und „VisitorInformation“
4. Datentyp-Erweiterung „VisitorInformation“ von „varchar(30)“ auf „varchar(50)„
3.5.0 2000-11-23Erstmalig in dieser Version erstellt

Code-Snippets

Engine Playground

Der folgende Link öffnet in einem separaten Fenster den Engine Playground der fest mit dem dbap-demo System verbunden ist:

cURL

Unformatierte Ausgabe:

curl -X POST  'http://<partner>-<project>.dstore.de/default/engine/mi_InsertVisitorInformation_Pu?UniqueID=<value>&VisitorInformationTypeID=<value>&VisitorInformation=<value>'

Mit xmllint 5) formatierte Ausgabe:

curl -X POST  'http://<partner>-<project>.dstore.de/default/engine/mi_InsertVisitorInformation_Pu?UniqueID=<value>&VisitorInformationTypeID=<value>&VisitorInformation=<value>' | xmllint --format -
dStore_php
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'),
	'mi_InsertVisitorInformation_Pu',
		array(
			'UniqueID' => '<value>',
			'VisitorInformationTypeID' => <value>,
			'VisitorInformation' => '<value>'
		)
);
 
$service->execute($request);
 
			$xml_result = $request->getResponse()->getBody()->toSimpleXmlDocument();
			$ResultSet = $xml_result->getRowsAsArray();
engine/execute

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="mi_InsertVisitorInformation_Pu">
			<Parameters>
				<Parameter Name="UniqueID"><!-- varchar value --></Parameter>
				<Parameter Name="VisitorInformationTypeID"><!-- smallint value --></Parameter>
				<Parameter Name="VisitorInformation"><!-- varchar value --></Parameter>
			</Parameters>
		</Procedure>
	</Batch>
</ListOfBatches>
1)
Pflichtparameter sind unterstrichen
4)
direkt meint „von der Prozedur selber“ und indirekt meint „von intern aufgerufenen Unterprozeduren“
5)
I.d.R. auf Unix-artigen Systemen bereits installiert, Bestandteil der libxml2, siehe http://www.xmlsoft.org
engine/procedures/mi_insertvisitorinformation_pu.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)