Prozedur, um einen für Verkaufs-Aktionen zu verwendenden Benefit des Typs „Rabatt auf Zusatzkosten (eines Auftrags)„
anlegen/ändern/löschen zu können.
Hinweise :
1.) Sofern „BenefitID“ einer AKTIVEN Verkaufs-Aktion zugeordnet ist, kann NICHTS mehr verändert (also auch Löschen ist nicht möglich) werden (ggf. gibt es dann also einen Fehler) !
2.) Das Löschen eines Benefits schlägt auch dann fehl, wenn er einer INAKTIVEN Verkaufs-Aktion zugeordnet ist. Übergibt man aber den Wert „2“ für „DeleteBenefit“, werden evtl. vorhandene Datensätze zur „BenefitID“ in „CampaignOrderSurchDiscounts“ vorher gelöscht (was man normalerweise mit om_ModifyCampaignBenefits_Ad macht).
HTTP-Method | POST |
HTTP-Auth | Optional |
Alias | om_ModifyCampaignOrderSurchargeDiscounts_Ad |
Tags | |
Engine-Kategorie | order management |
Engine-Typ | Daten-Änderung |
Letzte Aktualisierung | 7.0.8 (2015-08-21) |
ApplyToSurchargeTypeID | ID des „Surcharges“, auf den ein Rabatt vergeben werden soll. Erlaubt sind nur „Surcharges“, die einer der folgenden Kategorien zugeordnet sind : - „Versandkosten“ („SurchargeTypeCategoryID = 3“) - „Zahlungskosten“ („SurchargeTypeCategoryID = 4“) | smallint | 6.5.0 | |
DiscountSurchargeTypeID | Definiert zusammen mit „DiscountValue“ den (relativen) Rabatt, der auf durch „ApplyToSurchargeTypeID“ verursachte Zusatz-Kosten vergeben werden soll. Die ID muß der Kategorie „Relative Rabatte“ („SurchargeTypeCategoryID = 1“) angehören ! | smallint | 6.5.0 | |
DiscountValue | Definiert zusammen mit „DiscountSurchargeTypeID“ den (relativen) Rabatt, der auf durch „ApplyToSurchargeTypeID“ verursachte Zusatz-Kosten vergeben werden soll. Der Wert muß “> 0“ und „⇐ 100“ sein ! | decimal(16,6) | 6.5.0 | |
DeleteBenefit | 0 | Wird nur beachtet, wenn „BenefitID“ angegeben ist. - „0“ : Benefit ändern - „1“ : Benefit löschen - schlägt fehl, wenn „BenefitID“ einer inaktiven Aktion zugeor. ist - „2“ : Benefit löschen selbst wenn „BenefitID“ einer inaktiven Aktion zugeor. ist | tinyint | 6.5.0 |
Die Prozedur hat keine Rückgaben.
BenefitID | ID eines „Rabatt auf Zusatzkosten“-Benefits. „NULL“ angeben, um einen neuen Benefit anzulegen (die neue ID kann man dann diesem Ausgabeparameter entnehmen). |
Code | Beschreibung | Quelle 1) |
---|---|---|
-1213 | Der Benefit kann nicht gelöscht werden, da er einer inaktiven Campaign zugeordnet ist | nur direkt |
-1211 | Der Benefit kann nicht geändert/gelöscht werden, da er in einer aktiven Campaign verwendet wird | nur direkt |
-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 |
-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 |
-500 | Falsche Parameter | direkt und indirekt |
Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema Response/EngineProcedure_v1_0.xsd validiert.
7.0.8 | 2015-08-21 | Fehler in „print“-Ausgabe in einem „-500“-Fall behoben |
7.0.7 | 2015-01-29 | Interne Änderung : Datentyp-Erweiterung des „ReferenceKey“ [für „_mi_StartProcedure“-Aufruf] |
6.5.0 | 2012-09-17 | 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_ModifyCampOrderSurchDisc_Ad?ApplyToSurchargeTypeID=<value>&DiscountSurchargeTypeID=<value>&DiscountValue=<value>'
Mit xmllint 2) formatierte Ausgabe:
curl -X POST 'http://<partner>-<project>.dstore.de/default/engine/om_ModifyCampOrderSurchDisc_Ad?ApplyToSurchargeTypeID=<value>&DiscountSurchargeTypeID=<value>&DiscountValue=<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_ModifyCampOrderSurchDisc_Ad', array( 'ApplyToSurchargeTypeID' => <value>, 'DiscountSurchargeTypeID' => <value>, 'DiscountValue' => <value>, // 'DeleteBenefit' => 0 ) ); $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="om_ModifyCampOrderSurchDisc_Ad"> <Parameters> <Parameter Name="ApplyToSurchargeTypeID"><!-- smallint value --></Parameter> <Parameter Name="DiscountSurchargeTypeID"><!-- smallint value --></Parameter> <Parameter Name="DiscountValue"><!-- decimal value --></Parameter> <!-- <Parameter Name="DeleteBenefit">0</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>