Produktdatensuche (live)
Im Menü-Punkt “Manuals” im Publisher-Interface von TradeDoubler gibt es Dokument namens “Product Feed Manual”. Da dieses schon ein wenig angestaubt ist, möchte ich hier, wie man sich diese sog. “Unlimited List” für eine Produktsuchmaschine zu eigen macht, ohne dass man die Daten selber in einer Datenbank vorhalten muss, da das schon TradeDoubler für einen macht. In diesem Beitrag erkläre ich kurz, wie man das mit ein paar Zeilen PHP5-Code sehr einfach bewerkstelligen kann. Wie das dann aussehen kann, kann man sich unter kauf-base.de anschauen.
Freischaltung von TradeDoubler
Bevor man damit allerdings loslegen kann, muss man sich bei TradeDoubler einen Account erstellen, wenn man noch keinen hat. Zusätzlich muss man beim Support von TradeDoubler (support.de at tradedoubler.com) sich für die “Unlimited List” freischalten lassen.
Aufbau Abfrage URL
| Feld | Beschreibung | Beispiel |
|---|---|---|
| productName | nach Stichpunkten im Produktnamen suchen | (Panasonic LCD) |
| description | nach Stichpunkten in der Produktbeschreibung suchen | (Panasonic LCD) |
| minPrice | minimaler Preis | 94.93 |
| maxPrice | maximaler Preis | 94.93 |
| sort | Sortierung nach | price oder name |
| recurse | Sortierreihenfolge | recurse |
| maxResults | max Anzahl an Treffern | 1 - 100 |
| programs | beschränkt Suche auf bestimmte Programme | 3289,5488,17569 |
| categoryId | beschränkt Suche auf eine bestimmte Kategorie | 40 |
| recurse | sucht auch in Unterkategorien der unter categoryId angegebenen Kategorie | true |
| categoryId | beschränkt Suche auf eine bestimmte Kategorie | 40 |
| g | Die Daten nur eines bestimmten Produkts abrufen (TradeDoubler ID) | 70484149 |
| exclProductIds | Schließt bestimmte Produkte aus der Suche aus | 10320115,12150946 |
PHP Script
<?php $websiteId = ''; //insert your website Id here $tdUrl = 'http://pf.tradedoubler.com/pf/pf?' . 'a=' . $websiteId . '&' . 'xmlVersion=2&' . 'charset="UTF-8"&' . 'lang=de&' . 'sortBy=price&' . 'maxResults=100&' . 'productName=(Panasonic LCD)'; $ch = curl_init(); $timeout = 10; curl_setopt($ch, CURLOPT_URL, $tdUrl); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $data = curl_exec($ch); curl_close($ch); try { $xml = new SimpleXMLElement($data); } catch (Exception $e) { //throw new Exception ("could not connect to TradeDoubler's product feed "); //if executed out of a class } foreach ($xml->product AS $array) { } //var_dump($xml); //to see all fields of response