PrestaShop Schnittstelle

Wenn Du PrestaShop nutzt, kannst Du Deine Daten direkt in den AnzeigenChef holen. Hierzu legst Du eine Schnittstelle an, die über die offizielle REST API kommuniziert.

Bevor wir die Schnittstelle anlegen können, müssen wir den WebService im PrestaShop Backend aktivieren und einen Schlüssel erzeugen. Logge Dich hierzu im Backend ein, klicke links im Menü auf "Erweiterte Einstellungen" und wähle den Punkt "Webservice".

Aktiviere, sofern noch nicht geschehen den Punkt "Webservice aktivieren" und klicke auf "Speichern".

Füge nun über den Button "Webservice-Schlüssel hinzufügen" einen neuen API Schlüssel hinzu.

Klicke neben dem Schlüsselfeld auf "Erzeugen". Diesen Schlüssel notierst Du Dir oder kopierst ihn in die Zwischenablage. Als Schlüsselbeschreibung kannst Du AnzeigenChef eintragen. Der Status sollte auf "JA" stehen, damit dieser aktiv ist.

Bei den Berechtigungen kannst über einen Klick auf die Überschrift "Sehen (GET)" alle aktivieren oder spezifisch auswählen. Der AnzeigenChef benötigt lediglich einen lesenden Zugriff auf folgende Komponenten:

  • categories
  • combinations
  • currencies
  • image_types
  • images
  • languages
  • manufacturers
  • price_ranges
  • product_customization_fields
  • product_feature_values
  • product_features
  • product_option_values
  • product_options
  • products
  • specific_price_rules
  • specific_prices
  • stock_availables
  • stocks
  • tax_rule_groups
  • tax_rules
  • taxes

.htaccess

Beim Test mit Demoshop konnten wir nicht auf die API zugreifen, diese zeigt grundsätzlich, dass man nicht berechtigt sei. Hier mussten wir einen Eintrag in die .htaccess vornehmen, die im Hauptverzeichnis des Shops liegt, erreichbar per FTP.

Bearbeite die .htaccess und füge in die erste Zeile folgendes ein:

RewriteEngine on
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

Wichtig: Trage diese beiden Zeilen über dem PrestaShop eigenen Kommentar ein, da sie ansonsten beim neu schreiben entfernt werden.


Schnittstelle im AnzeigenChef einrichten

Wechsle im AnzeigenChef auf Einstellungen -> Schnittstellen und klicke auf "PrestaShop". Gib der Schnittstelle eine Bezeichnung und füge die vollständige Shop-URL ein, beginnend mit https://. Am Ende soll kein / oder ähnliches erfolgen. Beispiel: https://www.meinshop.de oder https://www.meins.de/shop

Füge den soeben erstellen Webservice-Schlüssel ein und klicke auf "Zielkonten und Datenquellen". Hier wählst Du nun die gewünschten Konten aus, die automatisch aktiviert werden sollen. Zusätzlich kannst Du festlegen, ob die Kurz- oder Langbeschreibung genutzt werden soll. Lege fest, ob Bestände berücksichtigt werden und Änderungen im Shop synchronisiert werden.

Die Option "Neue automatisch in den Ausgang legen" solltest Du nur aktivieren, wenn Du ein entsprechend großes PRO Konto hast, da ansonsten ggf. Dein Anzeigenausgang vollläuft.


Korrekturen - Beschreibung bereinigen

Der Tab Korrekturen gibt Dir die Möglichkeit, die eingelesene Beschreibung anzupassen. Hierfür stehen verschiedene Werkzeuge zu Verfügung.

Falls Du in den Begrifflichkeiten Zeilenumbrüche benötigst, kannst Du diese per \r oder \n einfügen. Allgemeine Kürzel wie $sku$, $free_01$ - $free_05$ sowie $notes$ kannst Du ebenfalls einfügen, diese werden später beim inserieren automatisch ersetzt.

