Dokumentation IntraSell Magento Schnittstelle: Unterschied zwischen den Versionen

Aus GRITON
Zur Navigation springen Zur Suche springen
Zeile 579: Zeile 579:
  
 
Der Status + Paketnummer wird bei jede Änderung an der Rechnung an Magento überleitet.
 
Der Status + Paketnummer wird bei jede Änderung an der Rechnung an Magento überleitet.
 +
 +
[[File:Der_Status_Paketnummer_.png|thumb|none|Der Status Paketnummer]]
 +
 +
Folgende Email wird dem Benutzer gesendet:

Version vom 24. Dezember 2015, 20:11 Uhr

Benutzerhandbuch

IntraSell Magento Schnittstelle

Autor: Grigor Tonkov

Datum: 03.09.2014 - 28.03.2015

Änderunge

26.01.2015 – Die Änderungen im Dokument sind gelb hinterlegt.

18.03.2015 – Aktualisierung Bild, Korrektur Pfad Dateiname Konfig Datei.



Installation

Das Schnistellenprogramm kannauf einem Windows Pc mit Zugang zur IntraSell Datenbank und Magento SOAP Interface eingerichtet werden. Optional benötig das Programm Verzeichnisse mit Bilder für den Export der Artikelstammdaten.

Da das Programm automatisch läuft empfielt sich die Installation am IntraSell DB Server.

Das Programm benötigt .NET 4 Laufzeitumgebung und MySQL Datenbank Komponenten.

Mit den Buttons „Connect to Magento” und „Connect to IntraSell” kann die Anbindung geprüft werden.


Bedienung der Schnittstelle

Folgendes Screnshot stellt die Hauptmaske desSchnittstellen Programms dar.

Pro Funktion = Schnittstelle is eine eigene Schaltfläche vorgesehen.

Manche Funktionen davon (Blaues Hintergrund) werden zusätzlich automatisch ausgeführt.

Bedienung der Schnittstelle

Vorbereitung in Magento

1. Stores anlegen

a. for 1-pros pro and 2-arfaian
i. in pros pro en und de
ii. in arfaian deu und eng
Vorbereitung_in_Magento

2. In Megento Admin Bereich customer groups anlegen mit Namen wie die Preislisten in IntraSell.

3. Artikel Attribut set namens „default“ anlegen wenn nicht vorhanden.

4. Für den Paketnummer Export, speziell für die Funktion salesOrderShipmentAddTrack wird ein carrier:="GLS" benötigt. In Magento muss in Menü System->Konfiguration->Lieferungsmethoden einVersender konfiguriert werden. (Bemerkung Grigor: ich weiss nicht wie das geht).

5. Lagerinfo product attribute anlegen.

Attribute Properties

6. SQL für Preise Aktualisieren in IntraSell

update grArtikel gr , `grartikel-vkpreisperselection` g set preisats = vkpreis, preisats_brutto=vkpreis*1.2 WHERE gr.artnr > 0 and idnr = -1 and PreislisteName like '1-%'and g.artnr = gr.artnr and stkab <= 1 and vkpreis is not null;

Intrasell -> Magento Export

Benutzer synchronisieren

Die IntraSell Kunden können mit dem Button „Is Kunden 2 Magento“ exportiert werden.

Es müssen alle vorhandenen Kundendaten an Magento weitergeleitet werden. Es erfolgt eine Email-Aussendung an alle Kunden in der über das neue Shopsystem informiert wird. Gleichzeitig erhält jeder Kunde ein neues, verschlüsseltes Kennwort. Die „Kundendaten Schnittstelle“ wird daher folgende Daten beinhalten:

IntraSell Magento Richtung
Kundennummer Customer_id Wird in magento neu vergeben
Anrede 2*
Titel 2
Firmenname Address.company 2
Nachname lastname 2
Vorname firstname 2
Adresse street 2
Land country_id 2 Mapping ?
PLZ postcode 2
Ort city 2
UID-Nummer,falls vorhanden taxvat
Telefonnummer Address.tel 2
Mobilnummer Kein Feld in Magento gefunden
Faxnummer Address.fax
Email Addresse Email 0
Passwort Password Das Programm setz ein zufälliges Passwort.

Wenn nicht notwendig muss auskommenitert werden.

