. .

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

  1. <?php
  2.  
  3. $websiteId = ''; //insert your website Id here
  4.  
  5. $tdUrl = 'http://pf.tradedoubler.com/pf/pf?' .
  6. 'a=' . $websiteId . '&' .
  7. 'xmlVersion=2&' .
  8. 'charset="UTF-8"&' .
  9. 'lang=de&' .
  10. 'sortBy=price&' .
  11. 'maxResults=100&' .
  12. 'productName=(Panasonic LCD)';
  13.  
  14. $ch = curl_init();
  15. $timeout = 10;
  16. curl_setopt($ch, CURLOPT_URL, $tdUrl);
  17. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  18. curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
  19. $data = curl_exec($ch);
  20. curl_close($ch);
  21.  
  22. try {
  23. $xml = new SimpleXMLElement($data);
  24. } catch (Exception $e) {
  25. //throw new Exception ("could not connect to TradeDoubler's product feed "); //if executed out of a class
  26. exit();
  27. }
  28.  
  29. foreach ($xml->product AS $array) {
  30. echo $array->TDProductId . "<br/>";
  31. echo $array->imageUrl . "<br/>";
  32. echo $array->productUrl . "<br/>";
  33. echo $array->name . "<br/>";
  34. echo $array->price . "<br/>";
  35. echo $array->currency . "<br/>";
  36. echo $array->programName . "<br/>";
  37. echo $array->programLogo . "<br/>";
  38. echo $array->description . "<br/>";
  39. }
  40.  
  41. //var_dump($xml); //to see all fields of response