Eigenes Kleinanzeigen-Portal anbinden

Als Inhaber eines Kleinanzeigen-Portals bietet der AnzeigenChef die Möglichkeit, eine vollständige Anbindung vorzunehmen. Diese kann im Verlauf über unseren Plugin-Marktplatz angeboten werden. Bitte beachte, dass wir nur Marktplätze aufnehmen, die Jugendfrei sind. Für Inserate sind die Plattformen selbst verantwortlich.

Technische Voraussetzungen

Der AnzeigenChef verwendet zur Autorisierung von Anfragen einen Benutzer-Token, der durch einen einmaligen Login des Nutzers generiert wird. Alle Folgeanfragen werden mit diesem gestellt. Die Kommunikation wird im Format JSON geführt.

Diese Anleitung wurde so einfach wie möglich gehalten, daher werden einige technische Aspekte nur grob umschrieben und auf Fachbegriffe verzichtet. Wir haben die Reihenfolge nach Nutzung der einzelnen Funktionen aufgebaut.

Übersicht
Nutzer-Autorisierung

Der Nutzer hinterlegt im AnzeigenChef temporär seinen Benutzernamen oder seine E-Mail sowie das Passwort, welches für die Plattform genutzt wird. Nach dem Klick auf "Speichern" erfolgt eine Abfrage an die jeweilige Plattform:

POST [platformurl]/login

{ "username": "hans.muster@muster.hans.de", "password": "8b2579f4332f466805d30651b9d6a927" }

Das Passwort wird als MD5 Hash übermittelt.

Antwort

Als Rückgabe erfolgt ein JSON, welches einen Token und Kontaktdaten oder eine entsprechende Fehlermeldung zurück gibt. Wir benötigen zusätzlich die Angabe, ob es sich um ein privates oder gewerbliches Konto handelt (isBusiness).

Im Erfolgsfall:

{ "token": "2f15af3f7ab46ca9100685c8d46c41b3_ss2", "contactName" : "Hans Muster", "contactPhone": "07720 9922921", "postalCode": "78056", "impress": "Ein vollständiges Impressum falls gewerblich und notwendig", "isBusiness": false }

Im Fehlerfall:

{ "errormessage": "Ein Fehler ist aufgetreten!...." }
Kategorien

Die Kategorien werden im AnzeigenChef zwischengespeichert und regelmäßig aktualisiert. Der Abruf sollte alle vorhandenen Kategorien beinhalten.

GET [platformurl]/categories

Kategorien samt Unterkategorien. Der AnzeigenChef erkennt die letzte Kategorieebene selbst (leaf).

{ "categories" : [ { "categoryId": "12345", "categoryName" : "Haus & Garten", "categories" : [ { "categoryId": "12346", "categoryName" : "Badezimmer" }, { "categoryId": "12347", "categoryName" : "Büro" } ] }, { "categoryId": "22345", "categoryPath" : "Dienstleistungen", "categories" : [ { "categoryId": "22346", "categoryName" : "Altenpflege" }, { "categoryId": "22347", "categoryName" : "Elektronik" } ] } ]}
Kategorien-Vorschläge

Da Nutzer im ersten Schritt den Anzeigentitel eingeben, können hier Vorschläge zu Kategorien abgerufen werden.

GET [platformurl]/suggest?title=Mein%20Gartenstuhl%20neuwertig

Als Rückgabe wird ein Array erwartet, welches sowohl die Kategorien ID wie auch den Pfad enthält:

[ { "categoryId": "12345", "categoryPath" : "Haus & Garten / Möbel" }, { "categoryId": "12345", "categoryPath" : "Sperrmüll / Möbel" } ]
Kategorien- Merkmale / Attribute

In Arbeit....

Bestehende Anzeigen abrufen

In Arbeit....

Bilder für neue oder bestehende Anzeigen hochladen

Wir bieten drei Arten von Bild-Uploads an. Vor dem inserieren unabhängig von der Anzeige, mit dem eigentlichen Inserat und nach dem inserieren zzgl. finalisieren. Der Unterschied ist wie folgt:

Vor dem inserieren:
Da vor dem eigentlichen inserieren noch keine Anzeigennummer vorhanden ist, erfolgt der Bild-Upload ohne weitere Angaben. Als Rückgabe erfolgt eine Bild-Id, welche beim inserieren mitgesendet wird.

Nach dem inserieren zzgl. finalisieren
Hier wird der Bild-Upload nach dem inserieren durchgeführt, mitgeliefert wird die Anzeigennummer. Zum Abschluss wird ein weiterer Call abgesetzt, der den Prozess abschließt.

Mit dem Inserat
Wird nicht empfohlen, da der Umfang einer Anfrage inkl. allen Bildern recht groß werden kann. Ist dies dennoch gewünscht, so kann beim "Anzeige erstellen" statt der Bild-Id der Bild Content als Base64 gesendet werden.

In Arbeit....

Anzeige erstellen / aktualisieren

In Arbeit....

Anzeige pausieren

Sofern die Plattform das unterstützt, kann der Nutzer Anzeigen pausieren, um diese temporär unsichtbar zu machen, ggf. als reserviert zu markieren.

GET [platformurl]/pause?adId=123456789

Im Erfolgsfall wird ein HTTP Code 200 erwartet, im Fehlerfall ein HTTP Code 400, optional ein JSON mit Fehlerbeschreibung.

Anzeige fortsetzen

Sofern die Plattform das unterstützt, kann der Nutzer Anzeigen fortsetzen, die zuvor pausiert waren.

GET [platformurl]/resume?adId=123456789

Im Erfolgsfall wird ein HTTP Code 200 erwartet, im Fehlerfall ein HTTP Code 400, optional ein JSON mit Fehlerbeschreibung.

Anzeige verlängern

Sofern die Plattform das unterstützt, kann der Nutzer Anzeigen kurz vor Ablauf verlängern.

GET [platformurl]/extend?adId=123456789

Im Erfolgsfall wird ein HTTP Code 200 erwartet, im Fehlerfall ein HTTP Code 400, optional ein JSON mit Fehlerbeschreibung.

Anzeige beenden

Der Nutzer kann max. 20 Anzeigen am Stück beenden.

GET [platformurl]/end?adId=123456789

Im Erfolgsfall wird ein HTTP Code 200 erwartet, im Fehlerfall ein HTTP Code 400, optional ein JSON mit Fehlerbeschreibung.

Bestehende Nachrichten abrufen

In Arbeit....

Nachricht als gelesen markieren

Sobald ein Nutzer die Nachricht anklickt, wird diese auf der Plattform als gelesen markiert.

GET [platformurl]/readed?convId=123456789

Im Erfolgsfall wird ein HTTP Code 200 erwartet, im Fehlerfall ein HTTP Code 400, optional ein JSON mit Fehlerbeschreibung.

Auf Nachrichten antworten

In Arbeit....

Absender blockieren / melden

In Arbeit....

Anfrage stellen

Bei Nutzung des Suchagenten kann eine Anfrage für gefundene Anzeigen gestellt werden. Hierbei wird die Anzeigennummer (adId), der Kontakt-Name (contactName), die Kontakt-Telefonnummer (contactPhone) sowie die Nachricht (message) übermittelt.

POST [platformurl]/question

{ "adId": "123456", "contactName": "Hans Mustermann", "contactPhone": "077209922921", "message": "Hallo, ich interessiere mich für Deine Anzeige, kann man am Preis noch was machen?" }

Im Erfolgsfall wird ein HTTP Code 200 erwartet, im Fehlerfall ein HTTP Code 400, optional ein JSON mit Fehlerbeschreibung.

Zurück zum Anfang