OXID calling eBay

Integration des eBay API in ein Shopsystem
Kommentare

Setup des eBay API
Für den Zugriff auf das eBay API benötigen Sie eine Registrierung im eBay-Entwicklerprogramm. Das Anmeldeformular hierzu finden Sie unter developer.ebay.com. Die Teilnahme am eBay-Entwicklerprogramm

Setup des eBay API

Für den Zugriff auf das eBay API benötigen Sie eine Registrierung im eBay-Entwicklerprogramm. Das Anmeldeformular hierzu finden Sie unter developer.ebay.com. Die Teilnahme am eBay-Entwicklerprogramm ist grundsätzlich kostenlos. Als registrierter Entwickler erhalten Sie ein so genannte Key Triple, das der Anwendung den Zugriff auf das API ermöglicht. Die Anzahl von API-Aufrufen ist zunächst auf 5000 Zugriffe pro Tag beschränkt. Nach der Fertigstellung der Anwendung kann das Limit auf 1,5 Mio. Zugriffe täglich erhöht werden. Hierzu muss allerdings einmalig eine zusätzliche Zertifizierung vorgenommen werden. Im Rahmen der entstehenden Anwendung sollte die Limitierung aber kaum eine Rolle spielen. Es ist jedoch zu beachten, dass durch das eBay API z. B. mit dem Einstellen von Artikeln indirekt Kosten (Einstellgebühren) entstehen können.

eBay-Nomenklatur

Bei der Beschäftigung mit dem eBay API ist es unumgänglich, sich mit der englischen Nomenklatur vertraut zu machen. Betrachten wir hierzu kurz den eBay-Prozess unter Berücksichtigung der entsprechenden Termini.

Der eBay-Verkäufer (Seller) stellt einen Artikel bei eBay ein. Der Prozess wird dabei „Item Listing“ genannt. Als Ergebnis entsteht das Item mit seiner Item-Id (Artikelnummer). Während der Laufzeit einer Auktion (Chinese Auction) kann ein potentieller Bieter (Bidder) eine Nachricht (Message) an den Seller schicken. Ähnliches ist auch bei Sofort-Kaufen-Artikeln (Buy It Now = BIN) möglich. Mit dem Zuschlag für einen Artikel wird der so genannte HighBidder zum Buyer – entsprechendes gilt bei BIN-Items. Alle User besitzen eine sog. EIAS-ID, die auch nach einem Wechsel des eBay-Namens erhalten bleibt. Der Verkauf resultiert in der Erzeugung einer Transaktion, die aus Transaction-ID und Item-ID besteht. Mehrere Transaktionen können bei Bedarf in einer Order zusammengefasst werden. Ein erfolgreicher Abschluss endet dann in der Regel mit dem gegenseitigen Hinterlassen einer positiven Bewertung (Feedback). Alternativ kann mittels des Dispute-Managements bei aufgetretenen Problemen eine Rückabwicklung oder anderweitige Einigung erzielt werden.

Sandbox/Produktion

Während der Testphase einer Anwendung kann der eBay-Spielplatz (Sandbox) genutzt werden. Die Sandbox entspricht funktionell (zumeist) der echten Produktionsumgebung, ist aber auf der Datenbankebene vollständig getrennt. Dadurch kann hier testweise „gehandelt“ werden, es entstehen jedoch keine echten Kosten. Wie auch die große Schwester steht die Sandbox für die meisten Sprachversionen zur Verfügung. Die deutsche Sandbox erreichen Sie unter www.sandbox.ebay.de. Bitte beachten Sie, dass bestimmte Funktionen teilweise nur im englischen System verfügbar sind. Der häufig benötigte My-eBay-Bereich ist dann nur in englischer Sprache verfügbar. Das ist leider ein wenig unhandlich. Daneben werden die Sessiondaten jeweils in Browsercookies gespeichert und die parallele Nutzung von Sandbox und Produktion im gleichen Browser ist kaum möglich. Wichtig ist hier zu beachten, dass die Benutzer der Sandbox vollständig von der Produktionsumgebung getrennt sind. Damit funktioniert Ihr „normales“ eBay-Konto auf der Sandbox nicht und Sie sollten sich ein Set von Anmeldenamen zum Spielen anlegen. Hier stellt eBay ein Tool unter developer.ebay.com/DevZone/sandboxuser bereit. Damit Sie später auch Verkäufe simulieren können, ist die Anlage von mindestens einem Verkäufer- und einem Käufer-Konto sinnvoll.

