Service

Amazon E-Commerce-Service nutzen

Lieblingslisten per Amazon-API auf die eigene Website bringen

Der ehemaliger Buchversender, bei dem man inzwischen so ziemlich alles kaufen kann, was das Herz begehrt, bietet schon seit geraumer Zeit diverse Dienste an, derer sich Webmaster bedienen können, um auf der eigenen Website entweder Werbung für das ein oder andere Produkt zu machen oder seinen Lesern einen kompletten kleinen Shop anzubieten. Ziel des Ganzen ist es natürlich an jedem getätigten Kauf etwas mitzuverdienen. Dies geschieht im Allgemeinen durch Gutschriften, die der Teilnehmer am sog. Amazon Partner Net dann gegen Bücher oder DVD's eintauschen kann.

Auch auf dieser Seite befinden sich ein paar Buchempfehlungen, die auf Amazon verlinkt sind. Die Kaufraten lassen mich jedoch jedes Mal schmunzeln, denn auf dem Bericht, der mir ab und zu von Amazon geschickt wird, steht immer ein fette 0. Aber man gibt ja nicht auf. Vielleicht liegt es daran, dass mein Angebot bislang hard-coded war, als etwas die Dynamik fehlte. Um die Datenbasis etwas breiter zu gestalten und den Pflegeaufwand zu minimieren ist das Ziel einer kleinen Renovierungsaktion, über die ich hier berichten möchte.

Ansatzpunkt dabei ist die sehr umfangreiche Amazon-API, also die Schnittstellen, die das Unternehmen Webmastern bietet. Diese bauen allesamt auf XML auf, das sich mit den unterschiedlichsten Programmiersprachen verarbeiten lässt.

Im Folgenden möchte ich anhand von einzelnen Schritte darlegen, wie man die Aufgabe am effizientesten lösen kann, auch wenn Amazon es einem durch ein undurchschaubares Dickicht an Anmeldungen, Schlüsseln und Webseiten nicht leicht macht. Es wäre wünschenswert, wenn das Unternehmen die Struktur des Ganzen in Zukunft etwas benutzerfreundlicher gestalten könnte.

Schritt 1: Amazon-Partner werden

Grundlegende Voraussetzung ist zunächst einmal, am Amazon Partner Net teilzunehmen. Nach erfolgreicher Anmeldung bekommt man eine sog. Tracking-ID zugewiesen, die als "Erkennungszeichen" in der angeklickten URL einer Produktempfehlung mitgeschickt wird, damit Amazon die anstehende Gutschrift richtig zuordnen kann.

Schritt 2: Access Key Identifier beantragen

Um den Zugriff auf die Schnittstellen etwas zu limitieren, verlangt Amazon vom nutzungswilligen Webmaster einen kostenlosen Schlüssel zu beantragen, ohne den ein Abruf der Amazon-Daten nicht möglich ist. Diese sog. Access Key ID ist eine 20-stellige Zeichenfolge, die eindeutig einem Partner zugeordnet werden kann. Man erhält sie über die englisch-sprachigen Seiten der Amazon Web Services.

Nachdem man sich dort mit seinem normalen Amazon-Account angemeldet und über die Schaltfläche "Sign up for Web Service" die Teilnahme am Dienst aktiviert hat, findet man nach etwas Sucherei auf der Seite irgendwann den Menüpunkt "AWS Access Identifiers".

Tipp: mit der Maus einen Augenblick auf der Schaltfläche "Your Web Services Account" verweilen, dann zeigt sich ein Kontextmenü... :)

Es gibt zwei verschiedene Schlüssel. Einmal die normale Access Key ID, für die frei verfügbaren Amazon-Produktdaten und zum anderen den geheimen Secret Access Key, mit dem man als Shop-Profi alle personenbezogenen Daten wie Umsätze et cetera abrufen kann. Uns genügt allerdings ersterer.

Schritt 3: Amazon-Listen anlegen

Die Datenbasis. Sicherlich ist es möglich die Produktinformationen, die man auf der eigenen Seite darstellen möchte, in einer Datenbanktabelle oder etwas ähnlichem zu pflegen, aber es stellt sich die Frage, warum lässt man das nicht Amazon erledigen? Das Unternehmen bietet schließlich mit den verschiedenen Listen (Lieblingslisten, Wunschlisten und Hochzeitslisten) die perfekte Basis dafür. Zudem lassen sich dadurch alle benötigten Informationen der darzustellenden Produkte in einem Rutsch abrufen.