Im Admin Bereich von Magenot kan ein neues Paswort für den Kunden gesetzt werden. Lt. Manuel werden alle Kunden ein neues Passwort automatisch bekommen.

Geburtsdatum,falls vorhanden
Mandant(Firma Arfaian =1/Firma Pros Pro=2) website_id Aktuell kann nur einen Mandant importiert werden. Prospro.

D.h der Kunde wird je mandant nur einer web site zugeordnet. z.Bsp. Kunden mit Mandant Prostpro werden der webseite Prospro zugeordnet.

Preisliste (derzeit 3 Preislisten aktiv: 1 = Endverbraucher / 2 = Großhandel / 4 = Exportkunden

Europa) –beliebig erweiterbar

Customer_group_id
Abweichende Lieferadresse, falls vorhanden (Firma, Nachname, Vorname, Adresse, Land, PLZ,

Ort, Telefonnummer, Email).

Address for shipping
Hinterlegte Zahlungskonditionen (falls zB auf Rechnung) offen
Kundengruppe - beliebig erweiterbar Ist bereits mit der Preisliste belegt.

0* - IntraSell->Magento

2* - Wird in beide Richtungen synchronisiert

Nachdem die Auftragsbearbeitung bzw. Rechnungsstellung in unserem Warenwirtschaftssystem erfolgt, ist fraglich, ob für Magento überhaupt die Kundengruppe von Bedeutung ist. Derzeit werden alle Onlinebestellungen einem Belegkreis, dem der Kundengruppe „Online“, zugeordnet.

Neukunden werden vorerst der Kundengruppe „Online“ eingegliedert – im Warenwirtschaftsprogramm erfolgt dann die richtige Zuordnung.

Bereits bestehende Kunden sind schon einer Kundengruppe eingegliedert – jedoch erfolgt die Belegnummerierung laut Belegkreis Online, sodass es zu keiner doppelten Erfassung von ein und derselben Belegnummer kommen kann.

Sonderpreise (Artikelgruppen)

TODO

Sonderpreise für individuelle Artikel für bestimmte Kunden – unabhängig der am Kundenkonto hinterlegten Preisliste. Derzeit liegt folgender Aufbau vor.

Artikel synchronisieren

Die „Artikeldaten Schnittstelle“ für die Übernahme / Anlage der Artikel:

Es werden nur Artikel mit namen, EAN und online status exportiert.

Für den Shop in English muss das Häckchen „export in english“ gesetzt werden.

IntraSell Magento Kommentar
Artikelnummer - EAN SKU Die EAN Nummer in Intrasell wird als SKU Nummer in Magento geführt.
Online-Kategorie categories {findISCatByID(ISArtikel.ArtKatNr)}

Nur eine Zuordnung in IS möglich, Erweiterung für mehrere denkbar.

Hersteller
Bezeichnung DE, EN, … magentoProduct.short_description English wenn „export in english“ gesetzt
Produktbeschreibung DE, EN, …

ISArtikel. Beschreibung

description English wenn „export in english“ gesetzt
htmlinfo.description meta_description
htmlinfo.keywords meta_keyword
Lagerinfo/Bezeichnung1 Attribut.lageringo Achtung: „lageringo“ muss als attribut zu jedem Produkt konfiguriert werden.
Flag „nicht bestellbar“ Attribut.bestellbar
Achtung: „bestellbar“ muss als attribut zu jedem Produkt konfiguriert werden.

Folgende Logik wurde implemenitert:

'Intrasell: wenn Bez1/Lagerinfo = Lagernd &
'nicht bestellbar = deaktiviert
'dann ->Magento: Bestellbar: Auf Lager
'Intrasell: wenn Bez1/Lagerinfo ≠ Lagernd (alles außer Lagernd – egal welcher Parameter im Feld steht) &
'nicht bestellbar = deaktiviert
'dann ->Magento: Bestellbar: Bestellbar
'Intrasell: wenn Bez1/Lagerinfo = x (also egal welcher Parameter im Feld steht) &
'nicht bestellbar = aktiviert
'dann ->Magento: Bestellbar: nicht auf Lager
Gewicht weight 1 KG wenn nicht in IntraSell gesetzt
Preislisten sowie Staffelpreise
Bruttogewicht
Spezifikation (zB Griffstärke, Farbe, etc) Offen – weil keine Spezifikation in IntraSell vorhanden
productImage Picture Bild 1 – Pfad muss in der Konfiguration eingestellt werden,