Keys und Token

Vor der Nutzung des eBay API müssen zunächst die Keys erzeugt werden (Key-Erzeugung). Zunächst benötigen Sie nur die Sandbox Keys – die Generierung der Production Keys kann bei Bedarf später erfolgen. Die DEV-ID ist dabei gleich – APP-ID und CERT-ID unterscheiden sich aber entsprechend. Die Keys verweisen letztlich lediglich auf die Anwendung. Das so genannte „Token“ speichert die Datenfreigabe für ein bestimmtes Benutzerkonto. Hier nutzt eBay das so genannte „Auth & Auth -Verfahren“, mit dem ein eBay-Benutzer den Datenzugriff an eine Anwendung delegieren kann. Das Verfahren leitet dabei den Benutzer über die „normale“ eBay-Anmeldeseite und reicht danach das Token an die 3rd-Party-Anwendung weiter. Das Token enthält verschlüsselt die Verbindung von Benutzer-ID und Anwendungs-ID, aber nicht das eBay-Passwort. Allerdings sollte das Token wie ein Passwort behandelt werden. Faktisch reicht das Token aus, um (auch indirekt kostenpflichtige) API-Aufrufe durchzuführen. Auch hier steht im Entwicklerbereich unter developer.ebay.com/DevZone/account/tokens ein Tool zur Verfügung. Hiermit lassen sich schnell einmalige Token erzeugen und via Copy & Paste übernehmen. Achten Sie bei der Erzeugung von Sandbox Token auf die Besonderheiten der Benutzerkonten in der Sandbox.

Funktionsweise des eBay API und des EbatNs

Das eBay API stellt eine enorme Vielfalt von Funktionen zur Verfügung. Dabei wurden die unterschiedlichen Bereiche in diverse „Produkte“ aufgeteilt. Für unser Projekt benötigen wir den Zugriff auf das Trading API. Hiermit erhalten wir Zugriff auf die Daten aus dem Bereich My eBay. Andere APIs wie etwa das Shopping API liefern lediglich öffentlich zugängliche Daten wie Suchergebnisse oder Basisinformationen über einen eBay-Nutzer unter seinem Pseudonym. Hier wird dann kein Token benötigt und die Nutzung damit vereinfacht. Technisch wurde das eBay API als XML Web-Service realisiert, wobei hier historisch bedingt unterschiedliche serverseitige Frameworks im Einsatz sind. Sinnvoll ist dabei die Nutzung eines SDKs (wie hier des EbatNs), das diese technischen Aspekte für den Entwickler transparent macht. Neben der synchronen Aufrufform der Web Services existiert eine weitere, interessante Alternative. Die so genannte eBay Platform Notifications liefern die Ergebnisdaten eines API-Aufrufs automatisch an einen hinterlegten URL oder ein E-Mail-Konto. Dabei werden die Aufrufe automatisch nach dem Auftreten eines Ereignisses ausgelöst. So kann z. B. nach Verkaufsabschluss automatisch eine Benachrichtigung verschickt werden. Das eBatNs PHP SDK bildet die Funktionen des eBay API in Form von PHP-Klassen ab. Das Sessionobjekt speichert dabei die API Keys und eventuell das Token eines Benutzers. Das Proxy-Objekt wird mit dem Sessionobjekt verbunden und definiert die nutzbaren API-Funktionen nach. Als Eingabe wird jeweils ein Call-spezifisches Request-Objekt erwartet. Entsprechend wird ein Response-Objekt durch den Methodenaufruf zurückgeliefert.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -