Aktionen

Mention®Connect - Mgento Schnittstelle

Aus mention Software GmbH WIKI

Version vom 11. Januar 2018, 10:31 Uhr von Jonas.Kuester (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „==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=…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

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 werden 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.
  • 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")
  • 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
  • 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.


Magento steuersatz zuordnung.png


Leider ist auf den ersten Blick das herausfinden des Steuersatzes nicht ganz so einfach, der nachfolgende Screenshot beschreibt die Vorgehensweise:


Magento steuersatz ermitteln.png


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:


Magento merkmale.png

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:


Datei:DefinierteMerkmale-Magento.PNG


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}...


DefinierteMerkmale.png


Der nachfolgende Screenshot zeigt einen Artikel dem 2 Merkmalgruppen über die 1. Kategorie zugeordnet wurde:


DefinierteMerkmaleMagentoMention.png

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.


MentionConnect magento attribut editor.png

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:


Magento einstellungen zuordnung versand und zahlarten.png


Artikelpreise VK 1-X

Der nachfolgende Screenshot veranschaulicht die Einstellungen innerhalb Magento und mention bzgl der Übertragung von weiteren Preisen.


Magento mention kundengruppen preise.png


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 einstellungs beispiel.png

Magento - SOAP Beispiel Einstellung

Nachfolgend ein Beispiel aus der Rechtevergabe eines Entwickler Shops



SOAP Einstellungen in Magento


Magento einstellung webservice soap.png


Magento SOAP Benutzer

Magento einstellung webservice users.png

Magento SOAP Rollen

Magento einstellung webservice roles.png

Magento SOAP Resources

Magento einstellung webservice role resources.png

Magento SOAP Resources Benutzer-Zuordnung

Magento einstellung webservice role users.png

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

   
      .
      .
      
   

Nach dem die Zeile eingefügt und gespeichert wurde muß der Magento Cache geleert werden


Gespeicherte Kollektionen im Backend

Magento kollektion beispiel.png