product_get
Methode zum Abrufen eines Produktes.
Informationen zu den Datenfelder eines Produktes finden Sie unter: Daten-Typ "Produkt" sowie unter: Daten-Typ "Produkt-Preis".
$Params | Pflicht | Beschreibung | Beispiel |
---|---|---|---|
[fields] | optional |
String/Array (faster). Liste der Fields, die returned werden sollen. Wird nichts angegeben wird "*" angenommen, d.h. alle im Model hinterlegten Felder. Es sollten nur die Felder angegeben werden, die auch wirklich benötigt werden. Speziell bei Multi-Table-Models werden dann auch nur die Tables im SELECT dazu geJOINed, die benötigt werden. |
Als String: "pcode,name,desc_short".
Als Array: |
[filter][<field>] | optional |
String. Pro Field kann hier ein Wert angegeben werden, der dann im WHERE-Statement aufgenommen wird. Im Falle eines virtuellen Fields, wird das in "drvd_select" hinterlegte SQL in das WHERE-Statement mit aufgenommen.
Es wird immer mit "<field> = '<auto-escaped Value>' " gesucht. Mehrere Filter-Felder werden mit AND verknüpft. Die übergebenen Werte werden automatisch escaped (Schutz vor SQL-Injection). Hiermit können einfache, SQL-Injection-sichere Filterkriterien realisiert werden. Für komplexere WHERE-Statements bitte [xwhere] benutzen! MySQL-wildcard-Filter "%" können hier aktuell leider nicht verwendet werden, da auch bei Text-Feldern mit "=" geprüft wird und nicht mit SQL LIKE. |
['pcode'] ="ABC" |
[filter][<field>][search] | optional |
String. Pro Field kann hier ein Suchbegriff angegeben werden, der Field-Typ-spezifisch (INT, FLOAT, TEXT, DATE, DATETIME) interpretiert wird. Wird diese Option genutzt kann natürlich nicht zuvor genannte [filter][<field>]-Abfrage für dieses Feld genutzt werden. |
Text: "my_* || ecms_* || *.class.*" |
Array-Key | Typ | Beschreibung |
---|---|---|
[status] | boolean |
TRUE: Wenn die Datenabfrage durchgeführt werden konnte. FALSE: Wenn es bei der Ausführung einen Fehler gab. |
[msg][<n>][type|text] | string |
Message-Stack Ein optionales Array, um Message-Strings zur Ausgabe in der GUI und Message-Codes zurückzugeben. Vor allem bei Ausführungsfehlern ( [status]=FALSE) sollte hier etwas zurückgegeben werden.
Numerisches Array (mit n von 0 bis N). Es können prinzipiell beliebig viele Messages zurückgegeben werden. [ type] ist typischerweise einer der folgenden Werte:
|
[data][<fields>] | mixed |
Die eigentlichen Daten des angeforderten Datensatzes in einem assoziativen Array. |
Nachfolgend ein paar Beispiele zur Nutzung der API Ressource product_get.
Es soll das Produkt mit der Artikelnummer "TS00001-XS" zurückgeliefert werden.
/* * Beispielaufruf des API-URL-Calls für die zu übergebenen Parameter * - zur Filterung muss die Artikelnummer in pcode-Filter übergeben werden */ <your_api_url>&resource=product_getList¶ms[filter][pcode]='TS00001-XS'
Das Result der Abfrage ist ein JSON String.
/* * Beispiel-JSON für das Result der Abfrage im Erfolgsfall */ { "status" : true, "msg" : null, "data" : { "pcode" : "T00001-XS", // Artikelnummer "name" : "T-Shirt mit Logo", // Name des Produktes "description" : "Dieses T-Shirt passt perfekt zu Dir", // Beschreibungstext des Produktes, kann HTML enthalten "desc_short" : "100% Baumwolle - Perfekte Passform", // Kurzbeschreibungstext des Produktes, kann HTML enthalten "price" : 19.95, // normaler Brutto-Preis "discount" : 14.97, // Brutto Discount-Preis "ecs_price_brutto" : 14.97, // dynamisches Feld: aktuell gültiger Preis, mit Discount-Preis gefüllt, wenn dieser gültig ist, ansonsten normaler Brutto-Preis "ecs_uvp_brutto" : 19.95, // dynamisches Feld: normaler Brutto-Preis des Produktes, ist nur gefüllt wenn ein Discount-Preis gesetzt wurde. Ansonsten "false" "ecs_discount_pct" : 25.00, // dynamisches Feld: Discount-Prozente, nur gefüllt wenn ein Discount-Preis gesetzt wurde. "ean" : 1129837473843, // EAN/GTIN des Produktes "files_img" : { 0 : { "mb_label" : "productbild_t00001-xs", // Mediabase-Label des Produktbildes "mb_title" : "Super T-Shirt mit Logo", // Titel des Bildes in der Mediabase, kann z.B. als ALT-Attribut verwendet werden "mb_caption" : null, // möglicher Untertitel zu einem Bild "mb_path" : "\path\to\image", // Pfad zum Bild [...] // weitere Mediabase-Daten }, <n> : {...} // Daten zu weiteren Bildern }, {...} // alle weiteren Felder aus dem Daten-Typ "Produkt" sowie "Produkt-Preis" (siehe oben) } }