eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15...

109
eBay API

Transcript of eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15...

Page 1: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

eBay API

Page 2: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von
Page 3: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Carsten Harnisch

eBay API

schnell + kompakt

Page 4: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Carsten Harnisch eBay APIschnell + kompaktFrankfurt, 2007ISBN 978-3-939084-20-4

© 2007 entwickler.press,ein Imprint der Software & Support Verlag GmbH

http://www.entwickler-press.dehttp://www.software-support.biz

Ihr Kontakt zum Verlag und Lektorat: [email protected]

Bibliografische Information Der Deutschen BibliothekDie Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.ddb.de abrufbar.

Korrektorat: Petra KienleSatz: text & form GbR, Carsten KienleUmschlaggestaltung: Melanie Hahn, Maria RudiBelichtung, Druck und Bindung: M.P. Media-Print Informations-technologie GmbH, Paderborn.Alle Rechte, auch für Übersetzungen, sind vorbehalten. Reproduk-tion jeglicher Art (Fotokopie, Nachdruck, Mikrofilm, Erfassung auf elektronischen Datenträgern oder andere Verfahren) nur mit schrift-licher Genehmigung des Verlags. Jegliche Haftung für die Richtigkeit des gesamten Werks kann, trotz sorgfältiger Prüfung durch Autor und Verlag, nicht übernommen werden. Die im Buch genannten Produkte, Warenzeichen und Firmennamen sind in der Regel durch deren Inhaber geschützt.

Page 5: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Inhaltsverzeichnis

Kapitel 1: Vorwort 91.1 Ressourcen 12

Allgemein 12Entwicklung 12Softwaremarketing und Programme 12

1.2 Aktuelle Trends und Möglichkeiten für Entwickler 13Web 2.0 13Nutzung von eBay-Marktdaten 13Monetarisierungsmöglichkeiten im eBay-Partnerprogramm 14Mobilfunklösungen 14IPTV 15

Kapitel 2: Der eBay-Geschäftsprozess 172.1 Benutzerrollen 172.2 Einstellen von Artikeln 18

Auktion, Shop, eBay Express 18Kategorien 19Attribute 20Versand 20Zahlungsbedingungen 21Auktionsdauer 21Menge 21Features 22Bilder 22

2.3 Artikelnummer/ItemID 232.4 Beobachtung während der Auktion 242.5 Änderung von Artikeln 242.6 Transaktion 24

5schnell + kompakt

Page 6: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Inhaltsverzeichnis

2.7 Verkaufsabwicklung und Bestellung 252.8 Externe Verkaufsabwicklung 262.9 Feedback bekommen und hinterlassen 262.10 Gebühren 272.11 Dispute-Management 272.12 Besondere Artikelformen 28

Second Chance 28Best Offer 28GetItFast und NowAndNew 29WantItNow 29eBay Express 29

Kapitel 3: eBay für Techniker 313.1 Alle Sites ein System 31

Organisation in Sites 32Standard-Sites, Rest-World-Sites 32Versionierung und Compatibility-Level 32

3.2 Sandbox und Production 333.3 Keys und Zertifizierung 343.4 Token 353.5 URLs 363.6 Initialer Start und Testbenutzer 36

Kapitel 4: SDK oder nicht SDK 394.1 Dokumentation 404.2 SOAP 40

Windows SDK 41Java SDK 42eBay PHP Accellerator Toolkit 42

4.3 REST 434.4 Direkter Zugriff 43

6

Page 7: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Inhaltsverzeichnis

Kapitel 5: eBay API – Technical Basics 455.1 Auth&Auth 45

ReturnURL 45Auth&Auth Redirect 47Auth & Auth Fetchtoken 47Redirect ohne Token 47

5.2 Poll and Push 48Notifications 48

5.3 Compatibility Levels 495.4 Detail Level und Granularity Level 505.5 Paginierung 515.6 Behandlung von Datums- und Zeitwerten 515.7 Lookup-Werte 52

Kategorie und Features 53CharacteristicsSets 53eBay-Details 54

5.8 Aufbau eines Call 54SOAP XML Request 55Token 56HTTPs Call 57Response 58

Kapitel 6: eBay API – can do 596.1 Einstellen von Artikeln 59

Crosspromoting 60Ending Items 60Revise 61Relist 61SecondChance 61Messaging 62

7schnell + kompakt

Page 8: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Inhaltsverzeichnis

6.2 Verkaufsabwicklung 62Abruf von Transaktionen 63Order, Combined Payment 64Feedback 64

6.3 Suchen von Artikeln 646.4 Dispute 66

UPI – Unpaid Item 66INR – Item Not Received 67

Kapitel 7: eBay API – Technical Advanced 697.1 Versandoptionen national und international 697.2 Attribute und Kataloge 707.3 eBay Shops 737.4 Verwalten von Bildern 74

Kapitel 8: Code-Beispiele 778.1 Installation und Basisparameter 788.2 Proxy, Session und Request 788.3 Artikelsuche 798.4 Artikel einstellen 828.5 Transaktionen abrufen 848.6 Kommunikation mit Käufer und Verkäufer 858.7 Rechnung schicken 868.8 Feedback hinterlassen 878.9 Kategorien abrufen 88

Anhang: Kurzbeschreibung zu jedem API-Call 91

Stichwortverzeichnis 107

8

Page 9: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

KAPITEL 1

Vorwort

1.1 Ressourcen 12

1.2 Aktuelle Trends und Möglichkeiten für Entwickler 13

eBay ist der weltweite Online-Marktplatz. 1995 in Kalifornien alsMarktplatz für den Austausch von Sammlerartikeln gegründet,hat sich das E-Commerce-Unternehmen sehr rasch zum be-sucherstärksten Marktplatz für den Verkauf von Gütern undDienstleistungen durch Privatpersonen und Unternehmen ent-wickelt. Als eines der wenigen Unternehmen der Internetwirt-schaft ist eBay seit seiner Gründung durchgehend profitabel.eBay finanziert sich über eine Angebotsgebühr sowie eine Provi-sion, die dem Verkäufer bei einem erfolgreichen Verkauf in Rech-nung gestellt wird.

Jeden Tag werden in Tausenden von Kategorien Millionen vonArtikeln angeboten. eBay ermöglicht dabei den Handel auf re-gionaler, nationaler und globaler Ebene. Der Online-Marktplatzist in 33 internationalen Märkten auf vier Kontinenten präsent.Die deutsche eBay GmbH wurde 1999 in Berlin gegründet; Mitte2000 wurde der Geschäftssitz in den Europarc Dreilinden vorden Toren der deutschen Hauptstadt verlegt.

Innerhalb der auch in Deutschland ständig wachsenden „Online-Gemeinde“ gilt eBay als großer Sympathieträger – Surfen undSuchen, Anbieten und Kaufen bei eBay macht Spaß und gilt bei

9schnell + kompakt

Page 10: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

1 – Vorwort

Internetfans aller Altersgruppen als „Kult“. Bei eBay finden nichtnur mit Abstand die meisten privaten Käufe und Verkäufe imInternet statt; der Auktionsmechanismus garantiert allen eBay-Mitgliedern auch faire Preise und gleichbleibend hohe Qualität.

Inzwischen sind es bereits über 212 Millionen registrierte Mit-glieder auf allen Kontinenten, die bei eBay handeln. Der Reiz desHandelns bei eBay liegt nicht zuletzt darin, dass die Funktions-weise des virtuellen Marktplatzes kinderleicht ist. Außer demOnline-Auktionsverfahren, durch das eBay weltbekannt wurde,ermöglicht der eBay-Marktplatz auch den Handel zu Festprei-sen. Dabei kann der Verkäufer entweder das Auktionsformat miteiner „Sofort-Kaufen“-Option kombinieren oder aber seinen Ar-tikel ausschließlich zu einem reinen Festpreis anbieten.

Die eBay Shops bieten einem eBay-Verkäufer die Möglichkeit,ein eigenes virtuelles Ladengeschäft bei eBay zu betreiben. Derpersönliche Verkaufsraum kann von seinem jeweiligen Inhabermit einem Wunschnamen versehen und den eigenen Bedürfnis-sen entsprechend individuell gestaltet werden. Innerhalb seineseBay Shops kann der Betreiber nach seinen eigenen Vorstellun-gen unterschiedliche Kategorien definieren und sein Artikel-angebot damit optimal strukturieren.

Auf dem neuen Online-Marktplatz eBay Express verkaufen aus-schließlich gewerbliche Anbieter Neuware zum Festpreis. Mitdiesem Service kommt eBay den Wünschen und Bedürfnissenvieler Mitglieder nach: „Mit eBay Express bieten wir ein klassi-sches Online-Einkaufserlebnis. Jetzt ist es noch bequemer undeinfacher, auf unserem weltweiten Online-Marktplatz zu han-deln“, so Dr. Stefan Groß-Selbeck (Geschäftsführer eBay Deutsch-land). eBay Express ist ein idealer zusätzlicher Vertriebsweg füralle Online-Händler – auch für Anbieter, die bisher noch nicht beieBay handeln. Gewerbliche Verkäufer haben die Chance, ihre Pro-dukte professionell auf einem bekannten Online-Marktplatz zu

10

Page 11: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Vorwort

platzieren. Allein bei eBay in Deutschland handeln über 20 Mil-lionen Mitglieder – somit warten über 20 Millionen potenzielleKunden.

Bis auf sehr wenige Ausnahmen, wie z.B. die erstmalige Anmel-dung oder das Bieten, werden sämtliche Funktionen und For-mate durch die eBay Web Services seit dem Jahr 2001 unterstützt.Softwareentwicklern bieten sich unzählige Möglichkeiten, neu-artige Tools für eBay-Kunden zu entwickeln. Ursprünglich wur-de diese API zusammen mit einem Tool-Hersteller initiiert, siestand zunächst nur einer kleinen Gruppe von Fremdanbieternzur Verfügung. Die größte Hürde waren zunächst die Kosten derAPI-Nutzung, die sich schnell auf mehrere 10.000 US-Dollar be-laufen konnten. Der erste Schritt war dementsprechend die mas-sive Senkung der Kostenstrukturen; Ende 2005 wurde die API-Nutzung dann vollständig kostenfrei. Heute wird damit jedemEntwickler ein Weg eröffnet, beliebige Anwendungen unter Zu-hilfenahme der eBay API zu entwickeln.

Betrachten wir die reinen Zahlen der eBay API, so sprechen diesefür sich:

� Über 40.000 Softwareentwickler haben sich weltweit im eBay-Entwicklerprogramm registriert, davon über 7.000 in Deutsch-land.

� Über 25 % aller Artikel auf eBay.com werden durch Anwen-dungen Dritter – also mittels der eBay API – eingestellt.

� Die eBay Web Services verarbeiten täglich über 100.000.000API Calls aus über 120 unterschiedlichen API Calls, die nahe-zu die komplette Funktionalität der Website abbilden.

Mit diesem kleinen Büchlein möchte ich Ihnen einen Überblicküber die Möglichkeiten der eBay API geben. Die wenigen ver-fügbaren Seiten verbieten leider eine detaillierte Vertiefung dertechnischen Details. Allerdings zeigt meine Erfahrung mit „zu-künftigen API-Entwicklern“, dass es häufig eher die Lücken im

11schnell + kompakt

Page 12: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

1 – Vorwort

Gesamtbild sind als die Kenntnis jedes Parameters, die die be-rühmten Anfangshürden darstellen.

1.1 Ressourcen

Allgemein

� Deutsche Entwicklerseiten: http://entwickler.ebay.de � Internationale Entwicklerseiten: http://developer.ebay.com � Applikationsverzeichnis: http://applikationsverzeichnis.ebay.de � Blog des eBay-Entwicklerprogramms:

http://ebaydeveloper.typepad.com/

Entwicklung

� Testtool – Ausführung von Test Queries: http://developer.ebay.com/testtool

� Tokentool – Generierung eines Auth&Auth-Token: http://developer.ebay.com/tokentool

� Software Development Kits (SDKs): http://pages.ebay.de/entwickler/sdk.html

� Forum: http://developer.ebay.com/forums� Knowledgebase des Entwicklerprogramms:

http://ebay.custhelp.com � Open Source – Community Codebase:

http://www.codebase.ebay.com � Hilfeseiten: http://developer.ebay.com/support/

Softwaremarketing und Programme

� Zertifizierungsprogramm für Lösungsanbieter: http://pages.ebay.de/entwickler/zla.html

� Zertifizierungsprogramm für Berater rund um eBay: http://pages.ebay.de/entwickler/consulting.html

12

Page 13: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Aktuelle Trends und Möglichkeiten für Entwickler

� Partnerprogramm zur Einbindung und Monetarisierung voneBay-Inhalten : http://partnerprogramm.ebay.de (den dazugehörigen Affiliates API Tier finden Sie hier: http://developer.ebay.com/devprogram/membership/affiliate.asp)

� eBay-Marktdatenprogramm zur statistischen und strategi-schen Analyse: http://marktdaten.ebay.de

� PayPal Developer Network: http://www.paypal.com/pdn/� Skype Developer Network: http://share.skype.com/sites/devzone/

1.2 Aktuelle Trends und Möglich-keiten für Entwickler

Web 2.0

Web 2.0 ist derzeit ein viel diskutiertes Thema und gerade im Be-reich der Verschmelzung von geografischen Informationen, An-geboten bei eBay, Landkarten und Planeten-Browsern lassen sichviel neue Mashups realisieren, z.B. über eine Produktanzeige inGoogle Maps oder Microsoft Virtual Earth. Auctionmapper.comliefert beispielsweise nicht nur eine geografische Anordnungvon gesuchten Artikeln, sondern die Webapplikation stellt viel-fältige innovative Such- und Browsing-Funktionalitäten zur Ver-fügung, die es in der Form bei eBay noch nicht gibt. Weitere Bei-spiele sind die Website www.dudewheresmyusedcar.com, die Datenvon eBay Motors geografisch anzeigt, oder www.housingmaps.comim Immobilienbereich.

Nutzung von eBay-Marktdaten