Zum Anlegen z.B. einer Lieblingsliste, wie sie hier Verwendung findet, meldet man sich mit seinem normalen Amazon-Account am Shop an und wechselt auf die Seite "Mein Konto". Dort findet man im unteren Bereich den Punkt "Ihr Profil @ Amazon".

Tipp: Verwenden Sie NICHT den Link "Neue Lieblingsliste anlegen" BEVOR Sie sich ein Profil angelegt haben, denn sonst schwimmt die Liste im Nirvana und Sie können Sie nicht mehr editieren oder löschen!

Auf Ihrer Profilseite können Sie nun mehr oder minder bequem neue Lieblingslisten anlegen und ihr Produkte zuordnen.

Schritt 4: Einstieg in die API

Amazon bietet über das Resource Center der Amazon Web Services verschiedene Einstiegspunkte in die Welt der Amazon-API. Hervorzuheben wären da vor allem folgende Punkte:

Technical Documentation als Online HTML, PDF oder Windows-Hilfedatei
Code Samples für PHP, C#, VB.NET, Java und Perl

und vor allem AWSZone.com, ein interaktives Tool zur Bestimmung der Abfragesyntax.

Die Abfragetechnik der API wird auch bei Amazon mit den Titeln REST oder SOAP bezeichnet. Mit REST (REpresentational State Transfer) ist im Grunde gemeint, dass der Anwender eine auf gewisse Weise strukturierte URL aufruft und als Antwort eine XML-Struktur geliefert bekommt. SOAP (Simple Object Access Protocol) basiert auf REST und erwartet das der Request, also der Aufruf, nicht über eine URL, sondern bereits über eine XML-Struktur vonstatten geht.

In unserem Beispiel beschränken wird uns auf REST, denn eine URL lässt sich auch mal schnell in einem Browser testen und kann ohne viel Schnickschnack in jeder Sprache eingesetzt werden.

Schritt 5: Die Abfrage-URL bestimmen

Eine weitere kleine Hürde zur Abfrage der Produktinformationen einer Amazon-Liste über die API stellt die eindeutige Listen-ID dar. Nicht dass das Unternehmen dem Anwender im persönlichen Profil schon einmal mitteilen würde wie diese lautet. Nein, man muss sie sich selbst raussuchen. Schwer ist es zwar nicht, aber man muss halt wissen wie...

Hat man eine Lieblingsliste angelegt, kann man diese auch im Browser aufrufen. So sieht die URL meine Lieblingsliste folgendermaßen aus:

http://www.amazon.de/zerbitBooks/lm/RTZKVLKPJQNFP/ref=...

In dieser URL steckt nun auch die Listen-ID. Es handelt sich dabei um die hier 13-stellige Zeichenfolge RTZKVLKPJQNFP.

Mit dieser Information kann man nun daran gehen alle weiteren Parameter zu bestimmen. Basis der Abfrage-URL ist folgende Seite...

http://ecs.amazonaws.de/onca/xml?Service=AWSECommerceService

... an die nun die notwendigen Parameter angehängt werden, wobei die Reihenfolge im Grunde egal ist.

Man muss nun, wie oben bereits erwähnt, angeben, wer hier abfragt. Dies geschieht durch das Anhängen der Access Key ID an die URL, die hier nun SubscriptionID genannt wird:

...&SubscriptionID=XXXXXXXXXXXXXXXXXXXX

Als nächstes muss man festlegen was man abrufen möchte. Dies geschieht über den Parameter Operation. In unserem Fall soll dies ein sog. ListLookup sein, also der Abruf der Daten einer Liste:

...&Operation=ListLookup

Nun folgt die Angabe des Listentyps, denn bei Amazon gibt es wie erwähnt drei verschiedene Listen. Lieblingslisten heißen im Amazon-Jargon Listmania.

...&ListType=Listmania

Nun kommt die ermittelte Listen-ID:

...&ListID=RTZKVLKPJQNFP

Als Letztes wird die sog. ResponseGroup als Parameter angehängt. Diese definiert welche Daten abgerufen werden sollen. Es existieren zur Zeit an die 50 verschiedene Datengruppen, die jede für sich unterschiedliche Daten beinhalten oder andere Datengruppen zusammenfassen. Sie lassen sich im Parameter auch kombinieren.

