Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:om_modifycampbundlepricing_ad

om_ModifyCampBundlePricing_Ad

Prozedur, um einen für Verkaufs-Aktionen zu verwendenden Bundle-Preis-Benefit anlegen/ändern/löschen zu können.

Hintergrund :
Der Benefit-Typ „Bundle-Preis“ für Verkaufs-Aktionen bietet die Möglichkeit, Sets von Artikeln definieren zu können, die vergünstigt angeboten werden („3 für 2“ oder „2 XY zum Preis von …“ etc.). Die Definition solcher Sets erfolgt durch om_ModifyBundleItemSets_Ad und die Zuweisung erfolgt via om_ModifySetsForBunBenefits_Ad.

Allgemeine Anmerkungen :
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 „CampaignBenefits“ vorher gelöscht (was man normalerweise mit om_ModifyCampaignBenefits_Ad macht).

Anmerkungen zum Parameter „BundlePriceOrDiscount“ :

1.) Bei „BundlePricingTypeID = 0“ ist hier ein Festpreis (Wert muß „> 0“ sein) für das Bundle anzugeben. Die Währung wird durch den „CampaignSettings“-Eintrag „CurrencyID“ bzw. die „DefaultCurrencyID“ bestimmt, und ob der Preis brutto oder netto zu verstehen ist, gibt man durch „NetBasedPricing“ an.

2.) Falls „BundlePricingTypeID“ den Wert „1“ oder „2“ enthält, gibt man hier den gewünschten prozentualen Rabatt an (positiver Prozent-Wert, i.d.R. wohl z.B. 100 oder 50), der auf den günstigsten/teuersten Artikel gewährt werden soll.

3.) In allen anderen Fällen belegt man den Parameter am besten mit „NULL“, er wird aber sowieso nicht beachtet.

HTTP-MethodPOST
HTTP-AuthOptional
Aliasom_ModifyCampaignBundlePricing_Ad
Tags
Engine-Kategorieorder management
Engine-TypDaten-Änderung
Letzte Aktualisierung7.0.7 (2015-01-29)

Parameter

BundlePricingTypeID ID der Art, wie der (Ziel-)Preis für das Bundle bestimmt wird. Mögliche Werte : s. om_GetBundlePricingTypes_Ad.
tinyint7.0.5
BundlePriceOrDiscount Je nach „BundlePricingTypeID“ :
- „0“ : Festpreis
- „1“ : Prozentualer Rabatt für den günstigsten Artikel im Bundle
- „2“ : Prozentualer Rabatt für den teuersten Artikel im Bundle
- Sonst unbeachtet
(s.a. Beschreibung)
decimal(12,2)7.0.5
NetBasedPricing0 Bestimmt je nach „BundlePricingTypeID“, ob der Festpreis (ID „0“) in brutto oder netto angegeben ist bzw. (alle anderen IDs) welcher Preis (ob brutto oder netto) bei der Bestimmung „günstigster/teuerster Artikel“ herangezogen werden soll
bit7.0.6
DeleteBenefit0 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
tinyint7.0.5

Rückgabe

Die Prozedur hat keine Rückgaben.

Output-Parameter

BenefitIDID eines Bundle-Preis-Benefits. „NULL“ angeben, um einen neuen Benefit anzulegen (die neue ID kann man dann diesem Ausgabeparameter entnehmen).

Mögliche Return-Codes

Code Beschreibung Quelle 1)
-1213Der Benefit kann nicht gelöscht werden, da er einer inaktiven Campaign zugeordnet istnur direkt
-1211Der Benefit kann nicht geändert/gelöscht werden, da er in einer aktiven Campaign verwendet wirdnur direkt
-569Der Benutzer hat kein Ausführungsrecht für die Prozedurnur indirekt
-567Die Prozedur darf z. Zt. nicht ausgeführt werdennur indirekt
-566Die Prozedur darf mit den übergebenen Parametern nicht ausgeführt werdennur indirekt
-535Das Datum liegt nicht in der Vergangenheitnur indirekt
-530Der Wert ist nicht konvertierbarnur indirekt
-510Der Benutzer ist nicht registriertnur indirekt
-504Es ist ein Problem aufgetreten, das nicht gelöst werden kann, Prozedur wird daher abgebrochennur indirekt
-500Falsche Parameterdirekt und indirekt

XML-Schema

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

Historie

7.0.7 2015-01-29Interne Änderung : Datentyp-Erweiterung des „ReferenceKey“ [für „_mi_StartProcedure“-Aufruf]
7.0.6 2014-06-231. Doku-Änderung für Parameter „BundlePriceOrDiscount“
2. Neuer Parameter „NetBasedPricing“
3. Parameter „AbsDiscountSurchargeTypeID“ ist entfallen
4. Es fehlte der „⇐ 100“-Check für „BundlePriceOrDiscount“ im Fall „BundlePricingTypeID IN (1,2)„
7.0.5 2014-05-26Erstmalig 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/om_ModifyCampBundlePricing_Ad?BundlePricingTypeID=<value>&BundlePriceOrDiscount=<value>'

Mit xmllint 2) formatierte Ausgabe:

curl -X POST  'http://<partner>-<project>.dstore.de/default/engine/om_ModifyCampBundlePricing_Ad?BundlePricingTypeID=<value>&BundlePriceOrDiscount=<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'),
	'om_ModifyCampBundlePricing_Ad',
		array(
			'BundlePricingTypeID' => <value>,
			'BundlePriceOrDiscount' => <value>,
			// 'NetBasedPricing' => 0,
			// 'DeleteBenefit' => 0
		)
);
 
$service->execute($request);
 
			$xml_result = $request->getResponse()->getBody()->toSimpleXmlDocument();
			$ResultSet = $xml_result->getRowsAsArray();
 
$OutputParams = $xml_result->getOutputParametersAsArray();
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="om_ModifyCampBundlePricing_Ad">
			<Parameters>
				<Parameter Name="BundlePricingTypeID"><!-- tinyint value --></Parameter>
				<Parameter Name="BundlePriceOrDiscount"><!-- decimal value --></Parameter>
				<!-- <Parameter Name="NetBasedPricing">0</Parameter> -->
				<!-- <Parameter Name="DeleteBenefit">0</Parameter> -->
			</Parameters>
		</Procedure>
	</Batch>
</ListOfBatches>
1)
direkt meint „von der Prozedur selber“ und indirekt meint „von intern aufgerufenen Unterprozeduren“
2)
I.d.R. auf Unix-artigen Systemen bereits installiert, Bestandteil der libxml2, siehe http://www.xmlsoft.org
engine/procedures/om_modifycampbundlepricing_ad.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)