Weitere Beispiele für innovative Lösungen sind Tools, die sichder eBay-Marktdaten (http://marktdaten.ebay.de) bedienen und aufdieser Basis Trends in den eBay-Kategorien, Preisvergleiche oderAnalysen für spezielle Produkte anbieten. Verschiedene Sites

13schnell + kompakt

Page 14: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

1 – Vorwort

liefern heute schon sehr aufwändige Vergleichs- und Trendbaro-meter, wie z.B. www.mpire.com oder auch www.ebay.com/ebaypop.DataUnison (www.dataunison.com) bietet Entwicklern zudem seitMitte 2006 eine neuartige Research-API an, die Ad-hoc-Abfragenz.B. von Durchschnittspreisen ermöglicht. Daneben werden auchTools zur Überwachung der eigenen Artikel immer wichtiger fürdie frühzeitige Erkennung von sich ändernden Markttrends(www.mrcounter.de).

Monetarisierungsmöglichkeiten im

eBay-Partnerprogramm

Als eines der wenigen großen Entwicklerprogramme bietet eBayexternen Entwicklern handfeste Monetarisierungsmöglichkeitenüber das Partnerprogramm (http://partnerprogramm.ebay.de) undkann dabei auf eine schier unerschöpfliche Produktdatenvielfaltzurückgreifen. Eine Reihe von Entwicklern versucht mittelsRelevance-Ads, eBay-Artikel zu bewerben und Benutzerströmevon ihren eigenen Seiten auf eBay weiterzuleiten. Im Gegenzugkassieren diese Geld für Clicks, Gebote bzw. Neuanmeldungen.

Mobilfunklösungen

UMTS, HSDPA, WLAN, Bluetooth und weitere drahtlose digitaleÜbertragungsformen werden in Zukunft wesentlich größere Da-tenübertragungsgeschwindigkeiten und -volumen sowie neueRückkanäle für mobile Endgeräte zulassen. Zudem werden sichin den nächsten Jahren Smartphones und Multifunktionsgerätemehr und mehr durchsetzen, sodass auch der Nutzung von eBayund Skype über das Handy keine Hürden mehr im Weg stehen. Indiesem Segment ist vieles an Innovationen möglich und eBaydeckt mit seinem WAP-Portal und SMS-Service bisher nur einenbegrenzten Bereich ab (http://unterwegs.ebay.de). Auch im Applika-tionsverzeichnis findet man derzeit nicht einmal eine Handvoll

14

Page 15: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Aktuelle Trends und Möglichkeiten für Entwickler

Anwendungen in dieser Kategorie (http://applikationsverzeichnis.ebay.de).

IPTV

Die Zukunft des digitalen Fernsehens hat längst begonnen. Je-doch gibt es bisher erst eine einzige Applikation für eBay aufdem Fernseher, die auf der Microsoft Mediacenter Edition auf-setzt und von http://www.scendix.de angeboten wird. Download-Fernsehen hat Zukunft und damit auch alternative Werbeforma-te, die beispielsweise auf Basis des eBay-Partnerprogramms fürNischensender interessant sein könnten.

15schnell + kompakt

Page 16: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von
Page 17: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

KAPITEL 2

Der eBay-Geschäftsprozess

2.1 Benutzerrollen 17

2.2 Einstellen von Artikeln 18

2.3 Artikelnummer/ItemID 23

2.4 Beobachtung während der Auktion 24

2.5 Änderung von Artikeln 24

2.6 Transaktion 24

2.7 Verkaufsabwicklung und Bestellung 25

2.8 Externe Verkaufsabwicklung 26

2.9 Feedback bekommen und hinterlassen 26

2.10 Gebühren 27

2.11 Dispute-Management 27

2.12 Besondere Artikelformen 28

Zunächst sollten Sie sich detailliert über den eBay-Geschäftspro-zess im Klaren sein. Vielfach ergeben sich Probleme mit der APIallein daraus, dass falsche Annahmen über die Abläufe bestehen.

2.1 BenutzerrollenNach der initialen Registrierung kann ein Konto (eBay-Slang =eBay-ID) sofort für Käufe genutzt werden. Einzige Ausnahme istdie Registrierung als gewerblicher Verkäufer, bei welcher der Be-stätigungs-Code in einem via Post versandten Brief enthalten ist.

Sobald für ein eBay-Konto auch Bankinformationen hinterlegtwurden (eBay-Slang = CreditCardOnFile), kann die eBay-IDauch für Verkäufe genutzt werden. Bestimmte weitere Regelun-gen verhindern zunächst die Nutzung sämtlicher Möglichkeiten.

17schnell + kompakt

Page 18: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

2 – Der eBay-Geschäftsprozess

Die Nutzung von Ein-Tages-Auktionen ist z.B. erst nach zehn Be-wertungspunkten möglich; die Nutzung von JavaScript nur fürPowerSeller oder verifizierte Mitglieder.

Im Rahmen der Teilnahme an einer Auktion ist der potenzielleKäufer zunächst ein Bieter (Bidder). Als Höchstbieter (High-Bidder) führt dieser die Bieterliste an. Bei Ablauf der Auktionwird der HighBidder automatisch zum Käufer (Buyer), even-tuelle andere Bieter zu „unterlegenen Bietern“.

2.2 Einstellen von ArtikelnAus Sicht von eBay beginnt der Prozess mit dem Einstellen einesArtikels. Dabei ist es unwesentlich, ob der Artikel nun mittels derAPI oder über einen anderen Weg eingestellt wurde. Typischetwa wäre die Nutzung des Verkaufsformulars (SYI = SellYour-Item) oder vielleicht des Turbolisters. Wobei Letzterer nichts an-deres als eine Anwendung ist, die auch die eBay API nutzt.

Für das Auslösen des Einstellvorgangs muss ein entsprechendeseBay-Konto genutzt werden, das die notwendigen Vorausset-zungen bereits erfüllt.

In der Dokumentation wird der Vorgang des Einstellens einesArtikels oft als „Listen“ bezeichnet – hiermit ist der engl. Begriff„list an item“ gemeint. Daneben wird auch allgemein von Auk-tionen gesprochen, wobei hierin eventuell auch Sonderformenwie Festpreis- oder Shop-Artikel eingeschlossen sind.

Auktion, Shop, eBay Express

Die API-Dokumentation spricht immer von einem Artikel(= Item); unabhängig davon, ob es sich um eine Auktion (inklu-sive der Sonderformen wie SofortKauf-Option), einen Festpreis-artikel, einen Shop-Artikel, einen eBay-Express-Artikel oder ein

18

Page 19: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Einstellen von Artikeln

Angebot im Bereich Immobilien handelt. Die API-Methode Add-Item initiiert die Einstellung des Artikels und liefert bei Erfolgeine eindeutige ID (ArtikelNr oder ItemID) nebst der anfallen-den Gebühren zurück.

Zur Unterscheidung der unterschiedlichen Artikelformen wirddas Feld „ListingType“ genutzt. Hierdurch ergibt sich zunächstbei der Einstellung die Anforderung, bestimmte Felder setzen zumüssen, und im weiteren Ablauf eine differierende Behandlung.In der API wird die „normale“ Auktion als „Chinese-Auction“bezeichnet, die „Power-Auktion“ als „Dutch-Auction“.

Die historische Wandlung vom reinen Online-Auktionshaus zurShopping Mall lässt sich auch in der API ablesen. Hier wird so-wohl für Auktionen als auch für Festpreisartikel stets das Feld„StartPrice“ genutzt, obwohl es bei letzterem Typ ein wenig ver-wirrend klingen mag.

In Bezug auf die Einstellung ist es unbedingt notwendig, Felderwie „Title“, „Description“ (Artikelbeschreibung) und „Price“ (inden unterschiedlichen Variationen) zu bestimmen.

Kategorien

Eine wesentliche weitere Information besteht in der Angabe derKategorie, in welcher der Artikel später erscheinen soll. Tech-nisch gesehen besteht die Kategorie lediglich aus einer Zahl, diein das entsprechende Feld zu setzen ist. Hierbei ist zu beachten,dass die eBay-Kategorien hierarchisch organisiert sind, wobei fürdie Einstellung lediglich die so genannten Leaf-Kategorien ge-nutzt werden dürfen. Durch die Organisation der Kategorien alsBaumstruktur ergeben sich zunächst so genannte Parent-Katego-rien, die mehrheitlich lediglich weitere Parent-Kategorien ent-halten. Letztlich erhalten wir die Blätter des Baums (Leafs), diezur Einstellung genutzt werden können.

19schnell + kompakt

Page 20: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

2 – Der eBay-Geschäftsprozess

Attribute

Mithilfe von Attributen können besondere Merkmale eines Arti-kels abgebildet werden, etwa die KW-Zahl eines PKW, die ISBNeines Buches oder der Mietpreis einer Immobilie. Zwangsläufigergeben sich dadurch unterschiedliche so genannte „Characteri-sticsSet“ (CsSets) für die einzelnen Kategorien, welche die mög-lichen dort nutzbaren Attribute bestimmen.

Neben diesen kategorienbezogenen CsSets besitzt eBay Deutsch-land (sowie Österreich und Schweiz) die Besonderheit der so ge-nannten „SideWide-CsSets“. Hierzu gehören etwa die Angabedes Rückgaberechts und das Merkmal „Artikel-Zustand (neu/gebraucht)“.

Versand

Die Angabe der Versandkosten zu einem Artikel wurde im Laufeder Evolution der API mehrfach angepasst. Die aktuelle Versionnutzt dabei ein zwar recht komplexes System von festen (flatshipping) und berechneten Versandkosten (calculated shipping),das aber leider – insbesondere auf eBay Deutschland – nur seltenflexibel genug ist und eher der inneramerikanischen „Versand-kostenwelt“ entspricht.

Pro Artikel lassen sich zunächst drei unterschiedliche Versand-arten für den Versand „im Land“ festlegen (etwa unversichert,versichert, Nachnahme). Hier spricht eBay von den „domesticshipping services“. Hinzu kommen drei weitere internationaleVersandarten, bei denen jeweils auch die „Zielgebiete“ anzu-geben sind. Insbesondere hier sind die Beschränkung und dieGruppierung der Zielgebiete stark störend. So gehört etwa dieSchweiz aus eBay-Sicht zu Europa, was rein geografisch richtigist. Allerdings wird die Besonderheit der Nichtzugehörigkeit zurEU in Bezug auf Mehrwertsteuer und Versandablauf ignoriert.

20

Page 21: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Einstellen von Artikeln

Ebenso sind etwa Besonderheiten beim Versand nach Großbri-tannien (Inselaufschlag) nur schwer realisierbar.

Aus diesem Grund verzichten viele Verkäufer auf die Nutzungder eBay-eigenen Versandkostenangaben und bilden eigeneMuster in der Artikelbeschreibung ab. Insbesondere aber in Hin-blick auf eBay Express ist dies problematisch, da die Angabe vonVersandkosten hier unabdingbar ist.

Zahlungsbedingungen

Zur Angabe von Zahlungsbedingungen kann zwischen unter-schiedlichen Zahlungsmethoden gewählt werden. Da die meis-ten innerdeutschen eBay-Verkäufer sicherlich die Möglichkeitder Banküberweisung bzw. Nachnahme nutzen, spielen alle an-deren Methoden eine untergeordnete Rolle. Insbesondere dieNutzung von PayPal kann bei grenzüberschreitenden Verkäufenaber eine interessante Alternative sein.

Auktionsdauer

Die nutzbare Auktionsdauer hängt von einer Reihe von Faktorenab. Zunächst einmal ist der Typ des Artikels ausschlaggebend.Normale Auktionen etwa ermöglichen eine Zeitraumwahl von1, 3, 5, 7 oder 10 Tagen. Für Shop-Artikel gelten Zeiträume von30, 60 und 90 Tagen.

Bestimmte Kategorien – etwa Immobilien – nutzen andere Re-geln, daneben kann die Nutzung einer bestimmten Auktions-dauer vom Status des Verkäufers abhängig sein.

Menge

Die Menge ist ein notwendiges Datenfeld für die Einstellung ei-nes Artikels. Normale Auktionen haben hier immer den Wert 1.

21schnell + kompakt

Page 22: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

2 – Der eBay-Geschäftsprozess

Andere Typen können auch eine höhere Anzahl nutzen. In derRegel werden die Gebühren dann als Vielfaches der Menge be-rechnet. Einige Kategorien bieten zudem die Möglichkeit zurEinstellung von Chargen (lots), z.B. 10 Chargen à 100 Stück. Hierwäre die Menge dann 10 und die „lot“-Größe 100.

Features

Insbesondere für die Sichtbarkeit von Artikeln in Kategorien mitgroßem Angebot kann die Nutzung der so genannten Featuresnotwendig und sinnvoll sein.

Teilweise ergeben sich diese Features (etwa Untertitel) indirektdurch das Setzen des entsprechenden Feldes. Andere Featureswie etwa Bold (Fettschrift) und Border (Rahmen) werden explizitangegeben. Wiederum andere wie GalleryFeatured (Topangebotin Galerie) dürfen erst in Zusammenhang mit anderen Werten,wie hier dem Galeriebild, genutzt werden.

Bilder

Abbildungen sind ein wichtiges Mittel, um den Verkaufserfolgsicherzustellen. Aus Sicht der API gibt es verschiedene Möglich-keiten, einen Artikel mit Bildern anzureichern. Der einfachsteWeg besteht darin, in die Artikelbeschreibung mittels geeigneterHTML-Auszeichnungen (IMG-Tag) die gewünschten Bilder„einzubetten“. Hierbei müssen die URLs auf Server zeigen, dieauch von den eBay-Käufern erreichbar sind. Aus Sicht von eBaysind dies „extern gehostete“ Bilder.

Eine besondere Rolle kommt dem ersten Bild zu. Dieses wirdoben außerhalb der Artikelbeschreibung gezeigt und muss in ei-nem speziellen Feld übergeben werden. Wichtig ist hier, dasseBay die URL direkt übernimmt – ein Abruf der Auktion führtalso zu Traffic auf dem Bilder-Server.

22

Page 23: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Artikelnummer/ItemID

Das Galeriebild wird hingegen in jedem Fall von einem Robotheruntergeladen, eventuell skaliert und während der Auktionautomatisch auf einem eBay-Server gehostet.

Steht kein eigener Bilder-Server zur Verfügung, kann auch eineBay-eigenes System genutzt werden. Neben dem reinen Host-ing der Bilder stehen hier weitere Möglichkeiten (Diashows, Ga-lerien etc.) zur Verfügung, die allerdings sämtlich kostenpflichtigsind. Für den Upload von Bildern auf dieses System (EPS = eBayPicture Service) gibt es bisher keine offizielle Dokumentation –Anleitungen dazu kursieren allerdings im Internet.

2.3 Artikelnummer/ItemIDZur eindeutigen Identifikation von Artikeln wird die so genann-te ItemID genutzt. Die Zahl hat zurzeit eine Länge von zwölfStellen, wobei dies keine verlässliche Aussage ist, sprich: Die An-zahl der Stellen kann sich in Zukunft durchaus erhöhen. DieseNummer ist weltweit eindeutig und wird jeweils in Bereichenvergeben. Eine Ableitung, wann eine ItemID vergeben wurdeoder wird, ist aber nur Eingeweihten möglich und der Algorith-mus ist nicht öffentlich.

Wesentlich ist, dass die ItemID von eBay vergeben wird und so-mit lediglich lesend genutzt werden kann. Eine Artikelnummerwird sofort während eines erfolgreichen Einstellvorgangs verge-ben. Normalerweise ist der Artikel dann auch sofort sichtbar –eine Ausnahme bilden lediglich vorgeplante Artikel.

Aufgrund der von eBay genutzten Caching-Systeme erscheinenArtikel in der Galerie bzw. in der Suchliste nicht sofort nach derEinstellung, sondern mit leichtem zeitlichem Verzug.

23schnell + kompakt

Page 24: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

2 – Der eBay-Geschäftsprozess

2.4 Beobachtung während der Auktion

Während einer laufenden Auktion halten sich die Interaktionenin Grenzen. Eventuell lassen sich die Auktionen beobachten unddie aktuellen Höchstbieter abrufen. Einen Sonderfall stellen dieArtikel in der Kategorie „Immobilien“ dar (Real Estate Ad), inder ein „Gebot“ einer Anfrage zu einem Objekt entspricht.

Ebenfalls während der Auktion bietet die API den Zugriff auf dieFragen, die dem Verkäufer gestellt wurden, und einen Weg, ebendiese zu beantworten.

2.5 Änderung von ArtikelnWährend der Laufzeit eines Artikels können die Daten in be-stimmten Grenzen geändert werden (ReviseItem). Hierbei sindjedoch spezifische Regeln zu beachten – die allermeisten Datenkönnen bis zwölf Stunden vor Ablauf noch geändert werden,hernach aber nicht mehr.

2.6 TransaktionDas Ende der Laufzeit eines Artikels ergibt sich zunächst direktaus seinem Typ. Festpreisartikel, Shop-Artikel, aber auch Auk-tionen mit Sofortkauf-Option enden im Augenblick der Abgabeeines Festpreis-„Gebots“. Normale Auktionen (und auch Power-Auktionen) haben eine vordefinierte feste Laufzeit. Endet nunder Artikel mit einem Gebot, erzeugt das eBay-System eine sogenannte Transaktion. Diese verbindet den Artikel und seinenVerkäufer mit dem Käufer.

Die Transaktionen werden mit (verkäuferbezogenen) eindeuti-gen laufenden Nummern versehen. Hierbei ist zu beachten, dass

24

Page 25: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Verkaufsabwicklung und Bestellung

normale Auktionen immer die Transaktionsnummer 0 erhalten.Grundsätzlich ist aber zur Identifikation einer Transaktion dieKombination aus Artikel- und Transaktionsnummer notwendig.Hierdurch können etwa bei Angeboten mit einer Menge größereins (z.B. in eBay Shops) die unterschiedlichen Transaktionen un-terschieden werden. Der Artikel hat hier lediglich eine einzigeItemID.

Zum Zeitpunkt der Transaktionserzeugung sendet das eBay-System die ersten E-Mails in der Form „Sie haben einen Artikelverkauft ...“ bzw. „Sie haben einen Artikel erworben ...“ an Ver-käufer und Käufer.

Auch mittels der eBay API lassen sich nun die Transaktionsdateninklusive der vergebenen IDs abrufen. Hier ist allerdings zu be-achten, dass zu diesem Zeitpunkt dem Verkäufer bereits die Re-gistrierungsadresse des Käufers mitgeteilt wird, aber noch nichtdie Versandadresse. Daneben ist die Übergabe der Registrie-rungsadresse auf den Fall beschränkt, dass Verkäufer und Käuferauf eBay.de registriert sind. Sprich: Bei einem Verkauf an eineBay-Mitglied z.B. in Belgien stehen diese Daten nicht zur Ver-fügung.

2.7 Verkaufsabwicklung und Bestellung

Mit der initialen E-Mail wird der Käufer darüber informiert, dassnun die Verkaufsabwicklung auf der eBay-Website zu nutzen ist.Hier kann der Käufer eine Reihe von Werten einstellen und da-mit den Kauf abschließen. Hierzu gehört etwa die Auswahl einerder angebotenen Zahlungsmethoden (und im Fall von PayPaldie direkte Auslösung der Zahlung). Hinzu kommt die Auswahlder gewünschten Versandart und bei Bedarf die Änderung derVersandadresse.

25schnell + kompakt

Page 26: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

2 – Der eBay-Geschäftsprozess

Wurde mehrere Artikel von einem bestimmten Verkäufer ge-kauft, werden die einzelnen Transaktionen automatisch in einerso genannten Bestellung (Order) zusammengefasst. Alle Einstel-lungen beziehen sich dann auf diese Gruppe von Artikeln.

In Bezug auf die API stehen die Daten jetzt vollständig zur Ver-fügung. Auch bei ausländischen Käufern wird nun die Versand-adresse geliefert.

Die Nutzung der Verkaufsabwicklung kann von Verkäufern aus-geschaltet werden. In der Konsequenz stehen dadurch aber nichtalle Daten zur Verfügung. Insbesondere bei einer größeren An-zahl von ausländischen Käufern führt das Ausschalten der Ver-kaufsabwicklung regelmäßig zu Problemen.

2.8 Externe VerkaufsabwicklungUnter bestimmten Voraussetzungen erlaubt eBay die Nutzungvon externen Verkaufsabwicklungssystemen (3rdParty Check-outRedirect). Neben einer Vielzahl von Auflagen in Bezug auf dieVerfügbarkeit und die bereitgestellten Bezahlmethoden (hier istPayPal Pflicht), ist dieser Weg im Gegensatz zur Nutzung der nor-malen API kostenpflichtig und nur bei größerem eBay-Engage-ment lohnenswert.

2.9 Feedback bekommen und hinterlassen

Typischerweise wartet der Verkäufer nun auf den Zahlungsein-gang und versendet dann die Artikel. Den Abschluss bildet danndas gegenseitige Hinterlassen von Bewertungen (Feedback).

26

Page 27: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Gebühren

2.10 GebührenSeit Ende 2005 fallen für die Nutzung der eBay API keine Kostenmehr an. Dies betrifft allerdings nicht die „normalen“ eBay-Ge-bühren. Hierzu gehören zunächst die so genannten Einstellkos-ten, die gleich beim Start eines Artikels anfallen. Dabei werdendie Kosten (variabel nach den unterschiedlichen Typen undLaufzeiten) zunächst auf der Basis des Start- bzw. Festpreises zu-züglich der Gebühren für besondere Features berechnet. Nachdem erfolgreichen Verkauf addieren sich dazu die Verkaufsge-bühren. In der API werden erstere unter dem Begriff „ListingFees“, die finalen Gebühren als FVF (Final Value Fee) bezeichnet.

2.11 Dispute-ManagementAuch wenn es einen Höchstbieter für einen Artikel gibt, bedeutetdies noch lange nicht, dass der Prozess nun vollständig abge-schlossen sein muss. Oft nehmen Käufer ihr Rücktrittsrecht inAnspruch oder ein Käufer weigert sich, einen Artikel zu bezah-len. Auf der anderen Seite kann es durchaus auch Probleme mitdem Artikel auf der Verkäuferseite geben, die den Abschluss derTransaktion verhindert.

Seit einiger Zeit hat eBay hier ein semi-automatisches Verfahreneingeführt, das versucht, Streitigkeiten nach Auktionsende zubearbeiten. Auf Deutsch heißen diese Verfahren „Streitigkeit we-gen eines unbezahlten Artikels“ bzw. „Streitigkeit wegen einesnicht erhaltenen Artikels“ – die englischen Originale heißen UPI(Unpaid Item Dispute) bzw. INR (Item Not Received Dispute).

Die entsprechenden Dispute können mittels der API gestartetund verwaltet werden. Auf Seiten eines Verkäufers führen diesein der Regel zur Rückerstattung der Einstellgebühren bzw. desFVF. Sollten sich Verkäufer und Käufer nicht einigen können,

27schnell + kompakt

Page 28: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

2 – Der eBay-Geschäftsprozess

führt der Disput eventuell zu einer Verwarnung und in wieder-holten Fällen zum Ausschluss vom Handel auf dem eBay-Markt-platz.

2.12 Besondere ArtikelformenNeben den „klassischen“ Auktionsformen bzw. dem Verkauf alsFestpreisartikel existiert eine Reihe von besonderen Artikelfor-maten. Nicht alle Formate stehen dabei in allen Kategorien bzw.jederzeit zur Verfügung. Teilweise sind diese Formate aber auchnur Erweiterungen bzw. Ergänzungen zu bestehenden Artikel-typen. Bei allen Formaten besteht allerdings die Möglichkeit, die-se mithilfe der eBay API zu verwalten.

Second Chance

Das so genannte „Angebot an unterlegene Bieter“ (Second Chance)ermöglicht es bei normalen Auktionen, den unterlegenen Bieternein erneutes Angebot zu unterbreiten. Sinnvoll ist dies nur, wennSie als Verkäufer mehrere gleiche Artikel auf Lager haben unddie Gebote der nicht zum Zug gekommenen Bieter nur leichtvom gewünschten Mindestverkaufspreis abweichen. Vielleichthaben Sie einen Gartenstuhl für 20,99 € versteigert; Sie könnenaber durchaus auch mit einem Preis von mindestens 18,00 €

leben. In diesem Fall können Sie dann jenen Bietern, die min-destens 18 € geboten haben, das entsprechende Angebot unter-breiten. Schlagen die Bieter nun zu, fallen natürlich die entspre-chenden Gebühren an, aber Sie haben Ihren Verkauf eventuelldeutlich gesteigert.

Best Offer

In einigen Kategorien ermöglicht das eBay-System es potenziel-len Käufern, Angebote zu unterbreiten. Vom Verkäufer können

28

Page 29: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Besondere Artikelformen

diese akzeptiert werden, womit der Artikel dann automatischverkauft und die Auktion beendet wird.

GetItFast und NowAndNew

Die Sonderformen GetItFast und NowAndNew können nur beiFestpreisangeboten genutzt werden. Letztlich entstehen dadurchbesondere Markierungen in der Suchliste, die signalisieren, dassArtikel speziellen Kriterien entsprechen. Im Fall von „Sofort undNeu“ müssen dazu der Artikelzustand „Neu“, die Angaben zumRückgaberecht sowie mindestens eine Versandoption gesetztwerden. GetItFast signalisiert, dass der Artikel sofort lieferbarist.

WantItNow

Der Bereich WantItNow (eBay-Suchanzeigen) ist ein nachfrage-orientiertes Format. Käufer können hier ihre Wünsche äußernund eBay-Verkäufer können darauf mit konkreten bereits einge-stellten Artikeln reagieren.

eBay Express

Mit „eBay Express“ hat eBay eine neue Form des Verkaufs einge-führt. Das wesentliche Merkmal für Verkäufer ist, dass auf „eBayExpress“ nur Neuwaren zum Festpreis angeboten werden kön-nen. Für Käufer ergibt sich die Möglichkeit, Artikel unterschied-licher Verkäufer gemeinsam in einem Warenkorb „auschecken“zu können.

Von Seiten der API ergibt sich lediglich die Notwendigkeit, Arti-kel mit bestimmten definierten Merkmalen ausstatten zu müs-sen. Sind alle diese Merkmale gegeben und qualifiziert sich derVerkäufer für eBay Express, erscheint ein „normaler“ eBay-Fest-preis- oder Shop-Artikel automatisch auch auf eBay Express.

29schnell + kompakt

Page 30: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

2 – Der eBay-Geschäftsprozess

Daneben besteht die Möglichkeit, einen Artikel nur auf eBayExpress zu listen (dazu wurde ein neuer ListingType = Expresseingeführt). Ansonsten entspricht die Behandlung von eBayExpress der anderer Artikelformate.

30

Page 31: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

KAPITEL 3

eBay für Techniker

3.1 Alle Sites ein System 31

3.2 Sandbox und Production 33

3.3 Keys und Zertifizierung 34

3.4 Token 35

3.5 URLs 36

3.6 Initialer Start und Testbenutzer 36

3.1 Alle Sites ein SystemGrundsätzlich wird das gesamte Hosting aller weltweiten eBay-Sites gemeinsam in Rechenzentren in den USA durchgeführt.Die lokalen eBay-Dependancen haben in Bezug auf das Site-Ope-rating keine echte Funktion, mal abgesehen von Spezialsites, dieim Rahmen von Marketingkampagnen genutzt werden.

Damit ergibt sich ein weltweiter Datenpool, der sämtliche aktu-elle – und für 90 Tage auch historischen – eBay-Artikeldaten be-inhaltet. Die einzelnen Länder-Sites stellen diese Daten dann inihren eigenen lokalisierten Kontextseiten dar. Ähnliches gilt auchfür die funktionellen Aspekte der einzelnen Systeme. Auch hiergilt, dass sich die Sites funktionell kaum voneinander unter-scheiden und auf einem gemeinsamen Funktionspool basieren.Allerdings ist zu beachten, dass aufgrund unterschiedlichergesetzlicher Bestimmungen sich in manchen Bereichen massiveUnterschiede sowohl auf der Länder-Website als auch in derNutzung der API ergeben. Auch werden manche Funktionali-täten nicht in allen Ländern genutzt – so ist etwa der Bereich

31schnell + kompakt

Page 32: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

3 – eBay für Techniker

Immobilienangebote bisher nur in den USA und – in reduzierterForm – auch in Deutschland verfügbar.

Sämtliche weltweiten Benutzerkonten können sich an einer be-liebigen Site anmelden und sowohl für Verkäufe als auch für Ein-käufe genutzt werden.

Organisation in Sites

Sämtliche eBay-Sites werden intern mithilfe einer Nummer derso genannten Site-ID verwaltet. Hierbei hat die Mutter-Site (USA)die Site-ID 0, Deutschland die 77, Österreich die 16, die Schweizdie 193. Zurzeit existieren hier 24 unterschiedliche Site-IDs.

Bei der Nutzung von API-Aufrufen ist die Site-ID stets mit anzu-geben – daneben muss teilweise die „Textform“ der Site z.B.„Germany“ zusätzlich definiert werden.

Standard-Sites, Rest-World-Sites

Intern nutzt eBay zwei unterschiedliche Systeme. Sämtliche„großen“ Sites, und dazu gehört natürlich auch die deutsche, ar-beiten mit der „Standardversion“; kleinere eBay-Länder nutzenso genannte „Rest-World-Sites“. Als kleine Geschwister unter-scheiden sich diese funktionell massiv vom Standardsystem, sieermöglichen aber einen schnellen Start im eBay CI. Im Laufe derZeit wird hier in der Regel der Umstieg auf das Standardsystemangestrebt.

Die Nutzung der API ist auf den Rest-World-Sites nur einge-schränkt möglich.

Versionierung und Compatibility-Level

Die Funktionen des eBay-Systems befinden sich in einem ste-tigen Fluss. Entsprechend ändert sich auch die API in regelmä-

32

Page 33: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Sandbox und Production

ßigen zeitlichen Abständen. Da die Softwareentwicklung derWebsite und der API nicht direkt miteinander verzahnt sind, ent-stehen vielleicht Zeiträume, in denen Funktionen der Websitenicht oder noch nicht in der API abgebildet sind. Daneben bietetdie API teilweise Möglichkeiten, welche die Website nicht odernicht mehr besitzt.

Unschön ist es, wo sich das eBay-API-Team entschlossen hat,Funktionen nicht in die API aufzunehmen, oder wo sich die Ab-läufe massiv unterscheiden.

Die Funktionen der Website sowie der API werden eBay-internmit Versionsnummern verwaltet. Für den API-Entwickler isthierzu der so genannte Compatibility-Level wesentlich, der so-zusagen die Version der API darstellt. Interessant ist hier, dassdie API durchaus parallel in unterschiedlichen Versionen an-sprechbar bleibt – eine neue Version ersetzt also nicht sämtlicheälteren Versionen, sondern diese bleiben für einen längeren Zeit-raum erhalten (+/– zwölf Monate). Sinnvoll ist es allerdings,zeitnah auf neuere Versionen umzusteigen, soweit sich dadurchkeine funktionellen Probleme ergeben.

3.2 Sandbox und ProductionInsbesondere für Einsteiger oder für den Test von neuen Funk-tionalitäten stellt eBay die so genannte Sandbox zur Verfügung.Funktionell identisch mit den Produktionssystemen stellt dieSandbox einen (auch in Bezug auf Listingkosten und Verkaufs-gebühren) kostenfreien Testbereich zur Verfügung. Zu beachtenist allerdings, dass Sandbox und Production unterschiedlicheDatenbanksysteme nutzen. Dadurch sind etwa Artikel der Pro-duction auf der Sandbox nicht sichtbar, sondern nur solche Arti-kel, die andere Entwickler oder Sie selbst eingestellt haben. DasGleiche gilt auch für sämtliche Benutzerkonten.

33schnell + kompakt

Page 34: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

3 – eBay für Techniker

Im Rahmen der Entwicklung ist es daher sinnvoll, auf der Sand-box eine Reihe von Testkonten (Verkäuferkonten, Käuferkontenund/oder Kombinationen) anzulegen.

Für die Nutzung der API gilt, dass die API-Server jeweils unter-schiedliche URLs nutzen und auch nur mit den richtigen Keys(siehe unten) arbeiten. Die Sandbox ist eben nur ein kleiner Bru-der der Production und arbeitet dementsprechend nur mit einemBruchteil der Hardware des „echten“ Production-Systems. Hier-aus ergibt sich natürlich auch, dass die Performance der Sandboxnur Sandkastenniveau erreicht.

3.3 Keys und ZertifizierungSobald ein API Call genutzt werden soll, fordert das eBay-Systemdie Nutzung von drei Keys. Mit einem davon wird der Entwickler(Developer ID), mit dem nächsten dessen Anwendung (Applica-tion ID) und mit dem dritten schließlich die Berechtigung (Certi-ficate) geprüft. Zu beachten ist, dass sich Zertifikat und Anwen-dungs-ID für die Sandbox und die Production unterscheiden.

Im Rahmen einer Entwicklung kann zunächst automatisiert dieAnmeldung am Entwicklerprogramm (http://developer.ebay.com)vorgenommen werden. Als Ergebnis werden hier sofort die dreinotwendigen Schlüssel für die Sandbox-Umgebung bereitge-stellt.

Für die Nutzung der Anwendung auf der Produktionsumge-bung wird ein neues Key Triple benötigt, das nach einer „Selbst-zertifizierung“ generiert werden kann. War die Nutzung der APIund die Production-Zertifizierung bis Ende 2005 noch kosten-pflichtig, ist nun das Verfahren deutlich vereinfacht und kosten-los. Im Wesentlichen gilt es zunächst, ein HTML-Formular aus-zufüllen. Hiernach wird automatisiert ein Key Triple generiert,mit dessen Hilfe ein Bestätigungscode aus einer E-Mail abgeru-

34

Page 35: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Token

fen werden kann. Zunächst hat dieses Key Triple die Eigenschaft,dass die Anzahl der Aufrufe auf 10.000 Abrufe je Tag beschränktist. Erst nach einer aufwändigeren echten Zertifizierung, in derauch die Anzahl der erwarteten Spitzenlast je Tag spezifiziertwerden muss, werden die Keys auf ein Call-Limit von 1,5 Millio-nen Aufrufe täglich freigeschaltet.

3.4 TokenBestimmen die API-Keys den Entwickler, dient der so genannteToken dazu, einen bestimmten Benutzer zu identifizieren und zuautorisieren. Letztlich hat der Token damit eine ähnliche Funk-tion wie die eBay-ID und das zugehörige Passwort auf der eBay-Website. Der Unterschied besteht zum einen darin, dass derToken nur mit den API-Keys arbeitet, für die die Autorisierungausgestellt wurde, und eben ein interaktiver Login auf der eBay-Website nicht möglich ist. Ein API-Benutzer kann somit einenToken für einen API-Entwickler ausstellen und diesen damit er-mächtigen, in seinem Auftrag Artikel einzustellen oder Trans-aktionsdaten abzurufen. Der API-Entwickler kann aus demToken das Passwort des Benutzers nicht extrahieren, und mittler-weile ist die Nutzung des Token auch dann noch möglich, wennder Benutzer sein eBay-Passwort zwischenzeitlich ändert. DerToken hat allerdings keine unbeschränkte Haltbarkeit. Zumeinen kann ein eBay-Benutzer jederzeit im „My eBay“-Bereichdie Ermächtigung zurückziehen, zum anderen gilt ein Tokenzunächst für 18 Monate und muss danach eventuell erneuertwerden.

Das Verfahren für die Ausstellung des Token nennt eBay „Auth &Auth“ (Authentication and Authorization).

Das Auth & Auth-Verfahren erfordert zunächst ein Setup für einebestimmte API-Anwendung (App-ID). Hierbei hinterlegt der

35schnell + kompakt

Page 36: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

3 – eBay für Techniker

API-Entwickler mithilfe eines so genannten RuName (Return-URL-Name) bei eBay die Bereitschaft zur Teilnahme am Auth &Auth-Verfahren. Wird nun ein Token benötigt, kann eine beson-dere eBay-Login-Seite unter Angabe des RuName aufgerufenwerden (z.B. durch einen Link in einer Anwendung). Der Be-nutzer loggt sich danach im eBay-System ein und bestätigt dieWeitergabe des Token an den API-Entwickler. Je nach Verfahrenführt das „Auth & Auth“-System nun einen HTTP-Redirect aufeine hinterlegte HTTPS-Adresse durch und übergibt dabei denToken, oder der API-Entwickler kann den Token mithilfe einerspeziellen Methode (FetchToken) abholen.

Wird nur ein einziger Token benötigt, kann dieser – praktischauch für Tests – über ein spezielles Tool im eBay-Entwickler-bereich erzeugt werden (http://developer.ebay.com/tokentool/).

3.5 URLsFür Nutzung der API werden je nach „Umgebung“ (Sandboxoder Production) unterschiedliche URLs genutzt. Auch in denmeisten SDKs muss diese URL zunächst festgelegt werden. DieURLs lauten (jeweils für die Nutzung von SOAP) https://api.sandbox.ebay.com/wsapi für die Sandbox und https://api.ebay.com/wsapifür die Produktionsumgebung. Weitere Informationen, wie etwadie Site-ID oder unser Key Triple, werden später mit Parameternbzw. speziellen HTTP-Requestheadern definiert.

3.6 Initialer Start und TestbenutzerDer erste Weg führt zunächst zur Anmeldung im eBay-Entwick-lerprogramm (http://developer.ebay.com). Hierzu ist ein „norma-les“ eBay-Konto (Production-eBay-ID) erforderlich. Als Ergebniserhalten Sie das Key Triple für das Sandbox-System.

36

Page 37: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Initialer Start und Testbenutzer

Bei der Nutzung der Sandbox (http://www.sandbox.ebay.de) emp-fiehlt es sich, eine Reihe von Testkonten anzulegen, um später dieGeschäftsabläufe simulieren zu können. Hilfreich ist dabei dieNutzung des Sandbox User Registration Tool (http://developer.ebay. com/DevZone/sandboxuser.asp). Hierbei kann der Benutzerbereits (simuliert) einer Heimat-eBay-Site zugeordnet werden;daneben können auch das Anmeldedatum und der Feedback-Level initialisiert werden. Hier ist die Erzeugung unterschiedli-cher Kontentypen sinnvoll, da sich teilweise aus diesen Angabenja die Berechtigung für spezielle Features der eBay-Plattform ab-leitet. Im nächsten Schritt sollten die „Standard“-Werte des neu-en Benutzers angepasst werden (http://cgi4.sandbox.ebay.de/ws1/eBayISAPI.dll?ChangeRegistrationShow). Hierbei ist zu beachten,dass zunächst NUR Name und Vorname des Benutzers geändertund gespeichert werden und erst danach in einem weiteren Up-date das Land und die Adresse angepasst werden; ansonstenhaben Ihre Benutzer den „Standardnamen“ Heribert Varli. Alleweiteren Angaben wie die Vorgabe der Versandadresse, das Ein-stellen des Verkäuferkontos etc. können dann über die „MyeBay“-Funktionen der Sandbox angepasst werden. Teilweise istdie Sandbox allerdings nicht ein vollwertiges funktionsfähigesSystem und Sie werden sicherlich feststellen, dass viele Funktio-nen gar nicht oder nur hin und wieder funktionsfähig sind. ImRahmen einer umfangreichen Entwicklung sollten daher sämt-liche Funktionen auch auf dem Produktionssystem getestetwerden.

Suchen Sie einmal in der Knowledgebase auf developer.ebay.comnach dem Begriff „Test Sellers“. Hier finden Sie eine Reihe von„automatisierten“ Benutzern, die regelmäßig Artikel einstellen,kaufen und verkaufen. Nach der Erzeugung der Tokens für diehier angegebenen Benutzerkonten können auch diese sehr gutfür den Test einer Entwicklung dienen.

37schnell + kompakt

Page 38: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von
Page 39: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

KAPITEL 4

SDK oder nicht SDK

4.1 Dokumentation 40

4.2 SOAP 40

4.3 REST 43

4.4 Direkter Zugriff 43

Die eBay API unterliegt wie die eBay-Plattform einer stetigenVeränderung. Viele neue Funktionen ergeben sich durch neueFeatures auf der Plattform oder dienen der Integration der vielen„aggregierten“ Websites oder Länder-Sites. Hinzu kommen auchAnpassungen der API selbst, die teilweise nur aus dem Hinzu-fügen oder dem Wegfall von Attributen bestehen, teilweise aberauch massive strukturelle Anpassungen sind. In der Vergangen-heit hat eBay zunächst ein sehr „eigenes“ XML-Format genutzt,das Mitte 2006 durch das so genannte Unified-Schema ersetztwurde. Hiermit nutzen nun sämtliche APIs zumindest ähnlicheStrukturen in Bezug auf die Datentypen und Benennungen derFelder.

Mittlerweile existieren eine Reihe von SDKs für unterschiedlicheProgrammiersprachen, die idealerweise davor schützen, dassdie API-internen Anpassungen auch direkt innerhalb einer An-wendung nachvollzogen werden müssen. Daneben beinhaltendie SDKs – außer Beispielcode – teilweise Hilfsroutinen, welchedie direkte Arbeit mit der API deutlich vereinfachen können.

39schnell + kompakt

Page 40: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

4 – SDK oder nicht SDK

Ein kleiner Nachteil der SDKs ist, dass diese nicht sofort nach ei-ner API-Änderung bereitstehen, sondern mit einem kleinen zeit-lichen Verzug.

4.1 DokumentationDie Dokumentation der API ist faktisch nicht für alle SDKs expli-zit vorhanden, sondern leitet sich jeweils aus der SOAP-Doku-mentation ab. Ein guter Einstiegspunkt sind hier die mitgelie-ferten Beispiele, die einen schnellen Start in die Nutzung desentsprechenden Systems ermöglichen.

Allen SDKs ist gemein, dass die Nutzung kostenfrei ist, und zu-mindest in Teilen werden die Systeme im Sourcecode geliefertoder sind an sich Open Source.

4.2 SOAPMit der Einführung des Unified-Schemas werden wohl die aller-meisten Anwendungen entweder direkt die SOAP Web Servicesoder eines der darauf aufsetzenden SDKs nutzen.

Die direkte Nutzung von SOAP hat den Vorteil, stets Up-to-date-Änderungen an der API mitvollziehen zu können. Parallel dazuhat das dann vielleicht auch den Nachteil, dass sich Seiteneffekteergeben könnten, die nur mit einem tiefen Verständnis der ge-samten API vorhersehbar sind.

Die Autorisierung der Anwendung erfolgt in unterschiedlichenFeldern. Zum einen wird die Anwendungs-ID (App-ID) in derURL neben anderen als Parameter angegeben. Daneben wird einSOAP Header genutzt, der das gesamte Key Triple und Tokenbzw. User/Passwort enthält.

Daneben muss die Endpoint-URL je nach zu nutzender Methodeangepasst werden. Damit kann der Aufruf innerhalb der eBay-

40

Page 41: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

SOAP

API-Webfarm einfach geroutet werden. Das Verfahren muss aller-dings recht aufwändig bei der direkten Nutzung von SOAP abge-bildet werden, da normalerweise – etwa unter .NET – von einereinzigen Endpoint-URL für einen Web Service ausgegangen wird.

Die SDKs kapseln diese Einstellungen allerdings automatisch;die oben stehenden Vorbereitungen sind nur bei der direktenNutzung von SOAP notwendig.

Windows SDK

Das Windows SDK nutzt intern die SOAP und bildet diese inHilfsklassen unter .NET nach. Wesentlich ist dabei die KlasseApiContext für das Key Triple und den zu nutzenden Token. Fürjeden API Call wird eine entsprechende „xxxCall“-Klasse bereit-gestellt, sämtliche Datentypen der eBay API werden in entspre-chenden Klassen abgebildet.

Die mitgelieferten Beispiele, die teilweise bereits höchst kom-plexe Anwendungen darstellen, sind zwar interessant, aber sehrstark auf den amerikanischen Markt ausgerichtet. Die Anwen-dungen lassen sich zwar auch auf der deutschen Sandbox oderProduktion zum Leben erwecken, allerdings nur mit teilweisemassivem Eingriff in den Sourcecode.

Das SDK wird fast vollständig im Sourcecode geliefert. Die vor-bereiteten Assemblies wurden mit VS.2003 und somit .NET 1.1erstellt. Ein Upgrade auf .NET 2.0 ist aber problemlos möglich.Die Nutzung des eBay Picture Service ist durch die AssemblyeBayPictureService.dll möglich, wobei diese weder direkt doku-mentiert noch im Sourcecode geliefert wird.

Mithilfe der Interop-Funktionalität von .NET können die As-semblies auch mit COM-fähigen Sprachen, wie etwa VB 6.0 oderVBA (Office), genutzt werden. Eine Batch-Datei zur Registrie-rung (RegSDK.bat) liegt vorbereitet im Hauptordner des SDK.

41schnell + kompakt

Page 42: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

4 – SDK oder nicht SDK

Neben dem reinen SDK wird eine weitere Bibliothek – die Inte-grationLib – mitgeliefert. Diese stellt einen Connector zwischeneiner Datenbank und der eBay API dar. Leider wurde hier nurdie Bindung an MS-Access bzw. OLE-Db realisiert.

Java SDK

Auch das Java SDK basiert auf der SOAP-Schnittstelle. Die hierentstandene Hülle ist allerdings recht dünn und die Menge anHilfsklassen und Funktionalitäten hält sich stark in Grenzen. In-teressant ist die Fähigkeit, die API multithreaded zu nutzen.

eBay PHP Accellerator Toolkit

Nicht ganz uneigennützig wird hier auch das eBay PHP Accele-rator Toolkit (kurz: Ebat) vorgestellt, da der Autor maßgeblich ander Entwicklung beteiligt ist. Wie auch bei den anderen SDKs istdie Basis des Ebat der SOAP Web Service. Das Toolkit ähnelt inseinem Grundaufbau dem aktuellen Windows .NET SDK. Esexistieren PHP-Klassen für alle Datentypen der API. Die Verwal-tung der Basisdaten erfolgt mithilfe der Klasse EbatNs_Session,sämtliche Methoden der API stehen in der Klasse EbatNs_Ser-viceProxy zur Verfügung. Das System arbeitet mit einer proprie-tären, (auf das eBay-System) optimierten SOAP-Schnittstelle undkann daher ohne weitere Zusatzsoftware unter PHP 4 und PHP 5genutzt werden.

Auch hier wird eine Vielzahl von Beispielen geliefert. Darunterfinden sich spezielle Anpassungen für den deutschen Markt-platz, aber auch fortgeschrittene Aufbauten, z.B. für die Nutzungvon Attributen, die Bindung an eine (MySQL-)Datenbank oderdie Entgegennahme von Notifications. Der Download findet sichunter http://www.intradesys.de.

42

Page 43: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

REST

4.3 RESTDie REST-Schnittstelle ist ein System, das ursprünglich dediziertfür eBay Affiliates mit einem vereinfachten Zugriffsverfahren ge-startet ist. Mittlerweile gilt auch hier für Rückgabewerte das Uni-fied-Schema. Die Eingabeparameter werden aber – wie bei RESTüblich – mithilfe von einfachen CGI-Parametern formuliert.

Die REST-API stellt allerdings nur einen Subset aller API-Funk-tionen bereit – im Wesentlichen nur Suchfunktionen, wie sie ineiner Affiliate-Anwendung benötigt werden. Da die REST-Serverwohl eine eigene dedizierte Infrastruktur darstellen, ist die Nut-zung etwa des GetItem-Call hier teilweise deutlich performanterals auf den „normalen“ API-Servern.

4.4 Direkter ZugriffNeben den SDKs oder der Nutzung des SOAP Web Service stellteBay weiterhin eine so genannte XML-Schnittstelle bereit. Hierbeiwerden die Anforderungen mittels eines HTTP-Post-Befehlsübergeben. Letztlich ist dies ein ähnlicher Aufbau wie bei SOAP,allerdings ohne den SOAP-Envelope. Das Verfahren ist aber nurwenig unaufwändiger als SOAP und bietet sich nur bei Anwen-dungen an, die direkt auf der Nutzung von XML aufsetzen sollen.

43schnell + kompakt

Page 44: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von
Page 45: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

KAPITEL 5

eBay API – Technical Basics

5.1 Auth&Auth 45

5.2 Poll and Push 48

5.3 Compatibility Levels 49

5.4 Detail Level und Granularity Level 50

5.5 Paginierung 51

5.6 Behandlung von Datums- und Zeitwerten 51

5.7 Lookup-Werte 52

5.8 Aufbau eines Call 54

5.1 Auth&AuthSoll eine Anwendung mit mehr als einem Benutzerkonto arbei-ten, sollte das Auth&Auth-Verfahren für die Ausstellung einesToken genutzt werden. Für eine einfache Anwendung ist essicherlich unaufwändiger, den Token eines Benutzers über dasToken-Tool auf der Entwickler-Website zu erstellen.

ReturnURL

Für die Teilnahme am Auth&Auth-Verfahren muss zunächst jeAnwendung mindestens eine Return-URL definiert werden. Dieentsprechende Methode (SetReturnURL) benötigt einen so ge-nannten RuName, der weltweit eindeutig sein muss. Falls diepersönliche Kreativität hier nicht ausreicht, kann eventuell dieMethode GetRuName genutzt werden.

Der RuName wird nun zusammen mit einer Redirect-URL imeBay-System hinterlegt – wichtig ist, dass hier nur HTTPS-

45schnell + kompakt

Page 46: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

5 – eBay API – Technical Basics

Adressen genutzt werden dürfen. Für einen Test oder eine ledig-lich interne Nutzung kann hierbei auf ein offizielles SSL-Zertifi-kat verzichtet werden. In einer Browser-Anwendung wird hierzwar eine Sicherheitswarnung gezeigt, eBay hingegen prüft dasZertifikat nicht und akzeptiert alles, was mit https:// beginnt. DerParameter „TokenReturnMethod“ definiert mit „Redirect“ oder„FetchToken“ die Übergabemethode des Token.

Eine Besonderheit von SetReturnURL ist, dass diese Methode alseinzige keinen Token, sondern eine Kombination aus eBay-IDund Passwort benötigt – wobei diese eBay-ID völlig beliebig seinkann, es geht hier lediglich um die Lösung des Henne/Ei-Pro-blems, sprich: Wie komme ich an einen Token ohne Token?

Nach dem Setup kann ein Benutzer, der einen Token ausstellensoll, auf die Auth&Auth-Seite weitergeleitet werden – für dieSandbox bzw. lokale Ländersites muss die Basis-URL entspre-chend angepasst werden.

Anstelle von MeinRuName nutzen Sie den zuvor definierten undmit SetReturnURL übergegebenen ReturnURL-Namen. Bei einerNutzung von FetchToken braucht es noch ein SecretID im Para-meter sid (siehe unten).

Nach dem Durchlaufen des Login-Prozesses und einer Bestäti-gungsseite generiert das Auth&Auth-System den Token für dieKombination Anwendung und Benutzer. Je nach „TokenReturn-Method“ unterscheidet sich nun die weitere Verarbeitung.

https://signin.ebay.com/ws/eBayISAPI.dll?SignIn&runame=MeinRuName[&sid=xxx]

46

Page 47: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Auth&Auth

Auth&Auth Redirect

Im Falle eines Redirect leitet das Auth&Auth-System den Benut-zer nach der Token-Generierung auf die mit SetReturnURL ange-bene „AcceptURL“ weiter. Dabei wird ein einfacher HTTP-403Redirect genutzt. Der Token wird als Request-Parameter in ebay-tkn, der Benutzername in username übergegeben. In einer Web-anwendung kann damit der Token einfach entgegengenommenund verarbeitet werden.

Auth & Auth Fetchtoken

Ist die API keine Webanwendung oder steht kein HTTPS-Serverzur Verfügung, bietet sich das FetchToken-Verfahren an. Hierbeiwird nach der Anmeldung kein Redirect durchgeführt, sondernder generierte Token lediglich für 48 Stunden bei eBay hinterlegt.

Bei der initialen Login-Prozedur ist eine so genannte SID („gehei-me“ ID) mit zu übergeben, in der Regel ein Wert, der mit einemUUID-Algorithmus erstellt wurde. Nach dem erfolgten Loginkann der Token mithilfe der Methode FetchToken unter Angabedes Benutzernamens und der SID proaktiv abgeholt werden.Achtung: FetchToken nutzt keine „echte“ Autorisierung; es wirdkein Token und kein eBay-Passwort, aber der eBay-Benutzer-name (in Korrelation mit der SID) im Autorisierungsbereichangegeben.

Redirect ohne Token

Neben den beiden oben genannten Verfahren existiert eine Kom-bination. Hierbei findet zwar ein Redirect statt, es wird aller-dings nur die SecretID und der Benutzername, aber nicht derToken übergeben. Hiernach kann dann der FetchToken-Aufruf er-folgen. Vorteil dieser Methode ist, dass der Token nicht in derBrowser-Adresszeile sichtbar wird und damit nicht zu – unbe-

47schnell + kompakt

Page 48: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

5 – eBay API – Technical Basics

gründeten – Sicherheitsbedenken bei unbedarften Benutzernführt.

5.2 Poll and PushGrundsätzlich bietet eBay zwei unterschiedliche Verfahren derAPI-Nutzung. Zum einen können die Methoden im Polling-Ver-fahren genutzt werden. Für die proaktiven Aktionen wie „Ein-stellen von Artikeln“ oder „Eröffnen eines Disputs“ kann nurdieses Verfahren genutzt werden.

Der Abruf von Transaktionen erfolgt oft auch im Polling-Ver-fahren. Die Anwendung prüft hier in regelmäßigen Abständen(etwa alle 30 Minuten) und ruft die entsprechenden Daten ab.Hier können alternativ die eBay Platform Notifications (EPN) ge-nutzt werden. Dabei liefert der API-Server die Daten im Push-Verfahren, sobald neue Daten vorliegen.

Die entsprechenden Datenstrukturen sind fast vollständig gleich.Letztlich basiert das Verfahren darauf, dass der Notification-Ser-vice automatisch die entsprechende API-Methode aufruft und dieErgebnisdaten einfach an eine hinterlegte URL weiterleitet.

Nach dem heutigen Stand der EPN können beliebig viele unter-schiedliche Anwendungen die Daten empfangen und verarbei-ten. In der Anfangszeit war dies nur der Anwendung möglich,die einen Artikel mittels der API eingestellt hatte.

Notifications

Die eBay Notifications unterteilen sich in verschiedene Gruppen,die entsprechend mit den unterschiedlichen Daten und Ereignis-sen, die während des eBay-Geschäftsprozesses auftreten können,verbunden sind.

48

Page 49: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Compatibility Levels

Im Wesentlichen sind dies „verkaufsbezogene“, käuferbezogeneNachrichten- und Dispute-Daten. Eine Anwendung kann dieentsprechenden Nachrichten anwenderspezifisch abonnierenund entsprechend weiterverarbeiten.

Das Setup ist hier zunächst anwendungsbezogen durchzufüh-ren. Dabei hinterlegt die Anwendung eine URL bei eBay und de-finiert damit die „Rückruf“-Adresse. Interessant ist, dass hierauch URLs in der Form „mailto://“ möglich sind und damit eineWeiterleitung in eine Mailbox erfolgen kann. Für jeden Benutzermuss danach ein weiteres Setup erfolgen, wobei hier die ge-wünschten Benachrichtigungen und der Token des entsprechen-den Benutzers anzugeben sind.

Das einmalige Setup der Anwendung und das Setup der Benut-zerkonten erfolgt jeweils mithilfe der API-Methode SetNotifica-tionPreferences.

Wesentlich für die Nutzung von Notifications ist, dass Ihr Emp-fangsserver eine hohe Verfügbarkeit aufweist. Kann der Servereinmal nicht erreicht werden, versucht das EPN-System zwar,die Auslieferung zu wiederholen, es schaltet sich allerdings nacheiner gewissen Zeit aus und das gesamte Setup muss wiederholtbzw. der eBay Developer Support muss bemüht werden.

5.3 Compatibility LevelsUm den fortlaufenden Änderungen gerecht zu werden, welchedie eBay-Plattform und die API ständig durchlaufen, muss beijedem API-Aufruf eine Versionskennung – der CompatibilityLevel – mitgegeben werden. Die unterschiedlichen Versionen derAPI existieren ca. zwölf Monate und können mit dem Compati-bility Level entsprechend aktiviert werden. Somit ist es möglich,dass die API-Anwendungen unterschiedlicher Entwickler mitden entsprechenden Versionen der API arbeiten können.

49schnell + kompakt

Page 50: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

5 – eBay API – Technical Basics

Neue Versionen erscheinen etwa alle zwei bis drei Wochen, mitteilweise massiven Anpassungen der vorhergehenden Version,neuen Calls oder auch nur mit kleineren Anpassungen – etwa inder Dokumentation. Es ist dann die Aufgabe des Entwicklers, zuentscheiden, ob das Upgrade sofort oder erst zu einem späterenZeitpunkt stattfinden soll.

Der Compatibility Level ist nicht direkt linear. Die Versionsken-nung steigt also nicht immer in einzelnen Nummern an, sondernes gibt vielfach Sprünge von drei oder fünf Zählern. Also mussman sich keine Sorgen machen, dass man vielleicht eine Versionverpasst hat.

Der genutzte Compatibility Level kann jeweils für jeden Call ge-trennt gesetzt werden, wobei dies selten geschieht und normaler-weise die Nutzung des Versionskennzeichens in einem SDK ge-kapselt ist. In Ausnahmesituationen – etwa bei einem Problembei eBay selbst – kann eventuell das temporäre Downgrade einAusweichweg sein.

5.4 Detail Level und Granularity LevelEine Reihe von Funktionen liefert teilweise sehr viele Daten zu-rück, die in einer bestimmten Anwendung vielleicht nur partiellbenötigt werden. Mithilfe des so genannten Detail Level kann diezurückgegebene Datenmenge eingeschränkt werden. Der DetailLevel ist ein Textwert (normalerweise ist der Standard hierReturnAll), der Call-bezogen definiert sein kann. Zur Einschrän-kung sollte dann der entsprechende Wert genutzt werden, deram besten zu den eigenen Anforderungen passt. Einige Callsdefinieren daneben das Feld „Granularity Level“. Die Funktionist sehr ähnlich dem Detail Level mit den möglichen Werten„coarse“ (wenig Daten), „medium“ und „fine“ (für viele Daten).Ob ein Call nun Detail oder Granularity Level oder vielleicht

50

Page 51: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Paginierung

auch beides unterstützt, ist leider nicht eindeutig definiert, son-dern muss jeweils in der Dokumentation nachgelesen werden.

5.5 PaginierungViele der eBay-API-Methoden liefern eine Liste von unter Um-ständen sehr vielen Einträgen zurück. Grundsätzlich ist die Men-ge an gelieferten Daten je Call aber beschränkt. Eine Suchfunktionliefert so etwa nicht alle Artikel einer bestimmten Kategorie, son-dern zunächst nur 100 oder 200 Listeneinträge. Mithilfe des stan-dardisierten Paginierungsverfahrens wird die Ergebnismenge inSeiten unterteilt. Mit weiteren Aufrufen kann dann jeweils unterAngabe von Seitengröße und gewünschter Seite die Gesamtlisteheruntergeladen werden.

Intern arbeiten die meisten Calls, die größere Datenmengen lie-fern, mit einer Paginierung. Dabei werden dann zunächst De-fault-Werte genutzt. Typisch ist eine Seitengröße von 200 und derDefault 1 für die Seitennummer. Leider ist dies aber nicht beiallen Calls gleich, der häufig genutzte Call GetSellerTransactionsetwa nutzt hier den Default 0. Entsprechend beginnt die Seiten-zählung auch bei 0 und nicht bei 1.

Ob die Nutzung der Paginierung sinnvoll oder möglich ist, kannman in der API-Dokumentation für jeden Call erfahren.

5.6 Behandlung von Datums- und Zeitwerten

Grundsätzlich werden alle Datums- und Zeitangaben in dereBay API auf der Basis von UTC-Zeitstempeln ausgedrückt. So-mit sind alle empfangenen Angaben mithilfe einer geeignetenMethode von GMT in die entsprechende eigene Zeitzone umzu-rechnen. Das Gleiche gilt umgekehrt auch für sämtliche Zeit-

51schnell + kompakt

Page 52: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

5 – eBay API – Technical Basics

werte, die als Parameter in der API genutzt werden. Neben derPlanungszeit bei einem vorgeplanten Artikel sind dies häufigZeiträume, die zur Einschränkung der Ergebnisdaten genutztwerden können.

5.7 Lookup-WerteEine Vielzahl von Werten, die in der API genutzt werden, bestehtaus Vorgabewerten in Text- oder numerischer Form. Mit der Ein-führung des Unified-Schemas wurden viele der bisherigen nu-merischen Vorgabewerte durch eine Textform ersetzt (Enums).Leider bieten nicht alle Programmiersprachen ein solches Kon-strukt und auf der anderen Seite wären numerische Werte bei derSpeicherung in einer Datenbank wesentlich praktischer, aber dietextuelle Form ist in einem Programmtext sicherlich deutlich les-barer.

Die typische Kategorien-ID, die zur Einsortierung von Artikelngenutzt wird, bleibt allerdings weiterhin ein numerischer Wert.

Bei allen nachfolgenden Elementen ist zu beachten, dass sichauch die Lookup-Werte in einem ständigen Wandel befinden. Sowerden etwa Kategorien in weitere Unterkategorien unterteilt,oder man entscheidet sich dafür, auf eine Unterkategorisierungin Zukunft zu verzichten und sich stattdessen rein auf Attributezu verlassen. Wichtig ist nun, regelmäßig die Daten abzurufenund gegen die eigene aktuelle Version zu testen sowie bei Bedarfdie neuen Werte zu übernehmen.

Ungeschickt ist die Nutzung von hart kodierten Werten, da sichdadurch eine ständige Pflege dieser Werte ergibt und eine An-wendung hierdurch kaum stabilisiert werden kann.

52

Page 53: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Lookup-Werte

Kategorie und Features

Der Kategorienbaum lässt sich jeweils unter Angabe der Site-IDabrufen (GetCategories). Hierbei ist es sinnvoll, zunächst mit derAngabe eines entsprechenden Detail Level zunächst nur die Ver-sionskennung und erst danach eventuell die neuen Daten abzu-rufen. Grundsätzlich müssen hier immer alle Daten abgerufenwerden, auch wenn sich faktisch nur einige wenige Einträgegeändert haben. Der Kategorienbaum ist schon im reinenXML-Format über 20 MB groß und damit macht eine Optimie-rung hier Sinn. Zunächst sollte sichergestellt sein, dass das zu-grunde liegende HTTP-Modul die Nutzung eines komprimie-renden Stream (GZIP oder compressed) unterstützt. Danebenkann es sinnvoll sein, den vollen Baum in Teilstücken (z.B. je-weils unter Angabe der IDs der Hauptkategorien) abzurufen.

Bei einer Änderung (z.B. dem Wegfall von Kategorien) wird einentsprechendes Mapping bereitgestellt. Hiermit werden dannArtikel, die in nicht mehr vorhandene Kategorien eingestelltwerden, automatisch in andere übertragen. Das entsprechendeMapping kann mit GetCategoryMappings abgerufen werden.

Zu jeder Kategorie lässt sich nun ein Feature Set abrufen (Get-CategoryFeatures), dazu gehören etwa spezielle Listing-Formateoder auch die erlaubten Zeiträume für die Listings in dieser Ka-tegorie.

CharacteristicsSets

Die CsSets einer eBay-Website können mit GetAttributesCS abge-rufen werden. Die Zuordnung zu einzelnen Kategorien kann mitGetCategory2CS festgestellt werden. Wichtig ist hier, dass GetCate-gory2CS zum einen die Kategorien angibt, für die ein bestimmtesCsSet gilt, zum anderen aber auch Ausschlüsse der SideWideCsSets.

53schnell + kompakt

Page 54: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

5 – eBay API – Technical Basics

Bei Bedarf kann eventuell mit GetAttributesXSL ein Stylesheet fürdie XSL-Transformation des CharacteristicsSet abgerufen wer-den.

eBay-Details

Die Mehrzahl der textuellen Vorgabewerte werden als Teil derWSDL für den SOAP Web Service geliefert und in der Regel in-nerhalb etwa eines SDK als Enum-Werte oder Konstanten be-reitgestellt. Darüber hinaus können weitere Daten mit der Me-thode GeteBayDetails abgerufen werden. Hierzu gehören etwabestimmte URLs für die Verlinkung zurück in die eBay-Website,Informationen über Versandoptionen, Zahlungsmethoden, aberauch die „Regionen“ (größere Städte und Landkreise), die bei derEinstellung genutzt werden können.

5.8 Aufbau eines CallObwohl wahrscheinlich die wenigsten Anwendungen direkt aufden rohen SOAP Web Services aufsetzen, ist es doch interessant,die technischen Details zumindest grob zu kennen. Nachfolgendwird die Basisstruktur anhand des – sehr einfachen – Call Get-eBayOfficalTime erläutert.

Zusätzlich zu den hier beschriebenen XML-Daten sind im HTTPHeader mindestens die Felder „Content-Type“ und „SOAP-Action“ zu setzen.

Bitte beachten Sie auch, dass die hier gezeigten XML-Daten (ausPlatzgründen) um die Namespace-Deklarationen gekürzt wur-den und somit nur schematisch den Aufbau der SOAP-Nachrich-ten zeigen.

54

Page 55: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Aufbau eines Call

SOAP XML Request

Der Grundaufbau der SOAP-Request-Nachricht besteht aus demSoap-Envelope mit der eBay-spezifischen Soap-Header-Erweite-rung für die Autorisierungsprüfung. Der SOAP-Body enthältdas entsprechende Request-Objekt mit der Versionskennungund eventuell weiteren Call-spezifischen Eingabedaten.

Listing 5.1: SOAP XML Request

<?xml version="1.0" encoding="utf-8"?> <soapenv:Envelope> <soapenv:Header> <RequesterCredentials xmlns="urn:ebay:apis:eBLBaseComponents">

… </RequesterCredentials> </soapenv:Header> <soapenv:Body> <GeteBayOfficialTimeRequest xmlns="urn:ebay:apis:eBLBaseComponents"> <Version>405</Version> </GeteBayOfficialTimeRequest> </soapenv:Body> </soapenv:Envelope>

55schnell + kompakt

Page 56: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

5 – eBay API – Technical Basics

Token

Bei der Nutzung der Token-Authentifizierung enthält der SOAPHeader zum einen den Token, daneben ein Element mit dem KeyTriple.

Alternative mit Username und Passwort:

Listing 5.2: Basis SOAP Header mit einem Token

<soap:Header> <ebl:RequesterCredentials soapenv:mustUnderstand="0">

<eBayAuthToken> ... TOKEN ...

</eBayAuthToken <Credentials> <AppId>YourAppId</AppId> <DevId>YourDevId</DevId> <AuthCert>YourCertId</AuthCert>

</Credentials> </ebl:RequesterCredentials> </soap:Header>

Listing 5.3: Alternative Authentifizierung mit Benutzername und Passwort

<soap:Header> <ebl:RequesterCredentials soapenv:mustUnderstand="0">

<Credentials> <AppId>YourAppId</AppId>

<DevId>YourDevId</DevId> <AuthCert>YourCertId</AuthCert> <Username>UserID</Username> <Password>UserPassword</Password>

</Credentials> </ebl:RequesterCredentials> </soap:Header>

56

Page 57: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Aufbau eines Call

Einige wenige Calls (SetReturnURL und FetchToken) nutzen eineabweichende Authentifizierung mit Username und eventuellauch dem eBay-Passwort. Beide sind Unterelemente von Cre-dentials.

HTTPs Call

Die Request-URL (der SOAP Endpoint) muss Call-spezifischkonstruiert werden – hier ein Aufbau in C#, der das Grundkon-strukt zeigt. Die Angabe von SiteId, Version und Anwendungs-ID gibt dem eBay-Web-Service die Möglichkeit, den Aufruf schonauf der URL-Ebene an den entsprechenden Server weiterzu-routen.

Listing 5.4: Aufbau der Request-URL

string endpoint = "https://api.sandbox.ebay.com/wsapi"; string callName = "GeteBayOfficialTime"; string siteId = "77"; // Deutsche eBay Sitestring appId = "yourAppId"; string version = "467";

// Build the request URL string requestURL = endpoint

+ "?callname=" + callName + "&siteid=" + siteId + "&appid=" + appId + "&version=" + version + "&routing=default";

57schnell + kompakt

Page 58: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

5 – eBay API – Technical Basics

Response

Die Antwortdaten des eBay-Web-Service enthalten eine Reihevon Standardelementen und die Call-spezifischen Daten. Im Fallvon GeteBayOfficalTime erhalten wir nur Standardelemente, dasElement Timestamp enthält die aktuelle „eBay-Zeit“, die auchbei allen anderen Calls Teil des Ergebnis-XML ist.

Listing 5.5: XML SOAP Response

<?xml version="1.0" encoding="utf-8"?> <soapenv:Envelope> <soapenv:Body> <GeteBayOfficialTimeResponse xmlns="urn:ebay:apis:eBLBaseComponents"> <Timestamp>2005-05-02T00:07:22.895Z</Timestamp> <Ack>Success</Ack> <CorrelationID>...</CorrelationID> <Version>405</Version> <Build>20050422132524</Build> </GeteBayOfficialTimeResponse> </soapenv:Body> </soapenv:Envelope>

58

Page 59: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

KAPITEL 6

eBay API – can do

6.1 Einstellen von Artikeln 59

6.2 Verkaufsabwicklung 62

6.3 Suchen von Artikeln 64

6.4 Dispute 66

Die nachfolgenden Abschnitte zeigen exemplarisch typischeAufgaben, die mit der eBay API gelöst werden können. Dabeiliegt das Augenmerk eher auf dem prinzipiellen Vorgehen undden Besonderheiten der zu nutzenden Methoden als auf konkre-ten Kodierungsbeispielen.

6.1 Einstellen von Artikeln

Die Basis für das Einstellen ist die Methode AddItem. Bevor aller-dings auch nur ein einfacher Aufruf abgesetzt werden kann,wird neben dem Key Triple und einem Token mindestens aucheine Kategorien-ID benötigt.

Die weiteren Angaben wie Titel und Beschreibung oder Start-preis sind sicherlich vorhanden. Des Weiteren sind mindestenseine Zahlungsmethode, der Artikelstandort und die Art des Ar-tikels (ListingType) zu setzen.

Dazu kommen eventuell das entsprechende CharactericsticsSetoder das SideWide CsSet für das Rückgaberecht bzw. den Arti-kelzustand.

59schnell + kompakt

Page 60: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

6 – eBay API – can do

Vor einem echten Einstellen können sämtliche Parameter mit derMethode VerifyAddItem getestet werden. Diese Methode durch-läuft die gesamte Einstelllogik, bricht allerdings kurz vor der tat-sächlichen Einstellung ab und dient damit lediglich zur Über-prüfung, ob ein AddItem-Aufruf erfolgreich gewesen wäre. BeideMethoden haben sehr ähnliche Eingabeparameter, und auch ineiner Produktionsumgebung ist es unter Umständen sinnvoll, je-weils zunächst mit einem vorgeschalteten „Verify“ zu prüfen.

Das Ergebnis eines AddItem-Call ist im Wesentlichen die ItemIDdes neuen Artikels. Diese ID wird auch dann zurückgeliefert,wenn der Artikel mithilfe des eBay-Scheduling erst in der Zu-kunft gestartet werden soll. Neben der ID liefert AddItem eineListe mit Gebühren für die Einstellung, also die vom Startpreisabhängige Einstellgebühr und sämtliche Extragebühren fürFeatures wie Fett, Galerie etc.

Crosspromoting

Mithilfe der ID können bei Bedarf Crosspromoting-Einstellun-gen zu anderen Auktionen oder Artikeln im eigenen eBay Shopdefiniert werden. Dies funktioniert auch für Artikel, die „vorge-plant“ sind. Hierzu ist die Methode SetPromotionRules zu nutzen.

Ending Items

Mithilfe der API können Artikel jederzeit durch Einsatz derMethode EndItem beendet werden. Hierbei ist allerdings im Falleiner normalen Auktion zu beachten, dass eine Streichung vonGeboten mithilfe der API nicht möglich ist. Sprich: Wird eine lau-fende Auktion beendet, auf die bereits ein eBay-Mitglied gebotenhat, entspricht dies dem Verkauf des Artikels an den Höchst-bieter. Für die Streichung von Geboten hingegen muss die ent-sprechende Funktion auf der eBay-Website genutzt werden.

60

Page 61: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Einstellen von Artikeln

Revise

Laufende Auktionen können mittels der Methode ReviseItemvollständig überarbeitet werden. Welche Eigenschaften des Arti-kels verändert werden können und ob es eventuell zeitlicheLimitationen gibt (z.B. maximal möglich bis zwölf Stunden vorAblauf), ist listingtyp- und kategorienabhängig. Unabhängigdavon können mit der Methode AddToItemDescription Anmer-kungen an den Beschreibungstext angefügt werden, allerdingsauch nur bis maximal zwölf Stunden vor Ablauf einer Auktion.

Relist

Ist eine Auktion oder ein Festpreisartikel abgelaufen, ohne dasssich ein Käufer gefunden hat, kann der Artikel einmalig erneutmit einer Gebührenreduzierung eingestellt werden. Hierzu dientdie Methode RelistItem. Im einfachsten Fall reicht hier die Anga-be der Artikelnummer des abgelaufenen Artikels aus. Bei Bedarfkönnen hiermit aber auch Änderungen bis hin zu einer vollstän-digen Überarbeitung vorgenommen werden.

SecondChance

Das so genannte Angebot an unterlegene Bieter kann mit derMethode AddSecondChanceItem erzeugt werden. Hierbei findetfaktisch ein Relist und eine Änderung des Listingtyps statt. DerArtikel verbleibt dann für einen begrenzten Zeitraum – nur sicht-bar für den unterlegenen Bieter – auf der Plattform. Bei einemVerkauf dieses Artikels muss dann entsprechend die neue Arti-kelnummer beachtet werden, die nicht mit dem Ursprungsarti-kel übereinstimmt.

Auch hier existiert mit VerifyAddSecondChanceItem eine Versionzur vorschaltbaren Prüfung.

61schnell + kompakt

Page 62: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

6 – eBay API – can do

Messaging

Während einer laufenden Auktion können eBay-Mitglieder mit-hilfe einer Funktion Fragen und Nachrichten an den Verkäufersenden. Im Fall des besonderen Immobilienformats ist dies sogarder einzige Zweck des Artikels.

Zurzeit befindet sich das Messaging-System in einer Umstel-lungsphase. Neue Anwendungen sollten direkt auf die neuenMethoden umsteigen und die ältere (AddMemberMessage) zu-nächst nicht mehr nutzen.

Ein initialer Versand einer Nachricht ist zunächst nur über dieWebsite möglich. Ein Verkäufer kann dann zunächst mit Get-MemberMessages bzw. MyMessages aktuell vorliegende Fragenabrufen. Alternativ können hier Notifications genutzt werden.

Mithilfe von AddMemberMessageRTQ kann ein Verkäufer auf eineNachricht antworten. Alternativ steht die Methode AddMember-MessageAAQToPartner zur Verfügung, allerdings erst nachdemeine „Transaktion“ existiert, an der der Käufer bzw. der Verkäu-fer beteiligt ist, sprich: nachdem ein Verkauf stattgefunden hat.

Für die Zukunft plant eBay, das Verfahren auszudehnen und mit-hilfe von „Einmal-E-Mail-Adressen“ auch eine anonyme Kom-munikation über das eBay-Nachrichtensystem zu ermöglichen.Dabei ist dann auch die API obsolet, da hier ein normales E-Mail-Programm genutzt werden kann.

6.2 Verkaufsabwicklung

Die Nutzung der API im Rahmen der Verkaufsabwicklung istsicherlich einer der Einsatzzwecke, der nach der Einstellung vonArtikeln am häufigsten genutzt wird. Wesentlich ist hier dieNutzung einer Kombination aus ArtikelNr (ItemID) und Trans-

62

Page 63: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Verkaufsabwicklung

aktionsNr. Beide zusammen beschreiben dabei eindeutig einenVerkaufsvorgang.

Abruf von Transaktionen

Der Abruf von Transaktionen kann entweder gesammelt füreinen Verkäufer (GetSellerTransactions) oder jeweils einzeln füreinen bestimmten Artikel (GetItemTransactions) erfolgen. ZurReduktion des Call-Volumens kann zunächst über GetMyeBay-Selling oder GetSellerEvents geprüft werden, ob neue Verkaufs-aktivitäten vorliegen. Bei allen Calls kann der Zeitraum für dieErgebnisliste mit zwei Feldern eingeschränkt werden. Danebenist eventuell auch die Nutzung der Paginierung notwendig, fallsdas Synchronisationsintervall relativ groß ist und die Anzahl derTransaktionen das Maximallimit von 200 übersteigt.

Insbesondere wenn die eBay-eigene Verkaufsabwicklung ge-nutzt wird, sollte beachtet werden, dass die Transaktion nachdem Ablauf einer Auktion oder bei einem Sofortkauf im Augen-blick des Kaufs erzeugt wird. Diese kann dann auch direkt abge-rufen werden, enthält aber vielleicht noch nicht die gewünschtenDaten, da der Käufer eventuell die Verkaufsabwicklung nochnicht genutzt hat.

Auch hier kann mithilfe der Notifications das Datenvolumendrastisch gesenkt werden. Die Transaktionen erscheinen mehroder minder automatisch, somit entfällt auch die gesamtePolling-Logik inklusive der Beachtung von Überschneidungen.Daneben werden die Notifications erst dann ausgeliefert, nach-dem die gewünschten Daten wirklich vorliegen – also im Bei-spiel von oben, wenn der Käufer die Verkaufsabwicklung voll-ständig abgeschlossen hat.

63schnell + kompakt

Page 64: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

6 – eBay API – can do

Order, Combined Payment

Kauft ein eBay-Mitglied mehr als einen Artikel eines bestimmtenVerkäufers, kann der Käufer nach Belieben alle Artikel zusam-mengenommen bezahlen bzw. verwalten. Hierbei erstellt daseBay-System zunächst eine Order (Bestellung) und kombinierthierin sämtliche Artikel – genauer eigentlich die Transaktionender Artikel.

Mittels der API können zunächst die Bestellungen und die hier-mit eventuell verbundenen gemeinsamen Daten abgerufen wer-den (GetOrder). Daneben ist es auch möglich, die Gruppierungs-funktion zu einer Bestellung vorzunehmen (AddOrder). Diese„Verkäufer-generierte Bestellung“ ist aber sicherlich ein seltengenutztes Feature der API.

Feedback

Nach dem erfolgten Abschluss einer Transaktion werden gegen-seitige Bewertungen abgegeben. Mit der API kann das Einlaufenvon Bewertungen (GetFeedback) ermittelt werden oder man ver-lässt sich auf die eBay Notifications.

Daneben kann mit der Methode LeaveFeedback oder mit der Me-thode CompleteSale die Bewertung für einen Käufer abgegebenwerden. Eine Prüfung auf Artikel, für die eine Bewertungsabga-be möglich ist, kann mit GetItemsAwaitingFeedback erfolgen.

6.3 Suchen von Artikeln

Die Suche in der eBay-Artikeldatenbank ist eine typische An-wendung, die von eBay Affiliates genutzt wird. Das Suchsystemwird mit den allermeisten Funktionen, die auch direkt auf dereBay-Website zur Verfügung stehen, über die Methode Get-SearchResults implementiert. Stellt die Website aber bestimmte

64

Page 65: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Suchen von Artikeln

Artikel (Featured oder Gallerie Featured) immer oben zuerst dar,so liefert die API-Suche die Ergebnisse immer in der gewähltenSortierung.

Die Suchfunktion gibt auch bei einfachen Anfragen oft sehr vieleArtikel zurück; entsprechend sollte hier die Paginierungsfunk-tion genutzt werden.

Auch die GetSearchResults-Methode beherrscht, ähnlich wie dieWebsite, die Expansion auf Artikel auf anderen eBay-Sites, fallsnur wenige Ergebnisse geliefert werden. Die Aufzählung allerParameter würde an dieser Stelle den Rahmen sprengen, interes-sant ist aber noch – als letzte Spezialität – die Unterstützung vonWildcards (*-Joker) und die Nutzung von logischen Verknüp-fungen.

Eine Liste von Artikeln in einer bestimmten Kategorie kann zwarauch mit GetSearchResults ermittelt werden, aber eigentlich solltehier die spezielle Methode GetCategoryListings genutzt werden.Beiden Methoden haftet allerdings der Makel an, dass nicht alleDaten der Artikel in der Ergebnisliste geliefert werden. Eventuellkann dann die Methode GetItem genutzt werden, die die kom-plette Datenmenge eines Artikels liefert.

Für die Suche auf eBay Express steht mit GetSearchResultsExpresseine spezielle Methode zur Verfügung. Die Organisation der Ar-tikel auf eBay Express entspricht allerdings nicht der typischenKategorienstruktur; vielmehr wird hier eine Unterscheidung inAbteilungen (Departments), Gänge (Aisles) und Produktgrup-pen (Product Types) vorgenommen. Die Einteilung eines Arti-kels erfolgt dabei automatisch und kann nicht direkt vom Ver-käufer gesteuert werden. Daneben führt eBay Express interneinen eigenen Produktkatalog der teilweise mit dem eBay-Pro-duktkatalog übereinstimmt. Vermutlich werden sich hier in Zu-kunft Anpassungen ergeben, da eBay Express noch sehr jung ist.

65schnell + kompakt

Page 66: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

6 – eBay API – can do

6.4 Dispute

Das so genannte Dispute-Management ist eine spezielle Sektionim eBay-API-Call, die nur dann benötigt wird, falls irgendetwasbei der Abwicklung eines Verkaufs schief gelaufen ist. Das Ver-fahren heißt auf Deutsch „Streitigkeit wegen eines nicht bezahl-ten Artikels“ oder „Streitigkeit wegen eines nicht erhaltenenoder von der Beschreibung abweichenden Artikels“. In der APIheißt es dann einfacher UPI (Unpaid Item) oder INR (Item NotReceived). Der erste Vorgang ist dabei verkäuferinitiiert; derzweite wird von einem Käufer gestartet. In Bezug auf die API ste-hen nur die verkäuferbezogenen Funktionen zur Verfügung. EinVerkäufer kann also einen UPI-Vorgang starten und eventuell ab-schließen; auf einen INR kann ein Verkäufer nur reagieren.

Der Zweck des UPI-Vorgangs – aus der Sicht eines Verkäufers –ist es, die Verkaufsgebühren, die eBay bei einem erfolgten Ver-kauf erhoben hat, zurückerstattet zu bekommen. Im Wesentli-chen gibt es hier zwei Gründe, den Vorgang zu starten. Nebender sicherlich eher seltenen Auslösesituation, dass sich ein Käu-fer nach einem Verkauf gar nicht oder nur mit viel Verzug mel-det, ist hier die Inanspruchnahme des Rückgaberechts eine häu-fige Ursache. Oft sind es aber auch nur die Unerfahrenheit einesKäufers oder etwa Probleme mit dem eingesetzten Mail-System.

Das Dispute-Verfahren ist letztlich einfach nur eine Plattform,um die Kommunikation zwischen Käufer und Verkäufer direktüber das eBay-Nachrichtensystem in geordneten Bahnen mit de-finierten zeitlichen Fristen sicherzustellen.

UPI – Unpaid Item

Ein UPI Dispute kann frühestens sieben Tage nach dem Vorlie-gen einer Transaktion gestartet werden. Verkäuferseitig wird derDispute mit der Methode AddDispute gestartet. Hierbei sind die

66

Page 67: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Dispute

ItemID, die TransaktionID und der Grund für den Dispute an-zugeben. Nachfolgend kann mittels der Methode AddDispute-Response in Textform auf eventuelle Antworten des Käufers zudem entsprechenden Vorgang reagiert werden. Respektive kannmit der Methode GetDispute der gesamte Vorgang inklusive desvorhandenen Nachrichtenaustauschs heruntergeladen werden.Hier stehen alternativ auch Notifications zur Verfügung, die dieDaten automatisch bei Vorliegen einer neuen Nachricht liefern.

In den meisten Fällen kann ein Dispute nach einer Einigungschnell wieder geschlossen werden; auch hier wird AddDispute-Response genutzt. Der Verkäufer beantragt dabei die Rückerstat-tung der Verkaufsgebühr und das Verfahren nimmt automatischseinen Lauf. Kann keine Einigung erreicht werden, delegiert dasSystem den Vorgang eventuell an den eBay-Kundensupport, woeine Entscheidung darüber getroffen wird, ob der Käufer ver-warnt und vielleicht als „Wiederholungstäter“ vom Handel aus-geschlossen wird.

INR – Item Not Received

Der „umgekehrte“ Dispute-Vorgang ist der INR – hier reklamiertein Käufer, dass ein Artikel ordnungsgemäß bezahlt, aber nichtgeliefert wurde, oder dass der Artikel nicht der Artikelbeschrei-bung entspricht. Dieser Vorgang kann nur über die Website ini-tiiert werden, die eBay API bietet hierzu keine Funktion.

Die Reaktion eines Verkäufers erfolgt wiederum mit der Metho-de AddDisputeResponse. Typischerweise reagiert ein Verkäuferzunächst mit der hoffentlich vorhandenen Paket-Tracking-Num-mer seines Versanddienstleisters.

Das Verfahren ist für normale Verkäufer damit schon fast zuEnde, jeder andere Status des INR ist eher bei schwarzen Schafenanzutreffen. Letztlich delegiert das System hier automatisch an

67schnell + kompakt

Page 68: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

6 – eBay API – can do

das eBay-Käuferschutzprogramm und natürlich den Kunden-support. Für einen Verkäufer ist es daher sinnvoll, zeitnah aufeinen INR zu reagieren. Auch hier kann mit einer Notificationschnell auf einen gestarteten Vorgang eines Käufers reagiertwerden.

68

Page 69: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

KAPITEL 7

eBay API – Technical Advanced

7.1 Versandoptionen national und international 69

7.2 Attribute und Kataloge 70

7.3 eBay Shops 73

7.4 Verwalten von Bildern 74

7.1 Versandoptionen national und international

Bei der Einstellung von Artikeln ist insbesondere die Angabe derVersandkosten elementar. Grundsätzlich ist es einem Verkäuferfreigestellt, ob die Versandkosten einfach nur als Text, als Teil derArtikelbeschreibung oder mithilfe der API-Strukturen angege-ben werden. Allerdings ergibt sich erst durch die Nutzung derAPI-Felder eine „Berechtigung“ etwa für „Neu & Sofort“ oderauch die Darstellung in eBay Express.

Eigentlich unterscheidet eBay grundsätzlich in berechnete undfeste Versandkosten. Die so genannten „Calculated Shipping-fees“ stehen allerdings bisher nur in den USA zur Verfügung. Füralle anderen Sites können wir uns auf die festen Versandkostenbeschränken.

Insgesamt lassen sich jeweils drei Versandoptionen für den Ver-sand „im Land“ (domestic) und weitere drei für den Auslands-versand (international) angeben. Nach einem Verkauf kann derKäufer aus diesen die gewünschte Option auswählen. Die Be-

69schnell + kompakt

Page 70: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

7 – eBay API – Technical Advanced

schränkung auf drei Optionen ist leider schon bei einfachen Si-tuationen (z.B. versichert, unversichert, Express) ausgereizt.

Grundsätzlich gilt, dass internationale Optionen nur bei Angabemindestens einer domestic Option genutzt werden können. JedeVersandoption besteht zunächst aus der Versandart (oder demgenutzten Carrier) und den dabei entstehenden Kosten. Danebenkönnen jeweils die Kosten für weitere Artikel angegeben wer-den, falls ein Käufer gleich mehrere Artikel kaufen möchte. Hin-zu kommt optional eine Angabe über die Extrakosten für eineVersicherung (falls dies bei der entsprechenden Versandoptionmöglich und sinnvoll ist) und hiermit dann auch eine Option fürden Käufer, dass die Versicherung hinzugefügt werden kann.

Bei den internationalen Optionen wird daneben eine so genannteShipToLocation angegeben. Dies ist entweder ein ISO-Länder-kürzel (z.B. CH, GB, US) oder eine der vordefinierten Gruppen(z.B. Europa, Worldwide etc.). Hierbei ist zu beachten, dass die„Versanddestinationen“ nicht nur bei den Versandoptionen, son-dern auch für den Artikel selbst angegeben werden müssen (sie-he ShipToLocation im Item).

Die Versandoptionen selbst bestehen aus Textwerten, die mit derMethode GeteBayDetails abgerufen werden können.

7.2 Attribute und Kataloge

Durch die steigende Anzahl von Artikeln auf dem eBay-Markt-platz ergab sich das Problem, dass Artikel innerhalb der Kate-gorien kaum noch auffindbar waren. Als Reaktion hätte eBay dasKategoriensystem massiv ausbauen können. Es wurde jedocheine andere Lösung realisiert, die zwar zunächst deutlich kom-plexer wirkt, aber zeitnah auf geänderte Anforderungen reagie-ren kann.

70

Page 71: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Attribute und Kataloge

Die so genannte Attributierung realisiert dabei eine Reihe vonFunktionen parallel. Zum einen kann mithilfe eines so genanntenAttributeSet eine „Sub-Kategorisierung“ abgebildet werden. Da-neben können Artikeln beliebige weitere Merkmale hinzugefügtwerden – wobei einschränkend gesagt werden muss, dass „belie-big“ nur aus der Sicht von eBay zutrifft.

Das eBay-Team, das für eine bestimmte Kategorie zuständig ist,definiert hierbei für die entsprechende Kategorie ein so genann-tes CharacteristicsSet (CsSet). Das CsSet besteht dabei aus einerMenge von Attributen, die einem Artikel in einer bestimmtenKategorie hinzugefügt werden können, und wird jeweils ein-deutig mit einer ID definiert. In der Kategorie „Automobile“ sinddies – neben einer Vielzahl anderer – der Hersteller und das Mo-dell eines PKW. Hierbei definiert das CsSet eine Menge von vor-definierten Werten und eine Abhängigkeit zwischen Modell undHersteller. Daneben wird eine Reihe von „freien“ Attributen de-finiert, z.B. die KW-Zahl oder das Datum der Erstzulassung.Auch die Attribute erhalten wiederum eindeutige Attribute-IDs.

Das CsSet definiert also eine Vorlage für einen wirklichen Arti-kel. Sobald die Werte dann einem Artikel zugeordnet sind, hatder Artikel ein AttributeSet. Im einfachsten Fall der vordefinier-ten Werte ist dies dann eine Kombination aus CsSet-, Attribute-und Attribute-Value-ID.

Neben den ID-Werten können im CsSet auch „freie Werte“ defi-niert sein. Dazu gehören etwa Datumsangaben oder auch freieTexteingaben (normalerweise zusätzliche Daten, die nicht stan-dardisiert sind, z.B. spezielle Sonderausstattungen eines PKW).Diese Arten werden dann als so genannte Value-Literals angege-ben; letztlich einfach nur Texte, die in der Liste von Werten einesAttributs anzugeben sind.

Speziell behandelt werden auch Attribute, die mehrere Werte de-finieren. Besondere Ausstattungsmerkmale – etwa einer Immo-

71schnell + kompakt

Page 72: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

7 – eBay API – Technical Advanced

bilie – werden nicht als multiple Attribute, sondern lediglich alsein einziges Attribut mit mehreren Werten definiert.

Ein weiteres Feature eines CsSet besteht darin, dass beliebige(auch multiple) Abhängigkeiten zwischen Attributen und Wertenanderer Attribute definiert werden können. Hiermit wird etwadefiniert, dass dem Benutzer nach der Auswahl eines PKW-Her-stellers nur die Produktpalette des entsprechenden Herstellersgezeigt wird. Eine andere häufig vorkommende Abhängigkeit ist,dass nach der Auswahl des Wertes „Sonstige“ ein weiteres Ein-gabefeld für den Wert gezeigt wird.

Das Attributierungssystem wird auf der eBay-Plattform an un-terschiedlichen Stellen mit jeweils anderen Funktionen genutzt.Zunächst kann ein Verkäufer bei der Vorbereitung eines Artikelsdie gewünschten Attribute für den neuen Artikel zusammen-stellen. Die Artikelseite für einen solchen Artikel zeigt dann denentsprechenden HTML-Block vor der Artikelbeschreibung an.Daneben wird das gleiche CsSet im „Produktfinder“ gezeigt; hierkönnen Käufer Suchanfragen formulieren und entsprechendeArtikel mit den korrespondierenden Attributen finden. Eine wei-tere Anwendung ist die Suche (und auch die Verkaufsfunktion)im eBay-Produktkatalog.

Soll das Attributierungssystem im Rahmen einer API-Anwen-dung genutzt werden, ist zunächst das entsprechende CsSet – ka-tegorienabhängig – zu laden. Hierbei führt eBay zu jedem CsSeteine Versionsnummer mit. Das CsSet wird hier leider nur mit ei-nem großen XML-Block geliefert. Ein Schema oder ein Zugriffs-weg auf die einzelnen Elemente liefert eBay nicht mit.

Das PHP-Ebat definiert eine Erweiterung, die das CsSet mithilfeeines XSD-Schemas in eine PHP-Objektstruktur wandeln kann.Der eBay-eigene Weg nutzt hier ein XSLT-Stylesheet, mit demdas CsSet – jeweils in einer der oben genannten Formen – in eine

72

Page 73: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

eBay Shops

HTML-Darstellung umgewandelt werden kann. Für eine Nut-zung im eigenen CI oder auch in Skripting-Umgebungen wiePHP muss die XSL-Datei aber massiv angepasst werden.

Eine Besonderheit der deutschen eBay-Plattform ist, dass hierauch der Artikelzustand (neu/gebraucht) und die Angaben zumRückgaberecht mithilfe von Attributen dargestellt werden. Zubeachten ist dabei, dass zunächst für alle Kategorien ein sogenanntes SideWide CsSet definiert ist, das die jeweiligen IDsder Attribute und deren Value-IDs definiert. Dieses Set ist immerdann zu nutzen, wenn für die entsprechende Kategorie kein ei-genes CsSet definiert wurde. Falls allerdings die Kategorie überein spezifsches CsSet verfügt, dann müssen die Angaben zumArtikelzustand mit den Daten aus dem spezifischen Set belegtwerden. In der Regel werden hier dann auch weitere Werte defi-niert (z.B. „Runderneuert“ im Bereich „Autoreifen“ oder „Neumit Etikett“ in den Bekleidungkategorien). Dies gilt allerdingsnicht für das CsSet mit Rückgaberecht. Ein Artikel in einer sol-chen Kategorie besitzt dann oft mehrere AttributSets; das spe-zifische für die Kategorie inklusive des Artikelzustands unddaneben das SideWide AttributSet mit den Angaben zum Rück-gaberecht.

Das System hat eine recht hohe Komplexität und wird vermut-lich in Zukunft einer Generalüberholung unterzogen und verein-facht.

7.3 eBay Shops

Für die Verwaltung von eBay Shops steht in der API eine Reihevon Methoden zur Verfügung. Hiermit ist allerdings nicht dieBestückung eines eBay Shops mit Artikeln gemeint; dafür stehtdie Standardmethode AddItem unter Angabe eines bestimmtenListingtyps zur Verfügung.

73schnell + kompakt

Page 74: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

7 – eBay API – Technical Advanced

Im Wesentlichen kann das Grundlayout eines eBay Shops beein-flusst werden und es könnnen Optionen gesetzt werden, wieetwa eine Abwesenheit aufgrund von Urlaub. Interessanter istdie Beeinflussung der Crosspromotions sowie die Verwaltungder Shop-Kategorienhierarchie.

7.4 Verwalten von Bildern

Die Verwaltung von Bildern zu einem Artikel ist unterschiedlich,je nachdem, welche Form des Bilderhosting und welche eBay-Bilderpräsentation genutzt werden sollen. Im einfachsten Fallentscheidet sich ein Verkäufer dafür, alle Bilder selbst auf einemeigenen Server zu hosten. Hierbei werden die Bilder einfach mit-hilfe von normalen HTML-IMG-Tags in der Beschreibung mitden Artikeln verbunden.

Sinnvoll ist es allerdings, zumindest das erste Bild unter Zuhilfe-nahme der API mit dem Artikel zu verbinden. Bei der Einstel-lung kann dabei das Feld „PictureDetails.PictureURL“ auf dieentsprechende URL gesetzt werden. Hierbei bleibt das Bild aller-dings immer auf dem „externen“ Bilderserver. Bei einer Ablageder URL im Feld „PictureDetails.GalleryURL“ hingegen wirddas Bild einmalig mithilfe eines Robot geladen und dann auf deneBay-eigenen Systemen gehostet.

Soll eine der kostenpflichtigen eBay-Bilderoptionen genutzt wer-den, können anstatt einer URL entsprechend mehr Bilder ange-geben werden. Auch hierbei verbleiben die Bilder auf dem exter-nen Server, obwohl der Preis der Bildoption auch das Hostingeinschließt.

Für die Nutzung des Bilderhosting bei eBay direkt, dem so ge-nannten eBay Picture Service (EPS), müssen sämtliche Bilder zu-nächst auf die entsprechenden Server geladen werden. Die Bil-der werden dann in unterschiedlichen Größen skaliert und mit

74

Page 75: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Verwalten von Bildern

einem Wasserzeichen versehen. Solange diese URLs in einer derBildoptionen in irgendeinem Artikel genutzt werden, verbleibendie Bilder auf dem EPS (und weitere 90 Tage über das Ende desArtikels hinaus). Das Verfahren für das Hochladen der Bilder aufden EPS ist allerdings nicht öffentlich dokumentiert und kein Be-standteil der offiziellen eBay API. Das Windows SDK und dasPHP Ebat liefern allerdings Module für die Nutzung des EPS mit.Zusammengenommen ist die Bildverwaltung bei eBay selbstaber noch höchst unbefriedigend und durch die API nur schwerrealisierbar.

75schnell + kompakt

Page 76: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von
Page 77: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

KAPITEL 8

Code-Beispiele

8.1 Installation und Basisparameter 78

8.2 Proxy, Session und Request 78

8.3 Artikelsuche 79

8.4 Artikel einstellen 82

8.5 Transaktionen abrufen 84

8.6 Kommunikation mit Käufer und Verkäufer 85

8.7 Rechnung schicken 86

8.8 Feedback hinterlassen 87

8.9 Kategorien abrufen 88

Dieser Abschnitt enthält eine Reihe von Code-Beispielen fürtypische Anwendungsfälle der eBay API. Leider stand hier nurein begrenzter Platz zur Verfügung, daher war es nicht möglich,alle in Frage kommenden Entwicklungssprachen zu zeigen. Auf-grund der persönlichen Präferenz des Autors für PHP findensich hier lediglich Beispiele in eben dieser Sprache.

Beispiele für .NET (VB.NET bzw. C#) finden sich im entsprechen-den SDK; Gleiches gilt auch für Java. Andere Sprachen mit derMöglichkeit der Microsoft-COM-Bindung (z.B. Visual Basic 6.0)werden mithilfe des .NET SDK sowie durch die Nutzung vonCOM-Interop bedient.

Grundsätzlich ist der Ablauf der API-Nutzung vielfach sehr ähn-lich. Die untenstehenden Techniken lassen sich bei Anpassungan die Syntax entsprechend auch in allen Sprachen nachvoll-ziehen.

77schnell + kompakt

Page 78: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

8 – Code-Beispiele

8.1 Installation und Basisparameter

Für die nachfolgenden Code-Beispiele wird das eBay AcelleratorToolkit for PHP (EbatNs) genutzt. Dieses kann unter http://ebatns.codebase.ebay.com heruntergeladen und danach installiertwerden. Wesentlich ist die Aufnahme des Installationsordners inden „include_path“ innerhalb der php.ini der PHP-Installation.

Das Keys-Triple (Sandbox bzw. Produktion) kann in einer Con-fig-Datei (ebay.config.php) abgelegt werden. Ein Token, der sichmit dem Token-Test-Tool erzeugen lässt (http://developer.ebay.com/tokentool), sollte hiernach in einer weiteren Datei gespeichertwerden. Der Pfad auf diese Datei ist danach in der Config-Dateianzugeben.

Die Anforderungen an die Betriebssystem-Software sind zwargrundsätzlich gering, allerdings ist neben PHP (ab Version 4.3)auch das PHP-Modul cURL inklusive OpenSSL und zLib not-wendig. Daneben wird die XML-Erweiterung xml expat benö-tigt, wobei dies eine „Standarderweiterung“ von PHP ist und da-her nur in Ausnahmefällen fehlt. CURL ist allerdings nicht beiallen Providern vorhanden; vor der Nutzung ist dies daher beider Verwendung eines Webservers, der nicht unter der eigenenVerwaltung steht, entsprechend zu prüfen und eventuell zu kon-figurieren.

8.2 Proxy, Session und Request

Die objektorientierte PHP-Klassenstruktur des EbatNs kapseltdie Authentifizierungsdaten (Key-Triple und Token) in der Klas-se EbatNs_Session. Diese Daten werden in der Regel durch dieConfig-Datei (bzw. die verwiesene Token-Datei) bereitgestellt.Bei Bedarf können die Daten auch anderweitig, etwa durch Ab-frage aus einer Datenbank oder auch direkte Benutzereingaben,gesetzt werden.

78

Page 79: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Artikelsuche

Das Session-Objekt wird hiernach zur Initialisierung eines Ob-jekts der Klasse EbatNs_ServiceProxy verwendet. Diese Klasse istfür die SOAP-Kommunikation mit dem eBay-Web-Service ver-antwortlich.

Für die Ausführung eines API-Call muss nun noch ein Request-Objekt erzeugt werden, das die methodenabhängigen Parameterspeichert. Der Service-Proxy bietet nun für jeden API-Call eineMethode, der das entsprechende Request-Objekt zu übergebenist. Das Ergebnis (und somit der Rückgabewert) ist stets ein Re-sponse-Objekt. Im Fall eines fehlerfreien Verlaufs enthält diesesdie angeforderten Daten, ansonsten aber zumindestens denGrund des Scheiterns in Form einer Fehler-Collection.

8.3 Artikelsuche

<?php// 001require_once 'EbatNs/EbatNs_ServiceProxy.php';require_once 'EbatNs/EbatNs_Logger.php';

require_once 'EbatNs/GetSearchResultsRequestType.php';require_once 'EbatNs/GetSearchResultsResponseType.php';

// 002$cs = new EbatNs_ServiceProxy($cfg = 'config/live-ebay.config.php');

// 003, Request erzeugen$req = new GetSearchResultsRequestType();$req->setDetailLevel('ReturnAll');

79schnell + kompakt

Page 80: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

8 – Code-Beispiele

$req->setItemTypeFilter('AllItems');$req->setSearchType('All');

// query setzenif (isset($_GET['query']))$req->setQuery('<![CDATA[' . $_GET['query']. ']]>');else$req->setQuery('<![CDATA[die]]>');

// 004$res = $cs->GetSearchResults($req);

if ($res->getAck() == $Facet_AckCodeType->Success){$resItems = $res->getSearchResultItemArray();echo "<table>";foreach ($resItems as $resItem){$item = $resItem->getItem();

$galleryPic = ($item->PictureDetails->GalleryType != 'None') ?$item->PictureDetails->GalleryURL : 0;

echo "<tr>";echo "<td>" . ($galleryPic ? "<img src='$galleryPic'>" : '') . "</td>";echo "<td><a target='_newEbay' href='" $item->ListingDetails->ViewItemURL . "'>" $item->getItemID() . "</a></td>";echo "<td>" . $item->getTitle() . "</td>";echo "</tr>";}

80

Page 81: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Artikelsuche

Die ersten Zeilen (001) enthalten die notwendigen Dateien desEbatNs, hier muss eventuell der include_path so angepasst wer-den, dass das Mutterverzeichnis des EbatNs-Verzeichnisses ge-funden werden kann.

Jetzt kann das „Proxy-Objekt“ erzeugt werden (siehe 002). DieKonfigurationsdaten wurden dabei in der Datei config/live-ebay.config.php gespeichert. Hier findet sich auch der Verweis aufdie Token-Datei, die für die Authentifizierung notwendig ist.

Als Nächstes wird nun (siehe 003) das „Request-Objekt“ (hier füreinen GetSearchResults-Call) erzeugt, anschließend erfolgt danndas Setzen der hier notwendigen Parameter.

Der echte Abruf der Daten erfolgt durch die entsprechendeMethode des ServiceProxy ($cs, siehe 004). Das Ergebnis ist hierein Objekt vom Typ GetSearchResultsResponseType. Sinnvoll istdie Prüfung etwaiger Fehler.

Anschließend folgt die Iteration über die gefundenen eBay-Arti-kel und die Formatierung innerhalb einer HTML-Tabelle.

echo "</table>";}else{// Fehler ausgeben, falls vorhandenecho $cs->getErrorsToString($res, true);}?>

81schnell + kompakt

Page 82: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

8 – Code-Beispiele

8.4 Artikel einstellen

<?phprequire_once 'EbatNs/EbatNs_ServiceProxy.php';require_once 'EbatNs/EbatNs_Logger.php';require_once 'EbatNs/AddItemRequestType.php';

$cs = new EbatNs_ServiceProxy($cfg = 'config/ebay-its2.config.php');// Ausgabe der Daten, Achtung true benötigt PEAR XML_Beautifier!$cs->attachLogger(new EbatNs_Logger(true));

$item = new ItemType();$item->Description = 'Hier ist die Beschreibung';$item->ListingDuration = 'Days_7';

$item->Title = 'Test für eBay API Compakt';$item->Currency = 'EUR';$item->ListingType = $Facet_ListingTypeCodeType->Chinese;$item->Quantity = 1;

$item->StartPrice = new AmountType();$item->StartPrice->setTypeValue('1.0');$item->StartPrice->setTypeAttribute('currencyID', 'EUR');

$item->BuyItNowPrice = new AmountType();$item->BuyItNowPrice->setTypeValue('10.0');$item->BuyItNowPrice->setTypeAttribute('currencyID', 'EUR');

$item->Country = 'DE';$item->Location = '-- not given --';

82

Page 83: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Artikel einstellen

Grundsätzlich ist das Einstellen von Artikeln einfach. Nach der üb-lichen Vorbereitung für die Erzeugung des ServiceProxy wird einentsprechendes Request-Objekt erzeugt (AddItemRequestType).

Zuvor wird ein Objekt des Typs ItemType erzeugt und mit den mi-nimal notwendigen Daten gefüllt. Abschließend folgt die Platzie-rung im „Request“-Objekt. Schließend das Absetzen des Calls.

In einem „echten“ System wird der Aufbau deutlich komplexersein müssen. Hier sind weitere Daten im „Item“ zu definieren,wie Informationen zu den angebotenen Versandarten, weitereZahlungsmethoden, aber auch Angaben zum Rückgaberechtbzw. zum Artikelzustand. Sicherlich wird die Beschreibung danndeutlich umfangreicher ausfallen; wobei hier selbstverständlichauch HTML-Code genutzt werden kann.

$item->PrimaryCategory = new CategoryType();$item->PrimaryCategory->CategoryID = 31448;

$item->Site = 'Germany';

$item->setPaymentMethods($Facet_BuyerPaymentMethodCodeType->PaymentSeeDescription, 0);

$item->ShipToLocations[]="Europe";

$req = new AddItemRequestType();$req->Item = $item;$res = $cs->AddItem($req); // $res = $cs->VerifyAddItem($req);

echo "<pre>";print_r($res);?>

83schnell + kompakt

Page 84: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

8 – Code-Beispiele

8.5 Transaktionen abrufen

Die hier dargestellte Form berücksichtigt lediglich die Verkäufezu einem ganz bestimmten Artikel, daneben existiert auch eineMethode, die alle Verkäufe eines bestimmten Verkäufers mit-einbezieht (GetSellerTransactions). Das Verfahren ähnelt sich inbeiden Fällen: Es muss jeweils ein Datumsbereich (ModTime) an-gegeben werden. Hierbei ist zu beachten, dass die eBay API grund-sätzlich mit Zeitangaben in der GMT/UTC-Zeitzone arbeitet.

<?phprequire_once 'EbatNs/EbatNs_ServiceProxy.php';require_once 'EbatNs/EbatNs_Logger.php';

require_once 'EbatNs/GetItemTransactionsRequestType.php';

$cs = new EbatNs_ServiceProxy($cfg = 'config/ebay-its2.config.php');$cs->attachLogger(new EbatNs_Logger(true));

// Request erzeugen$req = new GetItemTransactionsRequestType();$req->setDetailLevel($Facet_DetailLevelCodeType->ReturnAll);$req->setItemID(110014345259);// daten der letzten Stunde$req->setModTimeFrom(gmdate('Y-m-d H:i:s', time() - 60 * 60));$req->setModTimeTo(gmdate('Y-m-d H:i:s', time()));

$res = $cs->GetItemTransactions($req);echo "<pre>";print_r($res);?>

84

Page 85: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Kommunikation mit Käufer und Verkäufer

Die so genannte ModificationTime einer Transaktion (= Verkauf)stellt den Zeitpunkt dar, zu dem eine Veränderung vorgenom-men wurde. Zunächst ist dies der Zeitpunkt des Verkaufs; später,während und nach der Verkaufsabwicklung, der Zeitpunkt derletzten Datenänderung bzw. Datenergänzung, die der Käuferbzw. der Verkäufer vorgenommen hat.

Bitte beachten Sie, dass die ItemID hier sicherlich nicht mehr aufeinen gültigen Artikel verweisen wird, wenn Sie das Beispielausprobieren.

8.6 Kommunikation mit Käufer und Verkäufer

<?phprequire_once 'EbatNs/EbatNs_ServiceProxy.php';require_once 'EbatNs/EbatNs_Logger.php';

require_once 'EbatNs/AddMemberMessageAAQToPartnerRequestType.php';require_once 'EbatNs/MemberMessageType.php';

$cs = new EbatNs_ServiceProxy($cfg = 'config/ebay-its2.config.php');$cs->attachLogger(new EbatNs_Logger(true));

// Request erzeugen$req = new AddMemberMessageAAQToPartnerRequestType();$req->setItemID(123456789012);

$msg = new MemberMessageType();$msg->setBody("Hallo, here is my message");$msg->setMessageType($Facet_MessageTypeCodeType->ContactTransactionPartner);

85schnell + kompakt

Page 86: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

8 – Code-Beispiele

Die Kommunikation mit einem anderen eBay-Mitglied über daseBay-eigene Nachrichtensystem wird in der API zwar unter-stützt, allerdings ist wegen der Vermeidung von Spam der ini-tiale Start einer Kommunikation nicht möglich, ohne dass bereitseine „geschäftliche“ Beziehung zwischen den Parteien besteht.Ein Verkäufer kann – unter Angabe einer Artikelnummer – miteinem Mitglied Kontakt aufnehmen, das als Käufer des entspre-chenden Artikels bekannt ist. Daneben kann problemlos aufNachrichten geantwortet werden.

8.7 Rechnung schicken

$msg->setQuestionType($Facet_QuestionTypeCodeType->General);$msg->setRecipientID('fake_foo');

$req->setMemberMessage($msg);

$res = $cs->AddMemberMessageAAQToPartner($req);?>

<?phprequire_once 'EbatNs/EbatNs_ServiceProxy.php';require_once 'EbatNs/EbatNs_Logger.php';

require_once 'EbatNs/SendInvoiceRequestType.php';

$cs = new EbatNs_ServiceProxy($cfg = 'config/ebay-its2.config.php');

// Request erzeugen$req = new SendInvoiceRequestType();$req->setItemID(110014345259);

86

Page 87: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Feedback hinterlassen

Den Abschluss einer Transaktion kann die Versendung einer Rech-nung per E-Mail bilden. Hierbei ist die Artikelnummer (ItemID),aber auch eine so genannte TransactionID anzugeben. Bei nor-malen Auktionen ist diese ID immer „0“. Bei anderen Artikelfor-maten (Anzahl ist größer 1) kann es ja mehr als eine Transaktion jeArtikel geben, entsprechend variiert hier die TransactionID.

8.8 Feedback hinterlassen

$req->setTransactionID("0");

$shippingOption = new ShippingServiceOptionsType();$shippingOption->setShippingService('DE_InsuredDispatch');$shippingOption->setShippingServiceCost('12.99');$req->setShippingServiceOptions($shippingOption, 0);

$res = $cs->SendInvoice($req);?>

<?phprequire_once 'EbatNs/EbatNs_ServiceProxy.php';require_once 'EbatNs/EbatNs_Logger.php';

require_once 'EbatNs/LeaveFeedbackRequestType.php';

$cs = new EbatNs_ServiceProxy($cfg = 'config/ebay-its2.config.php');$cs->attachLogger(new EbatNs_Logger(true));

// Request erzeugen$req = new LeaveFeedbackRequestType();$req->setCommentText("Super, gerne wieder");

87schnell + kompakt

Page 88: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

8 – Code-Beispiele

Das Hinterlassen von Bewertungen mittels der API ist recht ein-fach. Achtung, das Feld TransactionID ist tückisch. Zunächst ver-mutet man die TransactionID des entsprechenden Verkaufs. Hiermuss allerdings die „FeedbackID“ einer durch einen Käufer hin-terlassenen Bewertung genutzt werden. Somit ist das Hinter-lassen von Feedback eines Verkäufers durch die API bei einem„Artikel mit der Anzahl größer 1“ erst nach Vorliegen der Käu-ferbewertung möglich.

8.9 Kategorien abrufen

$req->setCommentType($Facet_CommentTypeCodeType->Positive);$req->setItemID(123456789012);$req->setTransactionID(0);$req->setTargetUser('the_big_buyer');

$res = $cs->LeaveFeedback($req);echo "<pre>";print_r($res);?>

$session = new EbatNs_Session('config/ebay.config.php');

$cs = new EbatNs_ServiceProxy($session);$handler = new handlerMethods($cs);

$req = new GetCategoriesRequestType();$req->CategorySiteID = 77;$req->LevelLimit = 1;$req->DetailLevel = 'ReturnAll';

$res = $cs->GetCategories($req);

88

Page 89: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Kategorien abrufen

Der regelmäßige Abruf des Kategorienbaums ist sinnvoll, wennnicht nur mit festgelegten Kategorien-IDs gearbeitet werden soll.Die Daten sollten dabei in einer geeigneten Form (z.B. einerDatenbank) abgelegt werden.

Achtung, die Datenmenge hier ist enorm und stellt Anforderun-gen insbesondere an den Arbeitsspeicherverbrauch. Aus diesemGrund sollte hier das dargestellte Verfahren genutzt werden. Da-bei werden die Daten mithilfe des Handler-Features des EbatNsjeweils – ressourcenschonend – zeilenweise an die Handler-Methode durchgereicht und können dort gespeichert werden.

class handlerMethods {function handlerMethods(& $cs) {$cs->setHandler('CategoryType', array(& $this, 'handleCategory'));}

function handleCategory($type, & $Category) {echo $Category->CategoryID . "/" . $Category->CategoryParentID[0] . $Category->CategoryName . "<br>";return true;}}

89schnell + kompakt

Page 90: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von
Page 91: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

ANHANG

Kurzbeschreibung zu jedem API-Call

AddDispute: Eröffnet einen Dispute (UPI oder INR) mit der An-gabe einer Artikelnummer und einer Transaktionsnummer. DerDispute kann frühestens acht Tage nach Ende einer Auktion er-öffnet werden, wenn Käufer und Verkäufer sich nicht einigenkonnten.

AddDisputeResponse: Fügt einem bestehenden Dispute eineNachricht bzw. eine Antwort hinzu oder schließt den Dispute.Das Schließen kann nur vom Verkäufer initiiert werden.

AddItem: Wird zum Einstellen von Artikeln genutzt. Das Ergeb-nis sind eine neue ItemID sowie die Gebühren für die Einstel-lung.

AddLiveAuctionItem: Definiert eine Live-Auktion; zurzeit nurauf eBay.com; ansonsten identisch zu AddItem.

AddMemberMessage: Antwort auf eine „Frage an den Verkäu-fer“. Die Antwort landet im „Meine Nachrichten“-Postfach deseBay-Benutzers. Wird ersetzt durch AddMemberMessageRTQ.

AddMemberMessageAAQToPartner: Ermöglicht den Nach-richtenaustausch über das eBay-„Meine Nachrichten“-System.

91schnell + kompakt

Page 92: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Anhang – Kurzbeschreibung zu jedem API-Call

Die Nutzung ist aber nur bis maximal 90 Tage nach Ende derAuktion möglich.

AddMemberMessageRTQ: Antwortet auf die Frage eines po-tenziellen Käufers zu einem aktiven Artikel. Die Nachricht wirdim eBay-Nachrichtensystem abgelegt.

AddMemberMessagesAAQToBidder: Ermöglicht einem Ver-käufer die anonyme Kommunikation mit einem Bieter oder Mit-gliedern, die ein „Best Offer“-Angebot gemacht haben. DieNachricht wird im eBay-Nachrichtensystem abgelegt.

AddOrder: Kombiniert zwei oder mehr Transaktionen in einerBestellung. Die Bestellung erhält eine eindeutige OrderID undKäufer können danach die gemeinsame Einstellung oder eineKombizahlung vornehmen.

AddSecondChanceItem: Ein Verkäufer kann hier unterlegenenBietern ein Angebot unterbreiten, z.B. in dem Fall, dass nochmehr gleichartige Artikel auf Lager sind oder der Höchstbieterzurückgetreten ist. Das Ergebnis ist ein „neuer“ Artikel, der nurvon den entsprechenden Mitgliedern erworben werden kann.

AddToItemDescription: Erlaubt das Hinzufügen von weiterenTextanmerkungen an das Ende einer bestehenden Artikelbe-schreibung. Sinnvoll bei marginalen Fehlern, die eine kompletteÜberarbeitung nicht lohnen,

AddToWatchList: Fügt einen Artikel der Beobachtungsliste eineseBay-Mitglieds hinzu.

AddTransactionConfirmationItem: Beendet einen Artikel undfügt einen neuen „Transaction Confirmation Request“ (TCR) füreinen Artikel hinzu. Aktuell wird der Call nur für eBay MotorsUSA benötigt.

92

Page 93: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Kurzbeschreibung zu jedem API-Call

ApproveLiveAuctionBidders: Erlaubt die Teilnahme eines Bie-ters an einer eBay-Live-Auktion. Live-Auktionen sind bisher nurauf eBay.com möglich.

CompleteSale: Erlaubt den Abschluss einer Transaktion inklusi-ve des Hinterlassens einer Bewertung für den Käufer, des Set-zens des Bezahlt- oder des Versendet-Status in „Mein eBay“ odereine Kombination der Aktionen.

DeleteMyMessages: Löscht Nachrichten oder Warnungen ausdem eBay-Nachrichtensystem.

EndItem: Erlaubt einem Verkäufer das vorzeitige Beenden einerAuktion oder eines anderen Artikels. Achtung, bei Auktionenmit aktiven Bietern führt dies zum Verkauf an diesen zum aktu-ellen Gebot.

FetchToken: Ruft einen hinterlegten Token für einen Benutzerab. Die Hinterlegung muss mithilfe des Auth&Auth-Prozesseszuvor gestartet werden.

GetAccount: Ruft die Kontodaten eines eBay-Benutzers ab. Hierwerden sämtliche Kontobewegungen (Gebühren, Gutschriftenund Zahlungen) gelistet. Bei Bedarf können Übersichten oder de-taillierte Informationen abgerufen werden.

GetAdFormatLeads: Holt die Kontaktinformationen von Mit-gliedern ab, die sich auf eine Immobilienanzeige gemeldet ha-ben. Alternativ kann der Abruf auch über das eBay-Nachrich-tensystem erfolgen. Das Ad-Format steht mittlerweile auch inanderen als der Immobilienkategorie zur Verfügung.

GetAllBidders: Ermöglicht den Abruf der Bieter einer Auktion.Im Wesentlichen kann mit der Liste die Funktion „Angebot anunterlegene Bieter“ genutzt werden.

GetApiAccessRules: Ruft eine Statistik über die eBay-API-Nut-zung für eine bestimmte Anwendung ab.

93schnell + kompakt

Page 94: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Anhang – Kurzbeschreibung zu jedem API-Call

GetAttributesCS: Ruft das CharacteristicsSet für eine bestimmteKategorie ab. In manchen Kategorien ist die Nutzung des CsSetobligatorisch, für andere optional. Der Call liefert neben dennutzbaren Attributen auch deren eventuell vorhandene Vorgabe-werte. Daneben wird eine Darstellungsvorschrift geliefert, mitder die Reihenfolge der Elemente sowie etwaige Abhängigkeitenuntereinander definiert werden. Die Daten werden jeweils miteiner Versionskennung geliefert; durch Nutzung eines entspre-chenden Detail-Level kann auch nur diese Kennung abgerufenwerden.

GetAttributesXSL: Ruft ein XSL-Stylesheet ab, das zur Transfor-mation eines CsSet und dessen HTML-Darstellung genutzt wer-den kann. Das resultierende HTML-Fragment ähnelt der Darstel-lung im Verkaufsprozess auf der eBay-Website.

GetBestOffers: Ruft die Informationen über das Best-Offer-Feature (Preisvorschlag) von laufenden oder beendeten Auktio-nen ab.

GetBidderList: Ruft eine Liste von Artikeln ab, auf die ein eBay-Benutzer geboten hat. Dies schließt laufende, aber auch „gewon-nene“ oder gekaufte Artikel mit ein.

GetCategories: Ruft den eBay-Kategorienbaum ab. Jede Kategorieenthält dabei neben einem Klartextnamen auch die KategorienIDund Kennzeichen über übergeordnete (Parents) Kategorien. Mit-hilfe von Filtern und Detail-Levels kann bestimmt werden, ob sichdie Hierarchie geändert hat und somit ein erneuter Abruf notwen-dig ist.

GetCategory2CS: Ermittelt das Mapping zwischen einer Katego-rie und einem (oder mehreren) CharacteristicsSets.

GetCategory2FinanceOffer: Abruf von Finanzierungsoptionenin einer bestimmten Kategorie. Steht nur auf eBay.com zur Ver-fügung.

94

Page 95: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Kurzbeschreibung zu jedem API-Call

GetCategoryFeatures: Ermittelt die nutzbaren Optionen für dasEinstellen eines Artikels in einer bestimmten Kategorie. Dazu ge-hören die nutzbare Dauer, die besonderen Versandoptionen oderauch spezielle Features wie etwa Best-Offer.

GetCategoryListings: Ermöglicht den Abruf einer vollständigenListe von Artikeln einer bestimmten Kategorie. Die Daten kön-nen nach einer Vielzahl von Kriterien gefiltert bzw. sortiert wer-den.

GetCategoryMappings: Für Kategorien, die entfernt oder geän-dert wurden, lässt sich das Mapping abrufen, welches das Sys-tem bei Nutzung der alten Kategorie vornehmen wird.

GetChallengeToken: Ermöglicht die Erzeugung und den Abrufeines Captchas (Bild und Ton). Dieser Call steht nur speziell frei-geschalteten Anwendungen zur Verfügung.

GetCharities: Führt eine Suche nach „Charity“-Organisationendurch. Nur auf eBay.com.

GetContextualKeywords: Durchsucht eine externe URL und er-mittelt eine Liste von Suchwörtern. Die Liste kann danach alsAusgangspunkt für eine eBay-Suche dienen.

GetCrossPromotions: Ruft die Crosspromotion-Artikel ab, dieauf der Artikelseite oder der nachfolgenden Verkaufsabwicklungfür einen bestimmten Artikel in der „Promotionbox“ gezeigtwerden.

GetDescriptionTemplates: Lädt Layout- und Themenvorlagen,die in einer Auktion (kostenpflichtig) genutzt werden können.Der Call gibt die Möglichkeit, die Vorschau einer Artikelbe-schreibung zu konstruieren.

GetDispute: Lädt den vollständigen Dispute-Vorgang inklusivealler Nachrichten und eventuell „Lösungen“.

95schnell + kompakt

Page 96: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Anhang – Kurzbeschreibung zu jedem API-Call

GeteBayDetails: Lädt eine Reihe von Vorgabendaten, die spezi-fisch für eine bestimmte eBay-Site sind.

GeteBayOfficialTime: Ruft die aktuelle Referenz-Uhrzeit (inGMT/UTC) aus dem eBay-System ab.

GetFeedback: Ermöglicht einem Benutzer (Käufer oder Verkäu-fer), seine Bewertungshistorie abzurufen. Je nach Detail-Levelwerden dabei lediglich eine Übersicht oder die gesamte Historieinklusive aller Texte und Antworten geliefert.

GetFinanceOffers: Ergibt eine Liste aller auf einer Site verfüg-baren Finanzierungsoptionen. Auf eBay.de nicht aktiv.

GetHighBidders: Ruft die Ergebnisbieterliste einer Power-Auk-tion ab. Hierbei wird die Liste der erfolgreichen Bieter mit derArtikelanzahl, die den entsprechenden Bietern zugeordnet wur-de, inklusive des festgelegten Preises geliefert.

GetItem: Ermittelt den vollständigen Datensatz zu einem Arti-kel. Dies beinhaltet neben der Artikelbeschreibung die gesetztenAttribute, Versandoptionen, Zahlungsmethode und die genutz-ten Features. Bei einer laufenden Auktion lässt sich der even-tuelle Höchstbieter ersehen; bei einer beendeten Auktion werdeneventuell bereits ausgewählte Optionen der Verkaufsabwicklunggezeigt. Die Menge der Daten kann mit dem Detail-Level oderdem Granularity-Level bei Bedarf eingeschränkt werden.

GetItemRecommendations: Der Call ruft „Empfehlungen“ ab,die zu einem besseren Verkaufserfolg führen sollen. Dabei wirdein Artikel in der gleichen Form wie bei einem Listing über-geben.

GetItemsAwaitingFeedback: Ermittelt eine Liste von Artikeln,für die die Abgabe von Bewertungen möglich ist.

GetItemShipping: Ruft Daten für eine Kalkulation von Versand-kosten zu einem bestimmten Artikel ab. Da auf eBay.de nur

96

Page 97: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Kurzbeschreibung zu jedem API-Call

„Flat“-Shipping möglich ist, beschränkt sich die Funktion aufdie Rückgabe der bei dem entsprechenden Artikel gesetzten Ver-sandoption.

GetItemTransactions: Ermittelt eine Liste der vorliegendenTransaktionen zu einem bestimmten Artikel. Dabei werden kei-ne, eine einzige oder mehrere Transaktionen geliefert, in Abhän-gigkeit von Status und Typ des Artikels. Die Methode ermöglichtdie sinnvolle Einschränkung auf das Datum der letzten Modi-fikation einer Transaktion.

GetLiveAuctionBidders: Ruft eine Liste von Bietern ab, die sichfür die Teilnahme an einer Live-Auktion gemeldet haben. Nurauf eBay.com.

GetLiveAuctionCatalogDetails: Ruft den Live-Auktionskatalogund die geplanten Auktionszeiten für einen Verkäufer ab. Nurauf eBay.com.

GetMemberMessages: Liefert eine Liste von „Fragen zu einemArtikel”, die für einen Verkäufer vorliegen. Verkäufer könnenmit der Methode AddMemberMessage diese beantworten.

GetMyeBay: Der Call steht in Kürze nicht mehr zur Verfügung;nutzen Sie bitte stattdessen GetMyeBayBuying bzw. GetMyeBay-Selling.

GetMyeBayBuying: Liefert die Daten für die Darstellung des„Mein eBay“-Bereichs für Käufer, also Listen mit beobachtetenArtikeln, gewonnenen und verlorenen Auktionen, aktuellen Ge-boten, aber auch gespeicherte Suchen und Verkäufer.

GetMyeBayReminders: Ruft „Erinnerungen“ (z.B. für Artikeloder das eBay-Konto betreffend) für ein Mitglied ab.

GetMyeBaySelling: Liefert die Daten für die Darstellung des„Mein eBay“-Bereichs für Verkäufer, also Listen mit aktuell lau-

97schnell + kompakt

Page 98: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Anhang – Kurzbeschreibung zu jedem API-Call

fenden Artikeln, abgelaufenen Artikeln und Informationen überverkaufte Artikel.

GetMyMessages: Ermöglicht den Zugriff auf das eBay-Nach-richtensystem.

GetNotificationPreferences: Ermittelt die Einstellungen für dieNutzung der Notifications (anwendungs- bzw. nutzerspezi-fisch).

GetNotificationsUsage: Liefert eine Statistik über die Notifica-tions, die das eBay-System an eine bestimmte Anwendung ver-sendet, und deren Verarbeitungsstatus. Hilfreich für das Debug-ging einer Anwendung, die Notifications nutzt.

GetOrders: Ermittelt alle Bestellungen, an denen ein Nutzer (alsKäufer oder Verkäufer) beteiligt ist.

GetOrderTransactions: Ruft die Bestellungen inklusive der un-tergeordneten Transaktionen nutzerspezifisch ab.

GetPictureManagerDetails: Ermittelt die Einstellungen im eBayPictureManager für einen bestimmten Benutzer. Der Call lässtauch die Umstruktierung der Daten (Organisation von Ordnern)zu, aber nicht den Upload von Dateien.

GetPictureManagerOptions: Ermitteln die Vorgabedaten fürden eBay PictureManager. Diese Informationen sind nicht benut-zerspezifisch.

GetPopularKeywords: Ermittelt eine Liste von Suchwörtern, dievon Käufern in einer bestimmten Kategorie häufig genutzt wur-den.

GetProductFamilyMembers: Bietet ein Interface für den Abrufvon Produktdaten aus dem eBay-Katalog. Dieser Call wird fürden Drilldown in eine Produktfamilie genutzt.

98

Page 99: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Kurzbeschreibung zu jedem API-Call

GetProductFinder: Ermöglicht den Abruf von Meta-Informatio-nen (XML-Dokument) für den Aufbau eines „ProductFinder“(Suche mithilfe von Attributen). Nutzen Sie diese Methode zu-sammen mit GetProductSearchResults für eine Suche.

GetProductFinderXSL: Lädt ein XSL-Stylesheet für eine Trans-formation des durch GetProductFinder gelieferten XML-Doku-ments in HTML.

GetProductSearchPage: Der Call liefert einen vereinfachten Pro-ductFinder für die Suche im eBay-Katalog. Mit einer resultieren-den Benutzereingabe kann die Suche in einer Kategorie durch-geführt werden.

GetProductSearchResults: Sucht innerhalb einer bestimmtenKategorie nach Artikeln, die mithilfe von „vordefinierten Arti-kelmerkmalen“ (eBay-Produkt-Katalog) eingestellt wurden.Achtung: keine Suche in den Attributen.

GetProductSellingPages: Ruft die „vordefinierten Produkt-merkmale“ (= Attribute) für ein bestimmtes Produkt ab. DieseDaten können für das Einstellen eines Artikels genutzt werden.Die gelieferten Daten können direkt (oder nach einer Ergänzungbzw. Anpassung) als AttributeSet für einen neuen Artikel ge-nutzt werden.

GetPromotionRules: Die Methode zeigt die aktuell definiertenRegeln für die Crosspromotion eines bestimmten Artikels odereiner eBay-Shop-Kategorie.

GetRecommendations: Der Call steht in Kürze nicht mehr zurVerfügung, bitte nutzen Sie stattdessen GetItemRecommenda-tions.

GetReturnURL: Liefert die definierten RuNamen, die von einerAnwendung für die Nutzung des Auth&Auth-Verfahrens hin-terlegt worden sind.

99schnell + kompakt

Page 100: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Anhang – Kurzbeschreibung zu jedem API-Call

GetRuName: Generiert einen weltweit eindeutigen RuNamen,der als Eingabeparameter für SetReturnURL genutzt werdenkann.

GetSearchResults: Führt eine Suche auf der eBay-Artikeldaten-bank aus. Dabei können die meisten Funktionalitäten genutztwerden, die auch einem Benutzer der eBay-Website zur Verfü-gung stehen. Hierzu gehört auch die Suche mit Wildcards, ineBay Shops oder die Einschränkung auf bestimmte Artikelartenoder besondere Features. Normalerweise findet die Suche nur inTitel und Untertitel statt, sie kann aber auf die Artikelbeschrei-bung ausgedehnt werden.

GetSearchResultsExpress: Ermöglicht die Suche in Artikeln, dieauf eBay Express gelistet sind. Daneben wird eine Statistik überdie Verteilung der Artikel in den eBay Express Departments,Aisles und Product Types geliefert.

GetSellerEvents: Liefert eine Kurzübersicht über die Aktionen,die innerhalb der letzten 48 Stunden auf den Artikeln eines Ver-käufers stattgefunden haben. Hierzu gehören Preisänderungen,Gebote und beendete bzw. gestartete Artikel.

GetSellerList: Ruft eine detaillierte Liste der Artikel eines be-stimmten Verkäufers ab. Die Liste enthält die wesentlichen Infor-mationen, aber keine Artikelbeschreibungen und keine Zah-lungs- bzw. Versandmethoden.

GetSellerPayments: Ruft eine Übersicht ausstehender Zahlun-gen für einen Verkäufer für Half.com-Artikel ab. Half.com hatbisher keine deutsche Niederlassung, gehört aber mit zur eBay-Gruppe.

GetSellerTransactions: Ermittelt eine Liste von Transaktioneneines Verkäufers. Diese enthält detaillierte Informationen derKäufer und eventuell auch deren Liefer- und Registrierungs-adressen.

100

Page 101: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Kurzbeschreibung zu jedem API-Call

GetStore: Die Methode ruft detaillierte Informationen für dieKonfiguration eines eBay Shops ab. Für den Abruf von speziellenSeiten muss die Methode GetStoreCustomPage genutzt werden.

GetStoreCategoryUpdateStatus: Nach der Änderung von eBay-Shop-Kategorien mit SetStoreCategories werden diese asyn-chron verarbeitet. Dieser Call dient der Überprüfung des aktuel-len Änderungsstatus.

GetStoreCustomPage: Ruft eine spezielle Custom-Page eineseBay-Shop-Betreibers ab. Die Möglichkeit, solche Seiten zu ver-arbeiten, ist abhängig vom gebuchten eBay Shop.

GetStoreOptions: Liefert die aktuellen eBay-Shop-Optionen.Hierzu gehören Logos, Farbschemas und der aktuell gebuchteeBay-Shop-Typ.

GetStorePreferences: Ruft die aktuellen Voreinstellungen eineseBay Shops ab. Im Wesentlichen ist dies der „Urlaubsstatus“ desShop-Besitzers.

GetSuggestedCategories: Liefert eine Liste der Top10-Katego-rien, in denen Artikel gelistet wurden, die einem Suchbegriff ent-sprechen.

GetTaxTable: Ermöglicht die Ausgabe einer Steuertabelle füreine bestimmte eBay-Site. In Deutschland wird dieser Call nichtbenötigt, da es keine steuerlichen Unterschiede (Mehrwertsteu-er) in den Bundesländern gibt.

GetUser: Liefert Informationen über ein bestimmtes eBay-Benut-zerkonto. Achtung: Die Daten sind Retrieves data for one eBayuser. Falls es keine Transaktion zwischen einem Käufer bzw. Ver-käufer in Bezug auf eine anzugebende Artikelnummer gibt, sinddie Daten massiv eingeschränkt.

GetUserContactDetails: Liefert Kontaktinformationen für Bieteroder Mitglieder, die einen Preisvorschlag (Best Offer) gemacht

101schnell + kompakt

Page 102: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Anhang – Kurzbeschreibung zu jedem API-Call

haben. Grundsätzlich wird keine E-Mail-Adresse geliefert, dieKommunikation kann aber via AddMemberMessagesAAQTo-Bidder über das eBay-Nachrichtensystem erfolgen.

GetUserDisputes: Der Call erzeugt eine Liste von Disputes, indenen ein eBay-Mitglied als Käufer oder Verkäufer involviert istoder innerhalb der letzten fünf Jahre involviert war.

GetUserPreferences: Liefert eine Reihe von Voreinstellungen füreinen Benutzer (Kombinierte Zahlung, Crosspromotion, E-Mailsam Ende der Auktion, Artikelmerkliste, eBay Express, Verkäu-fereinstellungen).

GetWantItNowPost: Liefert detaillierte Informationen über eineeBay-Suchanzeige.

GetWantItNowSearchResults: Führt eine Suche in den eBay-Suchanzeigen durch.

IssueRefund: Rückerstattung einer Zahlung auf Half.com.Half.com hat bisher keine deutsche Niederlassung, gehört aberzur eBay-Gruppe.

LeaveFeedback: Ermöglicht das Hinterlassen einer Bewertungfür einen Verkaufsvorgang.

PlaceOffer: Ermöglicht das Bieten auf eine Auktion. Achtung:Dieser Call steht nicht öffentlich zur Verfügung, sondern benö-tigt eine spezielle Freischaltung.

RelistItem: Stellt einen abgelaufenen und nicht verkauften Arti-kel erneut ein. Dabei ist der erste Relist kostenreduziert in Bezugauf die Einstellgebühren, solange keine neuen erweitertenFeatures genutzt werden.

RemoveFromWatchList: Entfernt einen Artikel aus der Beobach-tungsliste.

102

Page 103: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Kurzbeschreibung zu jedem API-Call

RespondToBestOffer: Ermöglicht dem Verkäufer eines Artikels,für den die Preisvorschlagsoption aktiviert ist, die Antwort aufeinen solchen Vorschlag.

RespondToFeedback: Auf einen Bewertungseintrag kann mitdieser Funktion geantwortet werden.

RespondToWantItNowPost: Ermöglicht es, zu einer eBay-Such-anzeige einen Artikel mit einer „Antwort“ zu erstellen.

ReviseCheckoutStatus: Ändert den „Bezahlt“-Status einer Trans-aktion oder Bestellung.

ReviseItem: Erlaubt es einem Verkäufer, einen aktuell laufendenArtikel zu überarbeiten. Dabei können neben der Beschreibungdie meisten Datenfelder angepasst werden. Teilweise bestehenhier Restriktionen in Bezug auf die änderbaren Felder. Grund-sätzlich ist eine Überarbeitung bis zwölf Stunden vor Ablauf desArtikels möglich, wobei hier in bestimmten Kategorien andereRegeln gelten können. Daneben ist die Änderungsmöglichkeiteingeschränkt, falls auf Auktionen bereits Gebote vorliegen.

ReviseLiveAuctionItem: Erlaubt die Änderung einer Live-Auk-tion. Nur auf eBay.com.

ReviseMyMessages: Beeinflusst die Änderung des „gelesen“-Status auf Nachrichten im eBay-Nachrichtensystem.

ReviseMyMessagesFolders: Ermöglicht die Bearbeitung derOrdnerstruktur im eBay-Nachrichtensystem.

SellerReverseDispute: Ermöglicht das Zurückziehen eines Dis-pute. Der Dispute muss zuvor geschlossen werden.

SendInvoice: Erzeugt eine E-Mail-Rechnung und sendet diesean den Käufer.

SetNotificationPreferences: Definiert Voreinstellungen für dieNutzung der eBay Notifications. Hierbei können sowohl anwen-

103schnell + kompakt

Page 104: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Anhang – Kurzbeschreibung zu jedem API-Call

dungsweite Einstellungen als auch die Abonnierung einer be-stimmten Notification für einen Benutzer festgelegt werden.

SetPictureManagerDetails: Setzt Einstellungen für das Picture-Manager-Abo eines Benutzers.

SetPromotionRules: Definiert eine Crosspromotion-Regel für ei-nen bestimmten Artikel oder eine eBay-Shop-Kategorie.

SetRedirectionDetails: Setzt die URL für einen Checkout Re-direct. Kann nur von speziellen freigeschalteten Anwendungengenutzt werden.

SetReturnURL: Setzt die ReturnURL, die im Rahmen des Auth&Auth-Verfahrens genutzt wird.

SetStore: Definiert die Voreinstellungen eines eBay Shop.

SetStoreCategories: Der Call ermöglicht die Veränderung voneBay-Shop-Kategorien. Die Änderungen werden hierbei asyn-chron durchgeführt.

SetStoreCustomPage: Ermöglicht den Upload einer speziellenCustom-Page in den eBay Shop eines Benutzers. Diese kann da-bei auch aus freien HTML-Inhalten bestehen.

SetStorePreferences: Setzt die Einstellungen eines eBay-Shop-Besitzers; im Wesentlichen die Urlaubseinstellungen.

SetTaxTable: Definiert eine Steuertabelle. Auf eBay.de wedermöglich noch sinnvoll.

SetUserNotes: Fügt einem Artikel in einer der „My eBay“-Listeneine freie Bemerkung hinzu.

SetUserPreferences: Setzt eine Reihe von benutzerspezifischenEinstellungen (siehe GetUserPreferences).

104

Page 105: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Kurzbeschreibung zu jedem API-Call

ValidateChallengeInput: Validiert die Benutzereingabe nach ei-nem zuvor generierten Captchas. Dieser Call steht nur speziellenfreigeschalteten Anwendungen zur Verfügung.

ValidateTestUserRegistration: Testmethode zur Manipulationder Benutzerdaten. Steht nur auf der eBay Sandbox zur Verfü-gung.

VerifyAddItem: Erlaubt die Überprüfung eines Artikels vor derwirklichen Einstellung. Die Eingabeparameter entsprechen hier-bei AddItem. Die Methode liefert ähnliche Ausgabedaten, aberkeine Artikelnummer.

VerifyAddSecondChanceItem: Erlaubt die Überprüfung eines„Angebots an einen unterlegenen Bieter“ vor der wirklichen Ein-stellung.

105schnell + kompakt

Page 106: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von
Page 107: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Stichwortverzeichnis

.NET 41

AAcceptURL 47AddDispute 66AddDisputeResponse 67AddItem 59, 82AddMemberMessage 62AddMemberMessageAAQToP-

artner 62, 85AddMemberMessageRTQ 62AddOrder 64AddSecondChanceItem 61AddToItemDescription 61Angebot an unterlegene Bieter

28Application ID 34Artikelbeschreibung 19Artikelzustand 20, 73Attribute 20, 70AttributeSet 71Auktionsdauer 21Ausstattungsmerkmale 71Auth & Auth 35

BBest Offer 28Bestellung 26, 64Bilder 22Bold 22Border 22

Ccalculated shipping 20Certificate 34CharacteristicsSet 20, 53, 71

CheckoutRedirect 26Chinese-Auction 19Combined Payment 64Compatibility Level 32, 49CompleteSale 64Crosspromotion 60CsSets 20, 53

DDetail Level 50Developer ID 34Diashow 23Dispute 27, 66domestic shipping 20, 69Dutch-Auction 19

EEbat 78EbatNs

ServiceProxy 42Session 42

eBayAffliates 64Applikationsverzeichnis 14Entwicklerprogramm 11Express 10, 18, 29Kategorien 53Notification 48Partnerprogramm 14Passwort 57Picture Service 23Produktkatalog 72Shop 73Suchanzeigen 29

eBay ID 17eBay Picture Service 74

107schnell + kompakt

Page 108: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Stichwortverzeichnis

Einstellkosten 27EndItem 60EPN 49EPS 23, 41

FFeedback 26, 64Festpreis 18FetchToken 36, 46, 47Fettschrift 22Final Value Fee 27flat shipping 20FVF 27

GGaleriebild 23GalleryFeatured 22GetAttributesCS 53GetAttributesXSL 54GetCategories 53, 88GetCategoryFeatures 53GetCategoryListings 65GetCategoryMappings 53GeteBayDetails 54, 70GeteBayOfficalTime 54GetFeedback 64GetItem 65GetItemsAwaitingFeedback 64GetItemTransactions 63, 84GetItFast 29GetMyeBaySelling 63GetOrder 64GetRuName 45GetSearchResults 64, 79GetSearchResultsExpress 65GetSellerEvents 63GetSellerTransactions 51, 63, 84GMT 51Granularity Level 50

HHeribert Varli 37Hinterlassen von Bewertungen

26

IINR 27, 66international shipping 69Item 18Item Not Received Dispute 27ItemID 23, 87

JJava 42

KKataloge 70Kategorie 19

LLeaveFeedback 64, 87Listen 18Listingfees 27ListingType 19lot 22

MMenge 21MyMessages 62

NNowAndNew 29

OOrder 26, 64

PPaginierung 51, 63PayPal 21PHP 42

Accelerator Toolkit 42

108

Page 109: eBay API - Daniel Ardleydanielardley.com/ebay/MyeBayeBookCollection/eBay API GERMAN.pdf · IPTV 15 Kapitel 2: Der eBay-Geschäftsprozess 17 2.1 Benutzerrollen 17 2.2 Einstellen von

Stichwortverzeichnis

PictureDetails 74Power-Auktion 19Production 33

RRahmen 22Real Estate Ad 24Region 54Registrierungsadresse 25Relist 61

RelistItem 61Research-API 14REST 43ReviseItem 24Rückgaberecht 20, 73RuName 36, 45

SSandbox 33

User Registration Tool 37SDK 39SecondChance 28, 61SecretID 46Selbstzertifizierung 34SellYourItem 18SendInvoice 86SetNotificationPreferences 49SetPromotionRules 60SetReturnURL 45ShipToLocation 70Shop-Artikel 18SideWide CsSet 20, 73Site-ID 32SOAP 40Sofort und Neu 29

SofortKauf-Option 18SYI 18

TToken 35, 56

Tool 12TransactionID 87Transaktion 24Turbolister 18

UUnpaid Item Dispute 27Untertitel 22UPI 27, 66UTC 51

VVerifyAddItem 60VerifyAddSecondChanceItem

61Verkaufsabwicklung 25, 62

Extern 26Versandadresse 25Versandkosten 20Versandoption 54, 70Versionierung 32

WWantItNow 29Web 2.0 13

ZZahlungsbedingungen 21Zahlungsmethode 21, 54Zertifizierung 34

109schnell + kompakt