Löst einen „PrepaidCode“ ein, wodurch das Guthaben-Konto einer Person „aufgeladen“ wird. Das geht natürlich nur, wenn der Code…
Hinweis : „Guthaben“-Konto bedeutet das Konto des identifizierten Inhabers zur Kontoart „Guthaben“ („CashAccountTypeID = 1“) - die Kontoart ist also in der Prozedur hart codiert und kann nicht angegeben werden.
Anmerkung zum Parameter „PrepaidCode“ :
Mögliche Werte für einen „PrepaidCode“ sind Auftrags-Positions-Informationen zur Informations-Art „PrepaidCode“ (ID „25“), die für „Gutschein-Artikel“ (wodurch natürlich auch der Wert bestimmt ist) generiert wurden. Unter einem „Gutschein-Artikel“ sind Artikel mit der Eigenschaft „1“ zum Merkmal „Prepaid-Code Artikel“ (ID „25“) zu verstehen. Generiert wird ein Code für einen solchen „Gutschein-Artikel“ genau dann, wenn die entsprechende Position in einen Status der Kategorie „Prepaid-Code generieren“ (ID „4“) wechselt.
HTTP-Method | POST |
HTTP-Auth | Optional |
Tags | |
Engine-Kategorie | order management |
Engine-Typ | Daten-Änderung |
Letzte Aktualisierung | 7.0.7 (2015-01-29) |
Name 1) | Standard-Wert | Beschreibung 2) | SQL-Datentyp3) | ab Version |
---|---|---|---|---|
PrepaidCode | Ein Code, mit dem das (Guthaben-)Konto aufgeladen werden soll. Mögliche Werte sind Auftrags-Positions-Informationen zur Informations-Art „PrepaidCode“ (ID „25“), die für „Gutschein-Artikel“ (wodurch natürlich auch der Wert bestimmt ist) generiert wurden. | varchar(50) | 6.0.2 | |
PersonIdentificationValues | Liste von Werten, die den Kontoinhaber identifizieren. Diese Werte müssen Eigenschaften zu den Merkmal-IDs sein, die in „PersonTypeSettings“ zur „PersonTypeID“ zum Schlüssel „PersonIdentificationIDs“ hinterlegt sind. | varchar(255) | 6.0.2 | |
PersonTypeID | ID des Personen-Typs dem die zu identifizierende Person angehört. Dieser muß bei einer Identifizierung immer mit angegeben werden, da die Merkmale zur Identifizierung pro Personentyp variieren können. | tinyint | 6.0.2 | |
UniqueID | Eindeutige ID eines Besuchers, die der zu identifizierenden Person zuzuordnen ist. Wenn die Identifizierungsdaten bereits in „SessionManagement“ (zur „UniqueID“) gespeichert sind, darf „PersonIdentificationValues“ „NULL“ sein bzw. den Wert '' enthalten. | varchar(50) | 6.0.2 | |
TransactionComment | Hier muß (!) man eine Bemerkung angeben, die zu der aus der Einlösung resultierenden Transaktion (übrigens zur Transaktions-Art „Guthabenaufladung durch Codeeingabe“, ID „5“) hinterlegt wird (und die dem Kontoinhaber angezeigt wird). | varchar(100) | 6.0.2 | |
SeparatorInIdentVals | '¶' | Gibt an, durch welche Zeichenkette die Werte in „PersonIdentificationValues“ getrennt sind | varchar(4) | 6.0.2 |
Die Prozedur hat keine Rückgaben.
Die Prozedur hat keine Output-Parameter.
Code | Beschreibung | Quelle 4) |
---|---|---|
-1323 | Die Person besitzt kein Konto zum angegebenen Typ | nur indirekt |
-1322 | Transaktion kann nicht durchgeführt weden, da der Status des Kontos dies nicht erlaubt | nur indirekt |
-1321 | Transaktion kann nicht durchgeführt weden, da das Konto keine ausreichende Deckung aufweist | nur indirekt |
-1303 | Validierung fehlgeschlagen, da die maximale Menge an Einlösungen für diesen Code erreicht ist | nur indirekt |
-1302 | Validierung fehlgeschlagen, da der Code nicht mehr gültig ist | nur indirekt |
-1301 | Validierung fehlgeschlagen, da der Code nicht existiert | 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 |
-503 | Fehlerhafte Daten in einer Tabelle - genauere Fehlermeldung auf der Standardausgabe | nur indirekt |
-502 | Die Parameter-Werte der Prozedur können nicht verarbeitet werden (kein passendes Trennzeichen) | nur indirekt |
-501 | Der Parameter „TableID“ und/oder der Parameter „TableKeyID“ ist ungültig | nur indirekt |
-500 | Falsche Parameter | nur indirekt |
Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema Response/EngineProcedure_v1_0.xsd validiert.
7.0.7 | 2015-01-29 | „Start-/Finish-Procedure“-Logik eingebaut, s. Ticket #3670 |
6.5.4 | 2013-04-29 | Parameter „SeparatorInIdentVals“ auf „varchar[4]“ erweitert wg. UTF-Unterstützung |
6.0.2 | 2011-06-08 | 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 POST 'http://<partner>-<project>.dstore.de/default/engine/om_RedeemPrepaidCode_Pu?PrepaidCode=<value>&PersonIdentificationValues=<value>&PersonTypeID=<value>&UniqueID=<value>&TransactionComment=<value>'
Mit xmllint 5) formatierte Ausgabe:
curl -X POST 'http://<partner>-<project>.dstore.de/default/engine/om_RedeemPrepaidCode_Pu?PrepaidCode=<value>&PersonIdentificationValues=<value>&PersonTypeID=<value>&UniqueID=<value>&TransactionComment=<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'), 'om_RedeemPrepaidCode_Pu', array( 'PrepaidCode' => '<value>', 'PersonIdentificationValues' => '<value>', 'PersonTypeID' => <value>, 'UniqueID' => '<value>', 'TransactionComment' => '<value>', // 'SeparatorInIdentVals' => '¶' ) ); $service->execute($request); $xml_result = $request->getResponse()->getBody()->toSimpleXmlDocument(); $ResultSet = $xml_result->getRowsAsArray();
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="om_RedeemPrepaidCode_Pu"> <Parameters> <Parameter Name="PrepaidCode"><!-- varchar value --></Parameter> <Parameter Name="PersonIdentificationValues"><!-- varchar value --></Parameter> <Parameter Name="PersonTypeID"><!-- tinyint value --></Parameter> <Parameter Name="UniqueID"><!-- varchar value --></Parameter> <Parameter Name="TransactionComment"><!-- varchar value --></Parameter> <!-- <Parameter Name="SeparatorInIdentVals">'¶'</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>