Möchte man z.B. lediglich den Titel, den Autor und den Hersteller der Produkte erfahren, so genügt die ResponseGroup Small. Das volle Programm, mit allen Daten zu Preisen, Bewertungen, Rezensionen, Bildern, ähnlichen Produkten et cetera, erhält man mit der Angabe von Large.

In unserem Fall möchten wir die Stamminformationen der Produkte und deren Bilder:

...&ResponseGroup=Small,Images

Die komplette URL sieht dann so aus (Zeilen umgebrochen):

http://ecs.amazonaws.de/onca/xml?Service=AWSECommerceService
&SubscriptionId=XXXXXXXXXXXXXXXXXXXX
&Operation=ListLookup
&ListType=Listmania
&ListId=RTZKVLKPJQNFP
&ResponseGroup=Small,Images

Man sollte darauf achten nicht zu viele Daten abzurufen, denn mit der Anzahl der Informationen steigt immer auch die Dauer der Anfrage und die Größe der zu empfangenden XML-Datei. Amazon geht darauf ein, in dem es in der gelieferten XML-Struktur den Ast RequestProcessingTime mitschickt, die aussagt, wie lange der Zugriff gedauert hat.

Schritt 6: Verarbeiten der XML-Daten

Was nun noch bleibt ist, die hereinkommenden Daten zu verarbeiten. Die gelieferte XML-Struktur ist so reich bestückt mit Informationen, das ich hier jetzt mal darauf verzichte, sie auch nur halbwegs abzubilden zu wollen. Neben einem Ast, der noch einmal den erfolgten Request darstellt, sind vor allem die einzelnen ListItem-Äste interessant, denn unter diesem hängen alle Informationen zu den in der Lieblingsliste enthaltenen Produkte. In der aktuellen Version der API werden z.B. bezüglich der Bilder sog. ImageSets mitgeliefert, über die man an die URL's aller vorhandenen Produktbilder herankommt.

Wer sich mit server-seitigen Web-Programmiersprachen wie PHP, ASP oder ASP.NET beschäftigt, wird wissen wie man das jeweilige XMLHTTP-Objekt verwendet, mit dem man derartige XML-Requests abschicken und den Response, also die ankommende XML-Struktur verarbeiten kann. In Sachen ASP gibt hier auf zerbit.de auch den ein oder anderen Artikel, der sich mit diesem Thema beschäftigt.

Natürlich kann man sich des Themas auch von Client-Seite nähern, d.h. das Ganze in Javascript programmieren, wobei wir dann beim momentanen Hyper-Word AJAX angelangt wären, das zur Zeit ja das ganze "Web 2.0" beschäftigt.

kick it on dotnet-kicks.de AddThis 0 wikio-Stimme(n) Trackback-Url...

Schlagworte

1 Kommentar bislang...

  • Danke für den sehr gut formulierten Artikel.
    Meiner Meinung nach rentiert sich für Websitebetreiber der Aufwand für Amazon überhaupt nicht. Da stütze ich mich auf lange Erfahrungswerte und auf etliche Berichte im Internet.
    Anders ist es natürlich bei Seiten wie Spiegel.de oder ähnliche in dieser Größenordnung, da die Ratio hier deutlich höher liegt.

    Wer sich Geld dazu verdienen möchte sollte auf jeden Fall AdBrite und/oder Google AdSense in seine Websites mit einbeziehen. Das läuft in der Regel recht ordentlich.
    1
    LooMag : Sonntag, 16. September 2007 14:16

Dein Kommentar hierzu...


Kommentar-Feed für diesen Beitrag
Gravatare werden unterstützt .:. eMail-Adressen werden nicht veröffentlicht
 

RSS-Feed

Die URL des Standard-Newsfeed von zerbit.de lautet:

http://www.zerbit.de/rssfeed.aspx

Login


 

 

Statistik



kürzlich kommentiert

Artikel 62

  • Datum: 11.11.2006
    Kategorie: Service
    Zugriffe: 3.599
    Kommentare: 1
    Trackbacks: 0

Letzte Beiträge

Kategorien

Buttons & More

Blog-Roll

Banner Piraten-Partei