REPLACE[Hallo||Tschüss]
Füge diese Zeile ein, um das Wort Hallo durch Tschüss zu ersetzen. Groß- und Kleinschreibung wird ignoriert. REPLACE ist die Anweisung, daruf folgt die eckige Klammer, der Suchbegriff, die Trennung durch zwei Pipes sowie der neue Begriff, dieser kann auch leer sein. Beendet wird der Befehl wieder durch eine eckige Klammer.
Als 3. Parameter kannst Du die SKU (Artikelnummer) angeben, falls Du diese Aktion auf einen bestimmten Artikel begrenzen möchtest. Beispiel: REPLACE[Hallo||Tschüss||123456]

REGULAREXP[<p>(.*?)</p>||Kein TAG]
Suchen und Ersetzen für Profis. Mit RegularExpressions können erweiterte Suchen durchgeführt werden. Im obigen Beispiel wird nach Hallo Welt gesucht, egal was zwischen Hallo und Welt noch zusätzlich steht. Ein Testtool findet sich hier.
Als 3. Parameter kannst Du die SKU (Artikelnummer) angeben, falls Du diese Aktion auf einen bestimmten Artikel begrenzen möchtest.
Beispiel: REGULAREXP[<p>(.*?)</p>||Kein TAG||123456]

REMOVE[<head>||</head>]
Mit dieser Zeile kannst Du den Inhalt beginnend mit einem Begriff und endend mit einem weiteren Begriff entfernen. Die angegebenen Begriffe werden ebenfalls entfernt, beide müssen enthalten sein. Groß- und Kleinschreibung wird beachtet.
Als 3. Parameter kannst Du die SKU (Artikelnummer) angeben, falls Du diese Aktion auf einen bestimmten Artikel begrenzen möchtest.
Beispiel: REMOVE[<head>||</head>||123456]

ADD[Das ist eine Extrazeile]
Hier kannst Du an das Ende der Beschreibung zusätzlichen Inhalt hinzufügen.

INSERT[Das ist eine Kopfzeile]
Hier kannst Du an den Anfang der Beschreibung zusätzlichen Inhalt hinzufügen.

INSERT[1||Das ist eine Kopfzeile in der zweiten Zeile]
Du kannst zum INSERT auch eine Zeilennummer mit angeben. So bestimmst Du z.B., dass der Inhalt in Zeile X eingefügt wird.

MAXLENGTH[4000]
Mit MAXLENGTH kannst Du den gesamten Text in der Länge einschränken. Diese Option sollte an letzter Stelle ausgeführt werden. Auch hier kann als zweiter Parameter eine SKU (Artikelnummer) angegeben werden.
Beispiel: MAXLENGTH[4000||123456]

ADDTOTITLE[inkl. Versand]
Hier kannst Du Deinem Titel einen zusätzlichen Text hinzufügen, der für alle Artikel gilt.

REMOVEHTML[] (nur eBay)
Dieser Code entfernt aus der Beschreibung sämtlichen HTML Inhalt und ersetzt Breaks sowie Absätze durch reguläre Zeilenumbrüche.

MINPRICE[100] (nur eBay)
Diese Einstellung legt fest, ob nur Artikel ab einem bestimmten Preis eingelesen werden sollen. Diese Funktion steht nur für die eBay Schnittstelle zu Verfügung, um zu verhindern, dass unnötige niedrigpreisige Artikel eingelesen werden.

MAXPRICE[100] (nur eBay)
Diese Einstellung legt fest, ob nur Artikel bis zu einem bestimmten Preis eingelesen werden sollen. Diese Funktion steht nur für die eBay Schnittstelle zu Verfügung, um zu verhindern, dass unnötig hochpreisige Artikel eingelesen werden.

DISCOUNT[10|100|199] (nur eBay)
Die Discount Angabe ermöglicht, Artikel aus einem bestimmten Preisbereich um einen Betrag zu reduzieren. Die Angabe erfolgt mit dem zu reduzierenden Betrag, darauf folgt der Mindestpreis und endet mit dem maximalen Preis. Es sind mehrere Angaben dieser Art möglich.
Beispiel:
DISCOUNT[10|100|199]
DISCOUNT[20|200|1000]
Hier würde beim einlesen alles, was zwischen 100,00€ und 199,00€ kostet um 10,00€ reduziert werden, alles ab 200,00€ um 20,00€.

Zurück zum Anfang