wenn pfad nicht konfiguriert wird auch nicht exportiert.

productImageLarge Picture Bild 1 - Pfad muss in der Konfiguration eingestellt werden
Bezeichnung Picture.Label Label für das Bild.
ProduktAktivOnline Status Feld ProduktAktivOnline steuer das Feld Status in Magento.
ProduktAktiv Feld ProduktAktiv steuert ob Synchronisierung mit Magento druchgeführt wird.
shop Offen – Shop Zuordnung
status My.MySettings.Default.Magento_product_status
tax_class_id My.MySettings.Default.Magento_product_tax_class_id
visibility My.MySettings.Default.Magento_product_visibility 'catalog and search.
VKPreisPerSelection groupprices Mit der Funktion exportGroupPrices(ISArtikel.ArtNr, found(0).product_id)

Für die laufende Aktualisierung der Lagerstände wird eine eigene Schnittstelle generiert, die in regelmäßigen Abständen in den Magento Shop importiert wird. Diese beinhaltet: Artikelnummer Lagerbestand (welcher im Onlineshop nicht numerisch sondern als „Lagernd“ angezeigt wird).

Andere Statusanzeigen wie „lieferbar ab …“ oder „auf Anfrage“, etc müssen hinterlegt werden können (beliebig erweiterbar)

Bilder

Es werden die productimages und productImagesLarge aus dem aktuellen IntraSell WebShop exportert. Siehe bitte die Programmeinstellungen in #Konfiguration.

Bilder aktualisieren

Bestehende, bereits importierte Bilder können ersetzt werden.

Dafür beide CheckBoxen export pics und delete pics selektieren.

Bilder aktualisieren

Relevante log Eintragungen

23.08.2015 11:34:52: 7 ExportProducts: Close magento

23.08.2015 11:34:50: 7 ExportProducts: Update image for ArtNr=10008 and filename=c:\Intrasell\IntraSell_WebShop_2013\WebShop_2008\productImages_jpg\10008.jpg

23.08.2015 11:34:49: 7 ExportProducts: load image for ArtNr=10008 and filename=c:\Intrasell\IntraSell_WebShop_2013\WebShop_2008\productImages_jpg\10008.jpg

Preise

Preisänderungen – werden mit dem Artikel Update nach Magento exportiert

Achtung: die Preisgruppen in IntraSell sollten die gleiche Bezeichnung tragen wie die CustomerGroups in Magento.

Lagerstand synchronisierene

Der Lagerstand wird mit dem Button „IS Lagerstand 2 Magento“ bzw. einmal täglich synchronisiert.

Es wird die Magento Funktion „catalogInventoryStockItemUpdate“ verwendet.

Da es in Magento keine eigene Lagerorte existieren wird die Summe alle Lagerorte in intraSell exportiert.

Manuel, wird am 29.09 Anweisung senden was genau zu exportieren ist. Es ist aber nicht die Stückzahl.

Events

Änderungen (Update, Insert) in Tabellen grArtikel, Preise, ofAdressen, buchRechnung bewirken einige Minuten Später Export nach Magento. Somit ist ein Batch Export der gesamten Tabellen nicht mehr notwendig.

Auftragsbestätigung und Lieferschein Export

Der Auftragsstatus wird mit dem Button „Is Auftragstatus 2 Magento“ bzw. einmal täglich synchronisiert.

IntraSell Magento Kommentar
buchAuftrag.Status status Auftragstatus
buchAuftrag.Notiz notiz
notify:=True Der Kunde wird notifiziert
Falls eine Rechnung existiert
Eigebschaft Paketnummer salesOrderShipmentAddTrack( sessionId:=magento.sessionid, shipmentIncrementId:=shipmentIncrementId, carrier:="GLS",       title:="GLS Paketnummer", trackNumber:=orderPaketnummer) Noch nicht fertig

Die Lieferscheine und Tracking Nummer werden exportiert.

Rechnung Export als PDF

Die Rechung (Wunsch als PDF) + Paketnummer wird exportiert,

