Empfehlungen
Die maximale Anzahl an Varianten für einen Artikel ist aktuell auf 250 begrenzt. Shopware-Artikel müssen über einen Hersteller und einen Preis verfügen. Artikel ohne Hersteller und Preis werden importiert, sind aber keine validen Artikel und werden von daher auf inaktiv gesetzt. Shopware unterstützt keine negativen Preise.
Die Konfiguration bezüglich des führenden Systems sollte nicht im Betrieb geändert werden. Es werden stets die IDs des führenden Systems verwendet, was bei Änderung dazu führen kann, dass Duplikate erstellt werden.
Es empfiehlt sich, das nicht führende System vor Inbetriebnahme zu leeren.
Bei Nutzung der Config Option „Bestellnummer Mapping: Produkt ID“ werden von Afterbuy importierte Artikel mit der Bestellnummer entsprechend der Afterbuy-ProduktId versehen. Diese ist eineindeutig. Alternativ haben Sie hier die Möglichkeit, als Bestellnummer die Afterbuy-Artikelnummer zu vergeben. Dies wird zu Problemen führen, wenn Artikelnummern doppelt oder gar nicht vergeben sind!
Die Installation von Plugins über den Pluginmanager wird hier beschrieben: https://docs.shopware.com/de/shopware-5-de/einstellungen/plugin-manager
Entpacken Sie das heruntergeladene Archiv und verschieben Sie dessen Inhalt in das Verzeichnis custom/plugins. Anschließend kann die Erweiterung wie gewohnt über den Plugin-Manager installiert werden.
Die Konfiguration ist sowohl über ein eigens bereitgestelltes Formular (empfohlen), sowie über die Pluginkonfiguration möglich.
Anders als das Formular im Pluginmanager bietet das von der Erweiterung bereitgestellte Formular die Möglichkeit, Verbindungsdaten direkt zu testen. Darüber hinaus wird nach dem Ändern der Konfiguration der Konfigurations-Cache unmittelbar gelöscht, damit die vorgenommenen Änderung direkt in Kraft treten können.
Die Zugangsdaten, mit denen Sie sich bei Afterbuy anmelden
Die Zugangsdaten für die bestellten Schnittstellen (Diese finden Sie in Ihrem Afterbuy-Konto unter Einstellungen → Tarif & Rechnung → Tarifinformationen im unteren Teil der Seite)
Eine schnelle Übersicht, welche Aktion bei der Einstellung des datenführenden Systems erlaubt ist, bietet folgende Tabelle:
Aktion/Modus | Shopware-Shop | Afterbuy |
---|---|---|
Artikelexport | Erlaubt | Nicht erlaubt |
Bestellimport | Erlaubt | Nicht erlaubt |
Bestellstatusexport | Erlaubt | Nicht erlaubt |
Artikelimport | Nicht erlaubt | Erlaubt |
Bestellexport | Nicht erlaubt | Erlaubt |
Bestellstatusimport | Nicht erlaubt | Erlaubt |
Diese Einstellung ist nur relevant, wenn Afterbuy das datenführende System ist.
Bei Nutzung der Option „Produkt ID“ werden von Afterbuy importierte Artikel mit der Bestellnummer entsprechend der Afterbuy-ProduktId versehen. Diese ist eineindeutig. Alternativ haben Sie hier die Möglichkeit, als Bestellnummer die Afterbuy-Artikelnummer zu vergeben. Dies wird zu Problemen führen, wenn Artikelnummern doppelt oder gar nicht vergeben sind!
Diese Einstellung ist nur relevant, wenn Afterbuy das datenführende System ist.
Hier kann eine Stammkategorie für den Import definiert werden (ab 0.9.6). Unterhalb dieser werden sämtliche importierte Kategorien abgelegt. Wird hier keine Kategorie definiert, erfolgt die Ablage unterhalb der Stammkategorie „Shopware“. Somit können auch Subshop-spezifische Kategorien mit dem Import übernommen werden.
Diese Einstellung ist nur relevant, wenn Shopware das datenführende System ist.
Standardmäßig werden alle Artikel an Afterbuy übermittelt. Wird diese Option deaktiviert, können einzelne Artikel in den jeweiligen Artikeleinstellungen explizit zum Export markiert werden.
Diese Einstellung ist nur relevant, wenn Shopware das datenführende System ist.
Definiert, welchem Shop Bestellungen beim Import aus Afterbuy zugeordnet werden.
Diese Einstellung ist nur relevant, wenn Shopware das datenführende System ist.
Definiert, mit welcher Versandart Bestellungen beim Import aus Afterbuy versehen werden.
Diese Einstellung ist nur relevant, wenn Shopware das datenführende System ist.
Definiert, welcher Kundengruppe Bestellungen beim Import aus Afterbuy zugeordnet werden.
Diese Einstellung ist nur relevant, wenn Shopware das datenführende System ist.
Hier können den standard Zahlungsarten von Afterbuy Zahlungsarten in Shopware zugewiesen werden, die beim Bestellimport gemappt werden sollen. Damit eine Zahlart hier auswählbar ist, muss sie vorher in Shopware angelegt worden sein.
Unter den Plugineinstellungen im Plugin Manager finden Sie diese Einstellung. Im Regelfall muss hier keine Einstellung vorgenommen werden.
Sie können hier einen Zeitversatz in Minuten eingeben. Dieser wird dann vom Zeitpunkt des letzten Orderimports abgezogen/hinzugefügt.
Dadurch können Bestellungen von Afterbuy importiert werden, die nach dem letzten Bestellimport erstellt wurden, aber ein Bestelldatum in der Vergangenheit haben. Die kann z. b. bei Amazon-Bestellungen passieren.
Es gibt 2 Möglichkeiten, die Cronjobs für automatisierte Synchronisationsaufgaben zu konfigurieren:
Hinweis: Sind die Shopware Cronjobs derart konfiguriert, dass sie über die Url (wie im Browser) aufgerufen werden, besteht die Gefahr, dass diese je nach Serverkonfiguration vorzeitig durch einen Timeout beendet werden. (Standardeinstellung sind hier 30s) Die einzelnen Aufgaben erfordern mitunter mehr Zeit. Es empfiehlt sich daher, diese so zu konfigurieren, dass sie direkt auf der Shell „abgearbeitet“ werden. Dies wird seitens Shopware hier beschrieben: https://docs.shopware.com/de/shopware-5-de/einstellungen/system-cronjobs#wie-starte-ich-einen-cronjob
Die grundsätzliche Konfiguration einzelner Cronjobs wird hier beschrieben: https://docs.shopware.com/de/shopware-5-de/einstellungen/system-cronjobs#konfiguration-in-shopware
Diese Erweiterung stellt 3 Cronjobs bereit, die je nach Konfiguration für das führende System entsprechende Aufgaben abarbeiten. Diese sind standardmäßig deaktiviert und müssen daher aktiviert und ggf. getimed. Dies erfolgt in den Shopware-Grundeinstellungen im Reiter Cronjobs.
Die von der Erweiterung bereitgestellten Cronjobs lauten:
Anmerkung
: Das Stock-Update steht nur für die Variante zur Verfügung, wenn Afterbuy das datenführende System ist. Sollte Shopware das datenführende System sein, wird der Bestand bei einem Produkt-Update aktualisiert.
Anmerkung
: Die Afterbuy-API ist je Abruf auf 250 Elemente limitiert. Sollte sich zeigen, dass beispielsweise Bestellungen schneller eintreffen, als dass diese Importiert werden, so muss der entsprechende Cronjob häufiger - also in geringeren Zeitabständen ausgeführt werden.
Anmerkung²
: Es besteht keine Abhängigkeit zwischen den Cronjobs. Sollen also lediglich Produkte oder Bestellungen übermittelt werden, muss nur der entsprechende Cronjob aktiviert werden.
Für fachkundige Anwender empfiehlt sich ggf. die Ausführung als Command in der Shell. Die Nutzung von CLI-Befehlen wird seitens Shopware hier beschrieben: https://docs.shopware.com/de/shopware-5-de/tutorials-und-faq/shopware-cli
Die bereitgestellten Commands lauten:
Anmerkung
: Das Stock-Update steht nur für die Variante zur Verfügung, wenn Afterbuy das datenführende System ist. Sollte Shopware das datenführende System sein, wird der Bestand bei einem Produkt-Update aktualisiert.
Diese Erweiterung nutzt den von Shopware bereitgestellten Logger mit dem jeweiligen Debug-Level. Unter „Einstellungen → Logfile“ kann dieses im Tab „System-Log“ aufgerufen werden.
Um das Debuglogging zu aktivieren, erweitern Sie bitte ihr Config.php im Shopware-Stammverzeichnis um folgenden Parameter:
'logger' => [ 'level' => 100, ],
Mittels „Einstellungen“ » „Afterbuy Connector“ » „Verbindungstest“ kann die Verbindung nach dem Speichern der Zugangsdaten getestet werden. Die Ausgabe erscheint als Shopware-Mitteilung und wird auch im Shopware-Log gespeichert.
Zusätzlich gibt es die Möglichkeit, den Verbindungstest aus dem Plugin eigenen Konfigurationsformular aufzurufen.
Als Identifyer für den Import aus Afterbuy wird die AfterbuyId verwendet, da nur diese zwangsläufig eineindeutig ist. Die interne Artikelnummer wird in ein neu angelegtes Shopware-Freitextfeld importiert, damit diese auf Rechnungen, in Emails und auch im Frontend nach Anpassung ausgegeben werden kann.
Die nur in Shopware verfügbare Grundeinheit wird stets mit dem Wert 1 importiert.
In der Konfiguration kann eine Stammkategorie definiert werden (ab 0.9.6). Unterhalb dieser werden sämtliche importierte Kategorien abgelegt. Wird hier keine Kategorie definiert, erfolgt die Ablage unterhalb der Stammkategorie „Shopware“. Somit können auch subshopspezifische Kategorien mit dem Import übernommen werden.
SET foreign_key_checks = 0; TRUNCATE `s_addon_premiums`; TRUNCATE `s_articles`; TRUNCATE `s_articles_also_bought_ro`; TRUNCATE `s_articles_attributes`; TRUNCATE `s_articles_avoid_customergroups`; TRUNCATE `s_articles_categories`; TRUNCATE `s_articles_categories_ro`; TRUNCATE `s_articles_categories_seo`; TRUNCATE `s_articles_details`; TRUNCATE `s_articles_downloads`; TRUNCATE `s_articles_downloads_attributes`; TRUNCATE `s_articles_esd`; TRUNCATE `s_articles_esd_attributes`; TRUNCATE `s_articles_esd_serials`; TRUNCATE `s_articles_img`; TRUNCATE `s_articles_img_attributes`; TRUNCATE `s_articles_information`; TRUNCATE `s_articles_information_attributes`; TRUNCATE `s_articles_notification`; TRUNCATE `s_articles_prices`; TRUNCATE `s_articles_prices_attributes`; TRUNCATE `s_articles_relationships`; TRUNCATE `s_articles_similar`; TRUNCATE `s_articles_similar_shown_ro`; TRUNCATE `s_articles_supplier`; TRUNCATE `s_articles_supplier_attributes`; TRUNCATE `s_articles_top_seller_ro`; TRUNCATE `s_articles_translations`; TRUNCATE `s_articles_vote`; TRUNCATE `s_article_configurator_dependencies`; TRUNCATE `s_article_configurator_groups`; TRUNCATE `s_article_configurator_options`; TRUNCATE `s_article_configurator_options_attributes`; TRUNCATE `s_article_configurator_option_relations`; TRUNCATE `s_article_configurator_price_variations`; TRUNCATE `s_article_configurator_sets`; TRUNCATE `s_article_configurator_set_group_relations`; TRUNCATE `s_article_configurator_set_option_relations`; TRUNCATE `s_article_configurator_templates`; TRUNCATE `s_article_configurator_templates_attributes`; TRUNCATE `s_article_configurator_template_prices`; TRUNCATE `s_article_configurator_template_prices_attributes`; TRUNCATE `s_article_img_mappings`; TRUNCATE `s_article_img_mapping_rules`; TRUNCATE `s_filter_articles`; SET foreign_key_checks = 1;
In einem Test mit rund 2500 Artikeln benötigte der initiale Import eben dieser mitsamt Bildern etwa 7h (der Großteil entfällt auf Download und Import der Artikelbilder) bei einem Speicherverbrauch von rund 470Mb. Bei künftigen Imports werden nur aktualisierte Artikel übermittelt, Ausführzeit und Speicherverbrauch sinken somit drastisch.
Daraus ergeben sich folgenden Empfehlungen:
Artikel
Kategorien
Bestellungen (Import nach Shopware)
Bestellstatus (Rückmeldung an Afterbuy)
Artikel
Kategorien
Bestellungen (Export nach Shopware)
Bestellstatus (Rückmeldung an Shop)
Artikel
Shopware | Afterbuy | Anmerkungen |
---|---|---|
Artikel-Bezeichnung | Name | |
Beschreibung | Beschreibung | |
Produkt-Id | Artikelnummer | Nur für Export relevant |
Artikelnummer | Externe Artikelnummer, Artikelnummer oder Produkt ID | Beim Import aus Afterbuy: ProduktID oder Artikelnummer Bei Export aus Shopware: Externe Artikelnummer |
Kategorien | Kataloge | |
Hauptbild | Bilder / Standardbilder | |
weitere Bilder | Bildgalerie | |
Hersteller | Marke/Hersteller | |
Preis | Verkaufspreis | Preis wird für in Plugineinstellungen definierte Kundengruppe bezogen |
Gewicht | Gewicht | |
Variantenoptionen | Neuer Artikel zugeordnet zu Produkt-Set Artikelname [Variantenoption 1] [Variantenoption 2] … | |
Lagerbestand | Afterbuy-Shop-Bestand | |
MwSt. | Umsatzsteuer | |
Attribute | Freifeld 1…10 | Nur für Import aus Afterbuy relevant. Freifelder müssen in der Afterbuy-Konfiguration aktiviert sein. |
Lager-Mindestbestand | Mindestbestand | Artikel in Shopware nach Unterschreitung weiterhin kaufbar, wird genutzt für Benachrichtigung bzgl. kritischem Bestand |
Herstellernummer | Herstellernummer |
Kategorien
Shopware | Afterbuy | Anmerkungen |
---|---|---|
Bezeichnung | Katalogname | |
Kategorietext | Zusatztext | |
Metadescription | Katalogbeschreibung |
Bestellungen
Shopware | Afterbuy | Anmerkungen |
---|---|---|
Bestellnummer | OrderId | Übermittlung an Afterbuy nicht möglich, da Afterbuy stets auf die eigene ID zurückgreift |
Betrag | Verkaufspreis | |
Bestelldatum | Verkaufsdatum | |
MwSt\. | Verkaufspreis MwSt\. | |
Zahlungsart | Zahlart | |
Bestellpositionen | siehe Bestellposition | |
Versandkosten | Versandkosten | |
Versandkosten MwSt\. | Wird in Afterbuy nicht explizit ausgewiesen | |
Versandstatus | Bezahlt \(Datum\) | |
Zahlungsstatus | Versanddatum | |
TransaktionsId | Beim Bestellexport erforderlich, wird in Afterbuy nicht ausgegeben | |
Rechnungsadresse | siehe Adresse | |
Lieferadresse | siehe Adresse | |
Kundennummer | Wird in Afterbuy nicht explizit ausgewiesen | |
Währung | Währung |
Bestellposition
Shopware | Afterbuy | Anmerkungen |
---|---|---|
Artikelbezeichnung | Artikelbezeichnung | |
Preis | Einzelpreis | |
Artikelnummer | Artikelnummer | |
Anzahl | Menge | |
MwSt\. | MwSt\. |
Adresse
Shopware | Afterbuy | Anmerkungen |
---|---|---|
Firma | Firma | |
Vorname | Vorname | |
Nachname | Nachnahme | |
E\-Mail | ||
Straße | Straße | |
zusätzliche Adresszeile | Straße \(Zeile 2\) | |
Postleitzahl | Postleitzahl | |
Stadt | Ort | |
Land | Land | |
Geburtsdatum | Geburtsdatum | |
Telefon | Telefon |
Bitte wenden Sie sich mit Support-Fragen direkt an: https://www.afterbuy.de/kundenservice/support-afterbuy-interessenten/