Mention®Connect - Magento Schnittstelle: Unterschied zwischen den Versionen
Aus mention Software GmbH WIKI
Zeile 7: | Zeile 7: | ||
===Artikel Upload=== | ===Artikel Upload=== | ||
− | Derzeit | + | Derzeit können ausschließlich normale Artikel, Gruppenartikel und auch Kollektionen übertragen werden |
* Upload von Kollektionsartikeln. Zu Beachten hierbei: | * Upload von Kollektionsartikeln. Zu Beachten hierbei: | ||
Zeile 60: | Zeile 60: | ||
'''Hinweis:''' In Magento ist die SKU Unique, sollte sich bereits ein Artikel in Magento befinden der noch nicht mit der Schnittstelle übertragen wurde, wird die Schnittstelle diesen Artikel nicht übertragen. Wird es aber dennoch immer weiter versuchen. Dieses Problem verursacht die folgende Fehlermeldung im Error Log'Artikel:buch Fehler:The value of attribute "SKU" must be unique'. Man könnte dieses Problem lösen indem die externe ID in der Tabelle MerExtStamm nachgetragen wird. | '''Hinweis:''' In Magento ist die SKU Unique, sollte sich bereits ein Artikel in Magento befinden der noch nicht mit der Schnittstelle übertragen wurde, wird die Schnittstelle diesen Artikel nicht übertragen. Wird es aber dennoch immer weiter versuchen. Dieses Problem verursacht die folgende Fehlermeldung im Error Log'Artikel:buch Fehler:The value of attribute "SKU" must be unique'. Man könnte dieses Problem lösen indem die externe ID in der Tabelle MerExtStamm nachgetragen wird. | ||
− | |||
===Kategorie Upload=== | ===Kategorie Upload=== |
Version vom 9. Februar 2018, 13:54 Uhr
Inhaltsverzeichnis
Funktionen
Die Schnittstelle wurde mit den folgenden Magento Versionen getestet:
- magento-1.9.1.0
- magento-1.9.1.1
- magento-1.9.2.1
Artikel Upload
Derzeit können ausschließlich normale Artikel, Gruppenartikel und auch Kollektionen übertragen werden
- Upload von Kollektionsartikeln. Zu Beachten hierbei:
- dass hinterlegte Merkmale als Attribute Sets bei Kollektionen und Kollektionskomponenten ignoriert werden.
- dass der jeweils höchste Preis der Kollektionskomponenten als Kollektionspreis verwendet wird. Wenn die Preise der jeweiligen Kollektionskomponente verwendet werden sollen, muss das über ein gesondertes Plugin gelöst werden.
http://www.magentocommerce.com/magento-connect/simple-configurable-products.html erwies sich hierbei als untauglich. Kollektionen wurden im Frontend nach einem Update der Kollektion nicht mehr angezeigt und der Shop Index ließ sich nicht mehr erstellen. Fraglich ob folgendes kostenpflichtige Plugin einen besseren Dienst erfüllt http://www.best4mage.de/configurable-products-use-simple-price
siehe auch gespeicherte Kollektion im magento Backend
- Den Lagerbestand des jeweils im Account hinterlegte Lagers
- Optional können noch folgende Einstellungen berücksichtigt werden
- Best. Online verwenden
- Ist diese Option Aktiv, so wird der Online Bestand des jeweiligen Lagers verwenden, hierbei werden die nachfolgenden Einstellungen nicht mehr berücksichtigt.
- Bestand zuzüglich Bestellte
- Zu dem Lagerbestand wird die Anzahl der Bestellten Artikel hinzu addiert.
- Bestand abzüglich in Nachbearbeitung
- zu dem ermittelten Bestand werden die Anzahl der Artikel die sich in der Nachbearbeitung befinden agbezogen.
- Sperrbestand Berücksichtigen
- Sollte der Bestand unterhalb des Sperrbestandes sein, so wird der Bestand mit einer Menge NULL übertragen.
- Best. Online verwenden
- Optional können noch folgende Einstellungen berücksichtigt werden
- Preis X als Std Preis.
- HINWEIS Stammdaten Rabatte werden nicht berücksichtigt,
- Nicht fixe Preise berücksichtigen. Hierbei werden folgende Konstellationen berücksichtigt:
- Handelskalkulation / Kalkulationszuschlag
- Errechnung der VK-Preise aus EK-Preis 2
- Errechnung der VK-Preise aus EK-Preis 3
- Berücksichtigung von Kategorie zuschlägen (Voreinstellungen - Mandanten - Voreinstellungen Preise - Prozentsätze zu Kategorien zur Errechnung von VK-Preisen)
- Prozentsatz aus Voreinstellungen - Preise (Parameter je Preis)
- Priorität:
- :1. Stammdaten Artikel - fixierte Werte netto, brutto oder kalkulatorisch
- :2. Stammdaten Artikel - Formel (Wenn in Voreinstellungen - Preise (Parameter je Preis) eine Formel hinterlegt wurde)
- :3. Kalkulation aus Artikelkategorie 1 - lfd. Nr. = 0
- :4. Kalkulation aus Voreinstellungen (Prozentsatz in Voreinstellungen - Preise (Parameter je Preis) Allgemein "Artikel")
- Priorität:
- Steuersätze können im Vorfeld definiert werden (Magento spezifisch)
- Weitere Preise nur in Verbindung eine API Plugins innerhalb magento http://daten.mention.de/versionen/tools/connect/MentionMagentoSoapPlugin.zip
- Sollte während des Uploads die Fehlermeldung 'Procedure 'mentionProductPriceGroupUpdate' not present' erscheinen, so deutet es darauf hin, dass das mention magento Plugin (http://daten.mention.de/versionen/tools/connect/MentionMagentoSoapPlugin.zip) nicht ordnungsgemäß installiert wurde.
- Artikelbeschreibungen und Kurzbeschreibungen, Artikelnummer (SKU)
- Artikelbeschreibungen werden so wie hinterlegt übertragen - Es werden keine HTML Zeichen hinzugefügt
- Metabeschreibungen
- Meta Title, Meta Keywords, Meta Description (Std - Artikel - Reiter Online)
- Artikelbilder
- Artikelbild 1-3 (Std - Artikel - Reiter Katalog)
- Artikel Online-Status (Std - Artikel - Reiter Online Mandantenunabhängiges Kennzeichen)
- Nicht definierte Artikel-Merkmale (mention Std - Artikel - Reiter Katalog)
- Definierte Merkmale - In Magento wird die Zuweisungen Merkmalgruppe zu Kategorie als Set übertragen. Den jeweiligen Sets dann die enthaltenen Merkmalgruppen und den dann die Merkmale als Attribute. Es ist darauf zu achten, dass Artikel der Kategorie zugeordnet sind die auch die zuweisung beinhalten.
- Die Möglichkeit mehrere Sprachen zu übertragen. Die Voraussetzung hierfür ist, dass es ein StoreView für die Sprache angelegt ist. Der eindeutige Code des StoreViews muss das Sprachkennzeichen beinhalten.
- Behandlung Artikelname / Artikelbeschreibung (Konvention) Stammdarten - Katalog hat Vorrang zu Stammdaten Benennung / Erweitert Benennung
- Zubehör Zuordnungen übertragen.
- Magento UpSell = mention Zubehörkennzeichen 'alternativ'
- Magento CrossSell = mention Zubehörtkennzeichen alle außer 'alternativ'
- Einstellung für die Übetragung von Artikelbildern. In Magento können jeweils 3 Bilder gespeichert werden. Es kann ein Vorschaulbild, Kleines Bild und auch das Basis Bild zugeordnet werden. Wenn das Vorschaubild oder das kleine Bild nicht vorhanden ist, wird die Zuweisung auf das Basisbild vorgenommen.
Hinweis: In Magento ist die SKU Unique, sollte sich bereits ein Artikel in Magento befinden der noch nicht mit der Schnittstelle übertragen wurde, wird die Schnittstelle diesen Artikel nicht übertragen. Wird es aber dennoch immer weiter versuchen. Dieses Problem verursacht die folgende Fehlermeldung im Error Log'Artikel:buch Fehler:The value of attribute "SKU" must be unique'. Man könnte dieses Problem lösen indem die externe ID in der Tabelle MerExtStamm nachgetragen wird.
Kategorie Upload
Der Upload ist derzeit auf Kategorie 1 (Kategrorie 2 erst ab wws v2015.1) beschränkt
- Kategorie Bezeichnung
- Kategorie Beschreibung (Kategorie - Kurzbeschreibung)
- Meta Daten:
- Meta-Keywords, Meta-Title, Meta-Description
- Verwendung von Kategorie 2, Voraussetzung hierfür ist ein WWS >= v2015.1 (xsatzid muss in Kategorie2 Tabelle enthalten sein)
Bestellungen
- Import von Kunden (Rechnung) Name, Vorname (Kunde Name2 Vornname + Nachname), Straße, PLZ, Ort, Email-Adresse (Ansprechpartner), Anrede
- Kundenpreiskennzeich, Zahlungsbedingung.
- Import von Versandadressen Name, Vorname (Versandadress Name2 Vorname + Nachname), Straße, PLZ, Ort.
- Import von Belegen (Bestellungen) Versandart als Brutto Betrag.
- Berücksichtigung von GEMA-Gebühren.
- Zusatztextbeleg (bestkk.bstext) kann als Konstante übernommen werden und kann unter Account-Einstellungen hinterlegt werden.
- Rechnungsanschrift: Wenn Firma (Billing) nicht leer dann wird Vorname und Nachname im Ansprechpartner des Kunden gespeichert, Kunde Name2 ist in dem Fall der Firmenname.
- Lieferanschrift: Firma (Shipping) nicht leer, dann wird zu der Lieferadresse ein Ansprechpartner angelegt. In Name2 der Lieferadresse wird die Firma und Name2 des Ansprechpartners wird der Vor- und Nachname gespeichert.
- Speicherung der Telefonnummer beim Ansprechpartner
- Import von Bundle Artikeln die in Magento manuell erstellt wurden
Upload Paketnummern / Zahlungseingang
- Paketnummern auf Basis von Sonstigen Spediteuren werden exportiert und eine ShipmentID in Magento erzeugt.
- Tracking-Nummern werden hinterlegt zu den jeweiligen Spedituer werden hinterlegt.
- Das Mapping erfolgt über:trans-o-flex, German Parcel, UPS sowie alle anderen die in Magento als Spedituer hinterlegt und in mention entsprechend benannt wurden.
- Zahlungseingänge werden bei Rechnungsstellung und vollständiger Bezahlung des Rechnungsbetrages übertragen.
Kundenupload
Der Kunde muss wie folgt gespeichert werden, die Nachfolgende Auflistung ist Obligatorsch wenn nicht als Optional gekennzeichnet ist:
- EmailAdresse des Ansprechpartners.
- Onlinekennzeichen muss vorhanden sein.
- SD Kunde Name2 = Vor- + " " + Nachname ODER Name2 Ansprechpartner Name2 = Vor- + " " + Nachname. Gleiches gilt für die Versandanschriften.
- Strasse
- PLZ
- Land (in Magento muss der ISO 2 code vorhanden sein)
- Ort
- Telefonnummer muss hinterlegt sein.
- VK Preis (muss in Magento hinterlegt sein)
- Prefix (Anrede)
Optional:
- USTID beim Kunden direkt.
- Sofern kein Passwort im beim Ansprechpartner gespeichert wurde, wird eines generiert - gespeichert und nach magento übertragen. Nachdem der Kunde das erste mal übertragen wurde, wird das Passwort nicht mehr berücksichtigt.
Anmerkungen:
- Die USTID für die Adresse ist seitens des Magento Backends vorgesehen - kann aber nicht über die magento Soap-Schnittstelle übermittelt werden.
- Der VK Preis wird der Kundengruppe im Shop zugeordnet sofern diese existiert. Leider gibt es keine Option die Magento Kunden-Gruppe Programmatisch anzulegen.
- Änderungen werden nur aus der Bearbeitung von Stammdaten Kunden ermittelt. Sollte etwas unter Stammdaten Adressen editiert werden, wird aufgrund der fehlenden Aktualisierung des Zeitstempels im Adress datensatz keine Änderungen gefunden.
- Email Adressen müssen eindeutig sein. Sollte eine Email-Adresse unter mehreren Ansprechpartnern exitieren, so wird dieser Datensatz nicht berücksichtigt. Siehe hierzu auch doppelte EmailAdressen finden
- Der Kundenupload muss innerhalb des Magento Accounts aktiviert werden.
HOWTOs
Handling von Steuersätzen
Magento bietet leider keinerlei Möglichkeit, die im Shop befindlichen Steuersätze abzurufen. Sollte ein Artikel erstmalig mit einem nicht zugeordneten Steuersatz übertragen werden, wird die interne mentionID gespeichert, sodass diese dann in den Account Einstellungen eingestellt werden muss.
Leider ist auf den ersten Blick das herausfinden des Steuersatzes nicht ganz so einfach, der nachfolgende Screenshot beschreibt die Vorgehensweise:
Funktionsweise von Artikelmerkmale (nicht definierte)
Für die Übertragung von Artikelmerkmalen ist es erforderlich, dass das jeweilige Merkmalkennzeichen sich bereits konfiguriert im Shop befindet. Hierbei ist eine folgende besondere Namenkonvention im Artikel zu beachten:
- Der Attribute Code muss mit dem Merkmal übereinstimmen.
- Sollte eine Mehrfachauswahl gewünscht sein, so müssen die Werte Semikolon getrennt im Merkmal Wert eingetragen sein.
- Alle Merkmale und Merkmalwerte sofern es sich um keinen einfachen Freitext handelt, müssen im Magento-Shop bereits hinterlegt sein.
Siehe hierzu folgenden Screenshot:
Funktionsweise von Artikelmerkmale (definierte)
In Magento können Artikel bei der Anlage bestimmten Attribut Sets zugeordnet werden. In mention wird hierfür Kategorie 1 mit den zugordeneten Merkmalgruppen verwendet.
Einstellungen Artikelmerkmale (definierte)
Es werden die folgenden Attribut Datentypen in Magento (frontend_input) zugewiesen:
- multiselect (Wenn in dem Merkmal der Haken bei Mehrfachauswahl gesetzt wurde)
- select (Werte in der Merhfachauswahl sind vorhanden)
- text (Datentyp C oder N)
- date (Datentyp D)
- textarea (Datentyp M)
Wenn das Merkmal nicht vorhanden ist, wird es mit den folgenden std Werten initialisiert:
Im Nachhinein nicht veränderbare Attribute-Eigenschaften können mit eine bestimmten Zeichenfolge {1,1,1} überschrieben / gesetzt werden. Hierzu ist es erforderlich beim Merkmal in dem Feld Mehrfachauswahhl diese Zeichenfolge zu hinterlegen. Das vorangegangene Beispiel setzt zum Beispiel folgende Attribut Eigenschaften:
- is_filterable = 1
- is_filterable_in_search = 1
- used_for_sort_by = 1
Soll nur der erste Wert (is_filterable) gesetzt werden so kann das mit {1} übertragen werden, für den darauffolgenden is_filterable_in_search) dann {1,1}...
Der nachfolgende Screenshot zeigt einen Artikel dem 2 Merkmalgruppen über die 1. Kategorie zugeordnet wurde:
Attribut Editor
Erweiterte Attribut Einstellungen können über die Magento Einstellungen mittels des Attribut Editors geändert werden. Änderungen werden automatisch erkannt. Bitte beachten: Die Einstellungen befinden sich innerhalb des Programmverzeichnisses und können unter Umständen schreibgeschützt sein.
Einstellungen des Attributes befinden sich innerhalb einer XML Datei:
"Programmverzeichnis\Settings\Magento\attribute_code.afl250.xml"
Handling von Bestellungen
Es werden alle neuen Bestellungen aus dem Magento Shop importiert, hierbei ist es erstmalig nicht bekannt, welche Zahlungsbedingung und welche Versandart aus Magento zu den mention Zahlungsbedingungen und Versandarten zugeordnet werden sollen. Sollte eine nicht zugeordnete Versandart oder Zahlungsbedingung beim Bestellimport in das System einfließen, so werden die externe IDs gespeichert die dann in den Einstellungen zu einer in mention zugeordnet werden können.
siehe hierzu nachfolgenden Screenshot:
Artikelpreise VK 1-X
Der nachfolgende Screenshot veranschaulicht die Einstellungen innerhalb Magento und mention bzgl der Übertragung von weiteren Preisen.
Kundenupload - Doppelte EmailAdressen finden
Über den nachfolgemden Befehl kann man ermitteln welche E-Mail Adressen doppelt in mention gespeichert sind.
declare @mandant int, @mandantKunde int, @mandantISO2Code char(2); set @mandant = 1; select @mandantKunde = FMWWMANKUN from FIMAND with(nolock) left join ADRESSEN with(nolock) on FIMAND.FMADNUMMER = ADRESSEN.ADNUMMER left join KOLANDKZ with(nolock) on ADRESSEN.ADLANDKZ = KOLANDKZ.LKZLANDKZ where FMMANKEY = @mandant select * from ( select ADRESSPA.PALFDNR as AnsprechpartnerLfdnr, KUNDEN.KDNUMMER as Kundennummer, ( select COUNT(*) from ADRESSPA as paCnt with(nolock) where ADRESSPA.PAEMAIL = paCnt.PAEMAIL ) as AnzahlEmailAddressAdressen, ADRESSEN.ADNUMMER as AddressID, ADRESSPA.PAEMAIL as EmailAdresse, ADRESSEN.ADNAME1 as Name1, ADRESSEN.ADNAME2 as Name2, ADRESSEN.ADNAME3 as Name3, ADRESSPA.PANAME1 as AnsprechpartnerName1, ADRESSPA.PANAME2 as AnsprechpartnerName2, ADRESSPA.PANAME3 as AnsprechpartnerName3 FROM ADRESSPA with(nolock) INNER JOIN ADRESSEN with(nolock) on ADRESSPA.PANUMMER = ADRESSEN.ADNUMMER and ADRESSEN.ADSTRASSE <> '' INNER JOIN KUNDEN with(nolock) on KUNDEN.KDADNUMMER = ADRESSEN.ADNUMMER and KUNDEN.KDMANKEY = @mandantKunde WHERE ADRESSPA.PAOAKTIV = 1 and ADRESSPA.PAEMAIL <> '' ) as xxx where AnzahlEmailAddressAdressen > 1 order by EmailAdresse
Anhang
Ein Einstellungsbeispiel
Magento - SOAP Beispiel Einstellung
Nachfolgend ein Beispiel aus der Rechtevergabe eines Entwickler Shops
SOAP Einstellungen in Magento
Magento SOAP Benutzer
Magento SOAP Rollen
Magento SOAP Resources
Magento SOAP Resources Benutzer-Zuordnung
Die UmsatzsteurID wird nicht gespeichert
In Magento scheint es nicht vorgesehen zu sein, dass die UmsatzsteuerID für die Versandadresse und Rechnungsadresse übertragen wird. Sollte es gewünscht sein, muss seitens Magento etwas an der WSDL-Definition geändert werden. Die betreffende Datei befindet sich in dem Verzeichnis: magento-shop\app\code\core\Mage\Sales\etc\wsdl.xml
Hiebei muss eine neue Zeile in dem Bereich salesOrderAddressEntity hinzugefügt werden
<complexType name="salesOrderAddressEntity"> <all> . . <element name="vat_id" type="xsd:string" minOccurs="0"/> </all> </complexType>
Nach dem die Zeile eingefügt und gespeichert wurde muß der Magento Cache geleert werden