Die Rechnung hat eine Eigenschaft „Paketnummer“, diese wird mit dem Sub Progrmam GLS Export einmal täglich von GLS bereitgestellt und in IntraSell importiert.

Ablauf: Sobald die Rechnung fertig ist sollte ein PDF Export gestartet werden. Intrasell: Rechnung Ansicht: Funktion „PDF Export“. Das Program PDFCreator ist so eingestlellt so dass die Rechnung als PDFdirekt gespeichert werden.

Einstellungen für PDFCreator siehe Screenshot:

PDF Creator

Die Rechung wird in Verzeichnis c:\tmp\AR[Nummer].pdf als PDF gespeichert. Das Vereichnis kann in den IntraSell Einstellungen geändet werden. Achtung: auch in PDFCreator korrekt einstellen!

Die PDF Rechnung werden einmal täglich per FTP am Server von Magento übertragen. Die aktuelle Serveradresse lautet:

Server: http://prospro-tennisversand.com
User: rechnungen 
Passwort: %ocbFzpLme@q

Neu seit 15.08.2015

Server:http://ftp.prospro-tennisversand.com
Benutzer: prosprotennis
Passwort: T58hi0jVz6

Der Pfad liegt wie gesagt außerhalb des Webverzeichnisses. Der Download wird über ein Modul realisiert, das vorab die Berechtigungen prüft.

Magento->IntraSell Import

Neue Kundendaten

Kunden können mit dem button „Magento 2 ISKunden“ importiert werden. Es werden nur Kunden seite dem im Feld „since“ festgelegtem Datum importier.

Kunden Datensatz wird mit dem Import von Bestellungen durchgeführt. Siehe Punkt Bestellungen.

Ändegung 12.04.2015:Änderungen im Kundendatensatz oder Leiferadresse werden auch in IntraSell eingespielt. Felder sind ähnlich wie die Felder in der Schnittstelle IS->Magento

Neue Bestellungen

Normale Bestellung

Die Bestellungen werden mit dem Button „Magento 2 IS Order“ importiert, bzw. Nach einem einstellbaren intervall.

Mit der Bestellung wird auch der Kundendatensatz angelegt falls noch nicht vorhanden


IntraSell Magento Kommentar
Status Order.state
MandantNr Order.store_name Programmeinstellung wenn nicht vorhanden
Nummer order.increment_id
Datum order.created_at
Bezahlt 0
Ausgedruckt 0
Abgeschlossen 0
KundNr orderDetails.customer_email Wird aus der IntraSell ofADressen Tabelle ausgesucht
KundNr2 Wenn abweichende Lieferadresse
Summe orderDetails.subtotal
SummeMWST orderDetails.tax_amount
SummeBrutto orderDetails.subtotal+ orderDetails.tax_amount
Notiz orderDetails.customer_note_notify
ZahlungsMethode orderDetails.payment.method in Mappings kann an IS angepasst werden. zBsp: checkmo=Vorkasse;
TransportMethode orderDetails.shipping_description
Positionen
RechNr
ArtNr SKI2ArtNr(item.sku)
Bezeichnung prod.name
Stk item.qty_ordered
PreisATS item.base_price
PreisATS_Brutto item.price

Beispiel Bestellung aus Magento


Beispiel Bestellung aus Magento

Set Artikel (Sonderfall)

Automatishes Export

Aufgabe Intervall
Magento Neue Bestellungen -> IntraSell und Magento Neue Kunden -> IntraSell 300 Sek. Alle 60 Sekunden wird geprüft ob Bestellungen vorhanden sind und nach IntraSell importiert. Änderungen in Tabelle buchRechnung und ofAdresse triggern die Überleitung an Magento. Die Überleitung wird je 300 Sek. Als Batch Job ausgeführt.
IntraSell Lagestatus -> Magento 2 Std. analog
IntraSell Bestellstatus->Magento 1 Std. analog

IntraSell Bestellstatus->Magento

Die Rechnung (die vom Auftrag konvertiert wurde) trägt die Paketnummer .

Der Status + Paketnummer wird bei jede Änderung an der Rechnung an Magento überleitet.

Der Status Paketnummer

Folgende Email wird dem Benutzer gesendet: