Bedienungsanleitungen
Übersicht
Das ausführende System ist das Pixi* Control Center. Von dieser Applikation aus werden die Import- und Export-Requests versendet. Diese Requests und auch die Antworten des Pixi* Connector Magento Moduls können im Pixi* Control Center ausgelesen werden.
Die Requests sind im XML-Format standardisiert und können zu Testzwecken direkt in einer Browser-Adresszeile eingegeben werden. Test sind auch mit Applikationen z. B. Postman oder Insomnia möglich.
Jedem Request vom Pixi* Control Center geht ein Login- bzw. Authorisierungsrequest voraus, um eine sichere Kommunikation der
beiden System zu ermöglichen.
Um die Antworten von Magento zu testen, sollte zeitweise die Modul-Umgebung
in der
Konfiguration
auf Development
oder Development – keine Datenbankänderungen
gestellt werden.
Bei der Umstellung auf eine Entwicklungsumgebung wird keine Sicherheitsabfrage seitens Magento gemacht. |
Auch ist für Testzwecke die
Konfiguration
des Erweiterten Logging
zu empfehlen, da hier jeder Request und jede Antwort
protokolliert werden.
Da hier ggf. sehr viele Daten protokolliert werden, empfehlen wir nur eine zeitweise Aktivierung des Logging oder die Verwendung eines Log-Rotates. |
Prozessabläufe
Hier sind die Prozessabläufe des Pixi* Connector Magento Moduls visualisiert.
Produkt-Export
Da Magento das produktführende System ist, werden Produkt-Daten und Attribute von Magento für Pixi* verwendet. Der Abgleich findet in einem definierten Turnus statt. Dies kann im Pixi* Control Center konfiguriert werden.
Bitte wenden Sie sich dazu an Descartes/Pixi* oder prüfen Sie die Dokumentation
Filterung der Produkte für den Export
Es werden alle Produkte des Magento-Shops für den Export in Betracht gezogen. Da wie erwähnt Magento das produktführende System ist und die Produktdaten auf globaler Ebene gehalten werden, werden alle Produkt-Informationen exportiert.
Es findet keine Filterung der Produkte aufgrund ihrer Website-Zuordnung statt. |
Für die Filterung der Produkte für Export werden die Attribute pixi_export_status
, pixi_export_date
und pixi_export_price
genutzt,
um die Produkte für den Export zu identifizieren.
Mit der optionalen Übergabe von StoreID- oder StoreCode-Parametern im Request können nun gezielt Produkte welchem dem angefragten Store zugewiesen sind exportiert werden. Der Funktionsablauf ist gleich dem Standard-Produkt-Export. Es wird jedoch anhand des Parameters zusätzliche gefiltert, welche Produkte exportiert werden sollen.
Anwendungsfall: Standard-Produkt-Export
In dieser kurzen Beschreibung wird erklärt, wie ein Standard-Produkt-Export von Magento ausgeführt wird.
-
Bitte prüfen Sie zunächst, ob die Konfiguration des Produkt-Exports gesetzt ist.
-
Es werden nur Produkte an Pixi* übermittelt, welche noch nicht exportiert oder die seit dem letzten Export aktualisiert wurden.
Für den Export von Magento zu Pixi* werden maximal 250 Produkte ermittelt und übersendet.
-
Lösen Sie den Produkt-Export aus.
-
Dies passiert wie beschrieben durch den konfigurierten Turnus in pixi*.
-
Alternativ können Sie den Request testen.
-
dazu das Attribute Environment auf
Development
stellen. -
und folgenden Request-Text in eine Browser-Adresszeile eingeben:
https://magento242commerce.test/pixi/api/exportCatalog?sid=test
-
-
-
Nach dem Export werden die Produkte als exportiert markiert
-
Der Pixi-Export-Status wird auf
1
gesetzt. -
Es wird das Pixi-Export-Datum gemäß dem Zeitpunkt des Exports gesetzt.
-
Folgende Daten sind in der XML-Antwort zu finden (BMEcat)
-
Im Header-Bereich sind alle Store- bzw. Shop-Informationen enthalten, wenn diese gepflegt wurden.
-
Die
SUPPLIER_AID
in den Artikeldaten entspricht dem konfigurierten Produkt-Identifikator. -
Die Artikeldetails werden aus den Standard-Daten versorgt. Wenn ein EAN-Attribut konfiguriert ist, so wird dieses ebenfalls exportiert.
-
In den Artikelfeatures sind folgende Daten standardmäßig enthalten:
-
Der Status des Produkts (aktiv/deaktiviert)
-
Name des Herstellers, wenn beim Produkt gepflegt. Standard-Konfiguration ist hier das Magento-Attribut
manufacturer
-
Die Steuerklasse des Produkts
Ist keine Steuerklasse für die Pixi-Steuerklassen hinterlegt, so wird
MwSt_High
übermittelt.
-
-
Unter der Mime-Information werden die Bilder des Produkts übergeben
Dies kann per Konfiguration deaktiviert werden.
-
<?xml version="1.0"?> <BMECAT version="1.2"> <HEADER> <GENERATOR_INFO> BMECat Export</GENERATOR_INFO> <SUPPLIER> <SUPPLIER_NAME/> <ADDRESS type="supplier"/> </SUPPLIER> <CATALOG> <CURRENCY>USD</CURRENCY> <SHOPID>1</SHOPID> <DATEEXPORT>1623325325</DATEEXPORT> <EXPORT_DATE>2021-06-10 11:42:05</EXPORT_DATE> </CATALOG> </HEADER> <T_NEW_CATALOG> <ARTICLE> <SUPPLIER_AID>24-MB01</SUPPLIER_AID> <ARTICLE_DETAILS> <DESCRIPTION_SHORT>Joust Duffle Bag(s)</DESCRIPTION_SHORT> <DESCRIPTION_LONG>description</DESCRIPTION_LONG> <EAN>Test-EAN-2</EAN> <MANUFACTURER_NAME>Hersteller2</MANUFACTURER_NAME> <SEGMENT>Bags</SEGMENT> </ARTICLE_DETAILS> <ARTICLE_FEATURES> <FEATURE> <FNAME>Europe1PriceFactory.PTG</FNAME> <FVALUE>MwSt_High</FVALUE> </FEATURE> <FEATURE> <FNAME>ID Hersteller2</FNAME> <FVALUE>24-MB01</FVALUE> </FEATURE> <FEATURE> <FNAME>STATUS</FNAME> <FVALUE>ACTIVE</FVALUE> </FEATURE> <SerialNumberRequired>0</SerialNumberRequired> </ARTICLE_FEATURES> <MIME_INFO> <MIME> <MIME_TYPE>image/jpeg</MIME_TYPE> <MIME_SOURCE>https://magento242commerce.test/media/catalog/product/cache/d0b08d5ed0ccc03dcf25f1ae26210948/1/4/1479914220-3162776734_1.jpg</MIME_SOURCE> <MIME_PURPOSE>normal</MIME_PURPOSE> </MIME> </MIME_INFO> <MIME_INFO> <MIME> <MIME_TYPE>image/jpeg</MIME_TYPE> <MIME_SOURCE>https://magento242commerce.test/media/catalog/product/cache/142114b9961d7c84b84533a07e95bb2d/1/4/1479914220-3162776734_1.jpg</MIME_SOURCE> <MIME_PURPOSE>thumbnail</MIME_PURPOSE> </MIME> </MIME_INFO> <ARTICLE_PRICE_DETAILS> <ARTICLE_PRICE price_type="net_list"> <PRICE_CURRENCY>USD</PRICE_CURRENCY> <PRICE_AMOUNT>36.0000</PRICE_AMOUNT> <SUPPLPRICE_AMOUNT>0</SUPPLPRICE_AMOUNT> </ARTICLE_PRICE> </ARTICLE_PRICE_DETAILS> </ARTICLE> </T_NEW_CATALOG> </BMECAT>
-
-
Beim nächsten Export werden bereits exportierte Produkte nicht mehr übergeben. Erst, wenn sich die Daten des Produkts wieder ändern, ermittelt das Pixi* Connector Modul die Änderung und exportiert das Produkt erneut zu pixi.
Anwendungsfall: Korrekter Export von Steuerklassen
Um Steuerberechnungen in Pixi* korrekt zu verarbeiten, müssen die Steuerklassen für Produkte korrekt übergeben werden. Dabei wird nach drei Klassen unterschieden:
-
MwS_High
– normaler Steuersatz -
MwSt_Low
– verringerter Steuersatz -
MwSt-None
– keine Steuerklasse
Dazu müssen in der Konfiguration alle verwendeten Magento-Steuerklassen den Pixi-Steuerklassen zugewiesen werden.
<ARTICLE_FEATURES>
<FEATURE>
<FNAME>Europe1PriceFactory.PTG</FNAME>
<FVALUE>MwSt_High</FVALUE>
</FEATURE>
...
</ARTICLE_FEATURES>
Anwendungsfall: Korrekter Export von Lieferantenzuweisungen
Es ist möglich je Hersteller, sogar wenn das Produkt von mehreren Herstellern geliefert wird, eine Identifikation zu konfigurieren um Produkte zu Herstellern/Lieferanten zuweisen zu können.
Dazu können in der Konfiguration Identifikations-Attribute jedem Hersteller-Namen zugweisen werden.
<ARTICLE_FEATURES>
<FEATURE>
<FNAME>ID Hersteller2</FNAME>
<FVALUE>Test-EAN-2</FVALUE>
</FEATURE>
<FEATURE>
<FNAME>ID Hersteller3</FNAME>
<FVALUE>24-MB01</FVALUE>
</FEATURE>
...
</ARTICLE_FEATURES>
Werden Leerwerte bei Hersteller-Identifikatoren (FVALUE) übertragen, so werden die Produkte im Pixi* Control Center mit Fehlermeldungen importiert Pixi* Fehlerbeschreibungen und deren Behebung Um |
Anwendungsfall: Export von Sonderpreisen
Es ist möglich Sonderpreise anstatt der Normalpreise an Pixi beim Produktexport zu übermitteln. Dazu muss in der Konfiguration der Export von Sonderpreisen erlaubt werden. Da Sonderpreise (Special-Prices) in Magento für gewisse Zeitspannen (in der Zukunft) definiert werden können, wurde speziell hierfür eine Ermittlungsfunktion via CronJob implementiert. Der Zeitpunkt der Ermittlung des Preises ist konfigurierbar. Wir empfehlen aber eine tägliche Ermittlung um 01:00 Uhr nachts.
Bitte stellen Sie sicher, dass der Cronjob bzw. die Crongroup auf dem System aktiviert und lauffähig sind. |
-
Bei jedem Export wird der Produktpreis zwischengespeichert.
-
Am konfigurierten Zeitpunkt die wird Preisdifferenz ermittelt (aktueller Preis – letzter Exportpreis).
-
Wird eine Differenz festgestellt, so wird das Produkt für den nächsten Export markiert.
-
Beim Export des Produkts wird der aktuelle Preis (Final-Price/Special-Price) anstelle des Normalpreises übergeben.
Anwendungsfall: Zuweisung der Produktkategorie für den Export
In Magento können Sie ein Produkt mehreren Kategorien zuweisen. Pixi* nimmt als Zuweisung nur eine Kategorie entgegen. Hierfür wird die zuletzt (zeitlich) zugewiesene Kategorie des Produkts verwendet.
-
Ein Produkt eine nur eine Kategorie (
"Tanks"
) -
Dem Produkt wird eine weitere Kategorie hinzugefügt (
"Hoodies & Sweatshirts"
) -
Da die Kategorie
"Hoodies & Sweatshirts"
als letzte hinzugefügt wird, wird diese auch als Kategorie für den Export verwendet.Leider ist Export-Kategorie auf der Produktdetailseite im Backend nicht ersichtlich, da die Kategorien ihrer nach geordnet sind.
Bestell-Export
In Magento werden Bestellungen erfasst. Das Pixi* Connector Modul ermittelt beim Aufruf von Pixi die zu exportierenden Daten. Der Aufruf findet in einem definierten Turnus statt. Dies kann im Pixi* Control Center konfiguriert werden.
Bitte wenden Sie sich dazu an Descartes/Pixi* oder prüfen Sie die Dokumentation
Anwendungsfall: Standard-Bestell-Export
In dieser kurzen Beschreibung wird erklärt, wie ein Standard-Bestell-Export von Magento ausgeführt wird.
-
Bitte prüfen Sie zunächst, ob die Konfiguration des Bestell-Exports gesetzt ist.
-
Die Versandmethoden müssen korrekt verknüpft sein
-
Die Zahlungsmethoden müssen korrekt verknüpft sein
-
-
Es werden nur Bestellungen an Pixi* übermittelt, welche noch nicht exportiert und/oder durch Pixi* bestätigt wurden.
Mit jedem Aufruf von Pixi* wird nur eine Bestellung ermittelt.
-
Lösen Sie den Bestell-Export aus.
-
Dies passiert wie beschrieben durch den konfigurierten Turnus in pixi*.
-
Alternativ können Sie den Request testen.
-
dazu das Attribut
Environment
in der Konfiguration aufDevelopment
stellen. -
und folgenden Request-Text in eine Browser-Adresszeile eingeben:
https://magento242commerce.test/pixi/api/exportOrders?sid=test
-
-
-
Nach dem Export wird die Bestellung als exportiert markiert
-
Der Pixi-Export-Status wird auf
1
gesetzt. -
Es wird das Pixi-Export-Datum gemäß dem Zeitpunkt des Exports gesetzt.
-
Folgende Daten sind in der XML-Antwort zu finden (openTRANS)
-
Im Header-Bereich sind alle Store- bzw. Shop-Informationen enthalten.
-
Des Weiteren sind im Header-Bereich auch folgende Bestellinformationen enthalten:
-
Allgemeine Informationen zur Bestellung
-
Käuferinformationen
-
Rechnungsadresse des Käufers
-
Lieferadresse des Käufers
-
die zugewiesene Zahlungsart (hier
VORKASSE
) -
die zugewiesene Versandart (hier
FLAT
)
-
-
Im Bereich der
Order-Item-List
sind alle bestellten Artikel vorhanden:-
Die
SUPPLIER_AID
in den Artikeldaten entspricht dem konfigurierten Produkt-Identifikator (hier SKU). -
Preise und Rabatte werden auf Item-Ebene übergeben.
-
-
<?xml version="1.0"?> <ORDER version="1.0" type="standard"> <ORDER_HEADER> <CONTROL_INFO> <GENERATOR_INFO>Magento Community 2.4.2 - </GENERATOR_INFO> <GENERATION_DATE>2021-06-11T06:58:18+00:00</GENERATION_DATE> </CONTROL_INFO> <ORDER_INFO> <ORDER_ID>1</ORDER_ID> <ORDER_SHOPID>1</ORDER_SHOPID> <ORDER_DATE>2021-05-10T05:16:11+00:00</ORDER_DATE> <SHOPID>1</SHOPID> <SHOP_NOTE>Status changed to: complete (AUS)</SHOP_NOTE> <ORDER_SHIPLOCK>N</ORDER_SHIPLOCK> <BUYER_SHIPLOCK>N</BUYER_SHIPLOCK> <PRICE_CURRENCY>USD</PRICE_CURRENCY> <TRANSPORT_REMARKS>FLAT;;;flatrate|||</TRANSPORT_REMARKS> <LOCATION>001</LOCATION> <PARTIAL_DELIVERY>ONCE</PARTIAL_DELIVERY> <ORDER_TYPE>B2C</ORDER_TYPE> <ORDER_PARTIES> <BUYER_PARTY> <PARTY> <PARTY_ID type="buyer_specific">p.mehringer+222@techdivision.com</PARTY_ID> <ADDRESS> <NAME2>Patrick</NAME2> <NAME3>Mehringer</NAME3> <STREET>Eichendorffstr.</STREET> <ZIP>83043</ZIP> <CITY>Bad Aibling</CITY> <COUNTRY>Germany</COUNTRY> <PHONE>555</PHONE> <EMAIL>p.mehringer+222@techdivision.com</EMAIL> </ADDRESS> </PARTY> </BUYER_PARTY> <INVOICE_PARTY> <PARTY> <ADDRESS> <NAME2>Patrick</NAME2> <NAME3>Mehringer</NAME3> <STREET>Eichendorffstr.</STREET> <ZIP>83043</ZIP> <CITY>Bad Aibling</CITY> <COUNTRY>Germany</COUNTRY> <PHONE>555</PHONE> <EMAIL>p.mehringer+222@techdivision.com</EMAIL> </ADDRESS> </PARTY> </INVOICE_PARTY> <SHIPMENT_PARTIES> <DELIVERY_PARTY> <PARTY> <ADDRESS> <NAME2>Patrick</NAME2> <NAME3>Mehringer</NAME3> <STREET>Eichendorffstr.</STREET> <ZIP>83043</ZIP> <CITY>Bad Aibling</CITY> <COUNTRY>Germany</COUNTRY> <PHONE>555</PHONE> <EMAIL>p.mehringer+222@techdivision.com</EMAIL> <ADDRESS_REMARKS>6</ADDRESS_REMARKS> </ADDRESS> </PARTY> </DELIVERY_PARTY> </SHIPMENT_PARTIES> </ORDER_PARTIES> <PAYMENT> <VORKASSE/> </PAYMENT> <REMARK type="SHIPPING">5.0000</REMARK> <REMARK type="SHIPPINGVENDOR">FLAT</REMARK> </ORDER_INFO> </ORDER_HEADER> <ORDER_ITEM_LIST> <ORDER_ITEM> <LINE_ITEM_ID>1</LINE_ITEM_ID> <ARTICLE_ID> <SUPPLIER_AID>24-WB04</SUPPLIER_AID> </ARTICLE_ID> <QUANTITY>1</QUANTITY> <ITEM_NAME>Push It Messenger Bag</ITEM_NAME> <ARTICLE_PRICE type="udp_gross_customer"> <FULL_PRICE>45</FULL_PRICE> <PRICE_AMOUNT>45</PRICE_AMOUNT> <PRICE_LINE_AMOUNT>45</PRICE_LINE_AMOUNT> <DISCOUNT_VALUE>0</DISCOUNT_VALUE> </ARTICLE_PRICE> </ORDER_ITEM> </ORDER_ITEM_LIST> <ORDER_SUMMARY> <TOTAL_ITEM_NUM>1</TOTAL_ITEM_NUM> </ORDER_SUMMARY> </ORDER>
-
Bei erweitertem Logging wird folgender Log-Auszug protokolliert:
[2021-06-11 06:58:18] TechDivisionPixiLogger.INFO: ========================================== [] [] [2021-06-11 06:58:18] TechDivisionPixiLogger.INFO: => TechDivision pixi* Request [] [] [2021-06-11 06:58:18] TechDivisionPixiLogger.INFO: ========================================== [] [] [2021-06-11 06:58:18] TechDivisionPixiLogger.INFO: Time: 2021-06-11T06:58:18+00:00 [] [] [2021-06-11 06:58:18] TechDivisionPixiLogger.INFO: Action: pixi_api_exportOrders [] [] [2021-06-11 06:58:18] TechDivisionPixiLogger.INFO: Parameters: [] [] [2021-06-11 06:58:18] TechDivisionPixiLogger.INFO: array ( 'sid' => 'asa*****', ) [] [] [2021-06-11 06:58:18] TechDivisionPixiLogger.INFO: [] [] [2021-06-11 06:58:18] TechDivisionPixiLogger.INFO: Session does not exist [] [] [2021-06-11 06:58:18] TechDivisionPixiLogger.INFO: Session is expired [] [] [2021-06-11 06:58:18] TechDivisionPixiLogger.INFO: Filter order with pixi_export_status 0 [] [] [2021-06-11 06:58:18] TechDivisionPixiLogger.INFO: Or filter retry order with pixi_export_status 1 [] [] [2021-06-11 06:58:18] TechDivisionPixiLogger.INFO: Filter order with pixi_export_date "null" or pixi_export_date <=" 2021-06-11T06:53:18+00:00" [] [] [2021-06-11 06:58:18] TechDivisionPixiLogger.INFO: Found 1 orders. [] []
-
-
Beim nächsten Export werden bereits exportierte Bestellung nicht mehr ermittelt und übergeben. Nach dem Export zu Pixi* sendet Pixi* eine Bestätigung der Verarbeitung der Bestellung. Die Bestellung wird als
confirmed
markiert.
Anwendungsfall: Filterung der Bestellungen
Um nicht alle Bestellungen zu exportieren und somit einen Versand auszulösen, gibt es die Möglichkeit Bestellung aufgrund von Status und Zahlungsmethode zu filtern. Somit kann der Versand durch Pixi* geregelt werden, wenn z. B. ein Zahlungseingang vorliegt.
-
Bitte prüfen Sie zunächst, ob die Konfiguration des Bestell-Exports gesetzt ist.
-
Die Filter-Einstellungen müssen aktiviert sein
-
Die gewünschten Filterzuweisungen Bestellstatus zur Zahlart sind gepflegt
Es sollten alle Zahlarten zu einem Bestellstatus gepflegt werden
-
Optional kann ein globaler Filter für alle Zahlarten verwendet werden.
-
-
Es werden nun nur Bestellungen an Pixi* übermittelt, welche noch nicht exportiert und/oder durch Pixi* bestätigt wurden und welche den Filtereigenschaften entsprechen.
Durch die Filterung kann es vorkommen, das keine Bestellungen an Pixi* übermittelt werden
-
Lösen Sie den Bestell-Export aus.
-
Die zu exportierende Bestellung wird wie gewohnt ermittelt.
-
Zur Ermittlung werden die Filtereinstellungen verwendet.
-
Bei erweitertem Logging wird folgender Log-Auszug protokolliert:
[2021-06-11 06:43:48] TechDivisionPixiLogger.INFO: ========================================== [] [] [2021-06-11 06:43:48] TechDivisionPixiLogger.INFO: => TechDivision pixi* Request [] [] [2021-06-11 06:43:48] TechDivisionPixiLogger.INFO: ========================================== [] [] [2021-06-11 06:43:48] TechDivisionPixiLogger.INFO: Time: 2021-06-11T06:43:48+00:00 [] [] [2021-06-11 06:43:48] TechDivisionPixiLogger.INFO: Action: pixi_api_exportOrders [] [] [2021-06-11 06:43:48] TechDivisionPixiLogger.INFO: Parameters: [] [] [2021-06-11 06:43:48] TechDivisionPixiLogger.INFO: array ( 'sid' => 'asa*****', ) [] [] [2021-06-11 06:43:48] TechDivisionPixiLogger.INFO: [] [] [2021-06-11 06:43:48] TechDivisionPixiLogger.INFO: Session does not exist [] [] [2021-06-11 06:43:48] TechDivisionPixiLogger.INFO: Session is expired [] [] [2021-06-11 06:43:48] TechDivisionPixiLogger.INFO: Filter order with pixi_export_status 0 [] [] [2021-06-11 06:43:48] TechDivisionPixiLogger.INFO: Or filter retry order with pixi_export_status 1 [] [] [2021-06-11 06:43:48] TechDivisionPixiLogger.INFO: Filter order with pixi_export_date "null" or pixi_export_date <=" 2021-06-11T06:38:48+00:00" [] [] [2021-06-11 06:43:48] TechDivisionPixiLogger.INFO: No orders with filter: "pending" => "paypal_express" ... [] [] [2021-06-11 06:43:48] TechDivisionPixiLogger.INFO: No orders with filter: "processing" => "checkmo" ... [] [] [2021-06-11 06:43:48] TechDivisionPixiLogger.INFO: No orders with filter: "processing" => "banktransfer" ... [] [] [2021-06-11 06:43:48] TechDivisionPixiLogger.INFO: Found 0 orders. [] [] [2021-06-11 06:43:48] TechDivisionPixiLogger.INFO: Answer: [] []
-
Funktionsbeschreibung: Bestell-Export-Bestätigung, Wiederholungen
Bestell-Export-Bestätigung (Confirm)
Nach einem Bestellexport zu Pixi* wird diese im Pixi* Control Center verarbeitet. Bei erfolgreicher Speicherung und Verarbeitung
sendet Pixi* einen Bestätigungs-Request an das Magento Pixi* Connector Modul zurück. Die Bestellung wird als confirmed
markiert.
Hier als Beispiel der Request mit Antwort:
Bei erweitertem Logging wird folgender Log-Auszug protokolliert:
[2021-06-11 08:50:46] TechDivisionPixiLogger.INFO: ========================================== [] []
[2021-06-11 08:50:46] TechDivisionPixiLogger.INFO: => TechDivision pixi* Request [] []
[2021-06-11 08:50:46] TechDivisionPixiLogger.INFO: ========================================== [] []
[2021-06-11 08:50:46] TechDivisionPixiLogger.INFO: Time: 2021-06-11T08:50:46+00:00 [] []
[2021-06-11 08:50:46] TechDivisionPixiLogger.INFO: Action: pixi_api_confirmOrder [] []
[2021-06-11 08:50:46] TechDivisionPixiLogger.INFO: Parameters: [] []
[2021-06-11 08:50:46] TechDivisionPixiLogger.INFO: array (
'sid' => 'tes*****',
'order_id' => '1',
) [] []
[2021-06-11 08:50:46] TechDivisionPixiLogger.INFO: [] []
[2021-06-11 08:50:46] TechDivisionPixiLogger.INFO: Session does not exist [] []
[2021-06-11 08:50:46] TechDivisionPixiLogger.INFO: Session is expired [] []
[2021-06-11 08:50:46] TechDivisionPixiLogger.INFO: Answer: [] []
[2021-06-11 08:50:46] TechDivisionPixiLogger.INFO: <?xml version="1.0"?>
<ANSWER>
<STATUS>SUCCESS</STATUS>
<sessionID>test</sessionID>
<ORDER_ID>1</ORDER_ID>
</ANSWER>
[] []
[2021-06-11 08:50:46] TechDivisionPixiLogger.INFO: End of request.
[] []
Verzögerter Bestell-Export (Delay)
Wurde keine spezielle Konfigurationen gesetzt, so werden alle Bestellung ab der Erstellung im Magento-Shop für den Export zugelassen. Um diverse spezifische Order-Workflows einhalten zu können bzw. diese abzuwarten, können Verzögerungszeitspannen hinterlegt werden.
Das bedeutet z. B., dass die Bestellung 30 Minuten nach Erstellung erst zum Export bereitgestellt wird.
Betreffen Order-Workflows z. B. Status-Updates durch genutzte Zahlungsanbieter (PSP), so empfehlen wir die Nutzung des Export-Filters. |
Wiedervorlage Bestell-Export (Retry)
In manchen Fällen kann es vorkommen, dass Bestellungen im Pixi* Control Center nicht verarbeitet werden können. In diesem Fall wird auch kein Bestätigungs-Request an Magento versendet. Wurde keine spezielle Konfiguration gesetzt, so werden alle nicht bestätigungen Bestellungen nach 5 Minuten wieder für Export zugelassen und übermittelt.
Da Pixi* den Fehler in der Verarbeitung nicht an Magento sendet, müssen die Fehler manuell behoben werden.
|
Überspringen von Bestellungen (Skip)
In manchen Fällen kann es vorkommen, dass Bestellungen aufgrund von Eingabefehlern nicht verarbeitet werden können.
Da Magento und die Datenbank standardmäßig im UTF8-Format
arbeiten kann es zu Formatierungsfehler beim Datenaustausch (XML, openTrans) kommen,
da Pixi* nur ISO-8859-1
unterstützt. Die Bestellung, mit Fehlern, wird übersprungen und eine andere Bestellung, wenn vorhanden, wird exportiert.
Der Bestellexport wird nicht blockiert!
Bei einem solchen Verarbeitungsfehler wird folgende Antwort ausgegeben
Bei erweitertem Logging wird folgender Log-Auszug protokolliert:
[2021-06-11 09:24:01] TechDivisionPixiLogger.INFO: ========================================== [] []
[2021-06-11 09:24:01] TechDivisionPixiLogger.INFO: => TechDivision pixi* Request [] []
[2021-06-11 09:24:01] TechDivisionPixiLogger.INFO: ========================================== [] []
[2021-06-11 09:24:01] TechDivisionPixiLogger.INFO: Time: 2021-06-11T09:24:01+00:00 [] []
[2021-06-11 09:24:01] TechDivisionPixiLogger.INFO: Action: pixi_api_exportOrders [] []
[2021-06-11 09:24:01] TechDivisionPixiLogger.INFO: Parameters: [] []
[2021-06-11 09:24:01] TechDivisionPixiLogger.INFO: array (
'sid' => 'asa*****',
) [] []
[2021-06-11 09:24:01] TechDivisionPixiLogger.INFO: [] []
[2021-06-11 09:24:01] TechDivisionPixiLogger.INFO: Session does not exist [] []
[2021-06-11 09:24:01] TechDivisionPixiLogger.INFO: Session is expired [] []
[2021-06-11 09:24:01] TechDivisionPixiLogger.INFO: Filter order with pixi_export_status 0 [] []
[2021-06-11 09:24:01] TechDivisionPixiLogger.INFO: Or filter retry order with pixi_export_status 1 [] []
[2021-06-11 09:24:01] TechDivisionPixiLogger.INFO: Filter order with pixi_export_date "null" or pixi_export_date <=" 2021-06-11T09:19:01+00:00" [] []
[2021-06-11 09:24:01] TechDivisionPixiLogger.INFO: Found 1 orders. [] []
[2021-06-11 09:24:01] TechDivisionPixiLogger.CRITICAL: Failed to generate xml data! {"DATA":"{\"@attributes\":{\"version\":\"1.0\",\"type\":\"standard\"},\"ORDER_HEADER\":{\"CONTROL_INFO\":{\"GENERATOR_INFO\":\"Magento Community 2.4.2 - \",\"GENERATION_DATE\":\"2021-06-11T09:24:01+00:00\"},\"ORDER_INFO\":{\"ORDER_ID\":\"1\",\"ORDER_SHOPID\":\"1\",\"ORDER_DATE\":\"2021-05-10T05:16:11+00:00\",\"SHOPID\":\"1\",\"SHOP_NOTE\":\"Status changed to: complete (AUS)\",\"ORDER_SHIPLOCK\":\"N\",\"BUYER_SHIPLOCK\":\"N\",\"PRICE_CURRENCY\":\"USD\",\"TRANSPORT_REMARKS\":\"FLAT;;;flatrate|||\",\"LOCATION\":\"001\",\"PARTIAL_DELIVERY\":\"ONCE\",\"ORDER_TYPE\":\"B2C\",\"ORDER_PARTIES\":{\"BUYER_PARTY\":{\"PARTY\":{\"PARTY_ID\":\"p.mehringer+222@techdivision.com\",\"ADDRESS\":{\"NAME2\":\"Patrick\",\"NAME3\":\"Mehringer\",\"STREET\":\"Eichendorffstr.\",\"ZIP\":\"83043\",\"CITY\":\"Bad Aibling\",\"COUNTRY\":\"Germany\",\"PHONE\":\"555\",\"EMAIL\":\"p.mehringer+222@techdivision.com\"}}},\"INVOICE_PARTY\":{\"PARTY\":{\"ADDRESS\":{\"NAME2\":\"Patrick\",\"NAME3\":\"Mehringer\",\"STREET\":\"Eichendorffstr.\",\"ZIP\":\"83043\",\"CITY\":\"Bad Aibling\",\"COUNTRY\":\"Germany\",\"PHONE\":\"555\",\"EMAIL\":\"p.mehringer+222@techdivision.com\"}}},\"SHIPMENT_PARTIES\":{\"DELIVERY_PARTY\":{\"PARTY\":{\"ADDRESS\":{\"NAME2\":\"Patrick\",\"NAME3\":\"Mehringer\",\"STREET\":\"\\bEichendorffstr.\",\"ZIP\":\"83043\",\"CITY\":\"Bad Aibling\",\"COUNTRY\":\"Germany\",\"PHONE\":\"555\",\"EMAIL\":\"p.mehringer+222@techdivision.com\",\"ADDRESS_REMARKS\":\"6\"}}}}},\"PAYMENT\":{\"VORKASSE\":{}},\"REMARK\":[\"5.0000\",\"FLAT\"]}},\"ORDER_ITEM_LIST\":{\"ORDER_ITEM\":{\"LINE_ITEM_ID\":\"1\",\"ARTICLE_ID\":{\"SUPPLIER_AID\":\"24-WB04\"},\"QUANTITY\":\"1\",\"ITEM_NAME\":\"Push It Messenger Bag\",\"ARTICLE_PRICE\":{\"@attributes\":{\"type\":\"udp_gross_customer\"},\"FULL_PRICE\":\"45\",\"PRICE_AMOUNT\":\"45\",\"PRICE_LINE_AMOUNT\":\"45\",\"DISCOUNT_VALUE\":\"0\"}}},\"ORDER_SUMMARY\":{\"TOTAL_ITEM_NUM\":\"1\"}}"} []
[2021-06-11 09:24:01] TechDivisionPixiLogger.CRITICAL: Skip export of order "1" due to xml generation errors [] []
[2021-06-11 09:24:01] TechDivisionPixiLogger.INFO: Filter order with pixi_export_status 0 [] []
[2021-06-11 09:24:01] TechDivisionPixiLogger.INFO: Or filter retry order with pixi_export_status 1 [] []
[2021-06-11 09:24:01] TechDivisionPixiLogger.INFO: Filter order with pixi_export_date "null" or pixi_export_date <=" 2021-06-11T09:19:01+00:00" [] []
[2021-06-11 09:24:01] TechDivisionPixiLogger.INFO: Found 1 orders. [] []
[2021-06-11 09:24:01] TechDivisionPixiLogger.INFO: Order "1" skipped [] []
[2021-06-11 09:24:01] TechDivisionPixiLogger.INFO: Answer: [] []
[2021-06-11 09:24:01] TechDivisionPixiLogger.INFO: <?xml version="1.0"?>
<status>
<code>OK</code>
<DESCRIPTION>No new order, but some orders where skipped (1)</DESCRIPTION>
</status>
[] []
[2021-06-11 09:24:01] TechDivisionPixiLogger.INFO: End of request.
[] []
In der Antwort, sowie im Log ist die ID der fehlerhaften Bestellung aufgeführt. Im Log werden außerdem die Daten der Bestellung als Json protokolliert. Hier könnte bereits ein |
Anwendungsfall: Zurücksetzen der Pixi*-Exportdaten einer Bestellung
In manchen Fällen kann es zu Verarbeitungsabbrüchen innerhalb der Pixi*-Applikation (Control Center) kommen. Dafür sind meistens Fehleingaben bei Adressen der Auslöser. Da die Daten in Magento vorgehalten werden und pixi* nicht direkt nach einem Bestellexport die Fehlermeldung liefert kann in einem solchen Fall die Bestellung nicht korrekt verarbeitet werden.
Um nun die Bestelldaten zu korrigieren, können Sie nun den Export zu pixi* erneut auslösen.
-
Wählen Sie dazu im Magento Backend die gewünschte Bestellung aus
-
Ist die Bestellung noch nicht von pixi* bestätigt, können Sie die Daten, welche den Export zu pixi* auslösen zurücksetzen
-
Klicken Sie dazu auf den Button
Reset Pixi Order-Export-Data
-
Nachdem die Daten (
pixi_export_status
) zurückgesetzt wurden, wird die Bestellung beim nächsten Export wieder berücksichtigt
Anwendungsfall: Bestell-Export mit Store-Filter
Mit einem neuen Feature in Version 2.6.0 wurde ein Filter für den Bestell-Export bereitgestellt, welcher über das Pixi-Control-Center gesteuert werden kann.
Hier können per HTTP-Parameter store_code
oder store_id
der spezifische Store gewählt werden, welcher für den Bestell-Export zulässig ist.
So kann verhindert werden, dass Bestellungen aus Stores, welche nicht über Pixi versorgt werden, auch nicht an Pixi übertragen werden.
Die Store-ID kann über die Magento-Datenbank ermittelt werden. Der Store-Code kann über das Magento-Backend ermittelt werden.
In Version 3.1.0 wurde der Filter, welcher über Parameter an Magento übergeben werden kann erweitert. Es können nun kommasepariert Store-IDs oder Store-Codes übergeben werden. Hier Beispiele für die Aufrufe:
https://magento244commerce.test/pixi/api/exportOrders?sid=test&store_code=default,second_store https://magento244commerce.test/pixi/api/exportOrders?sid=test&store_id=1,2,3
Eine weitere Möglichkeit den Export storebasiert zu filtern ist die Nutzung des
Konfig-Flags
Enable Export
. Mit dieser Konfigurationen können Stores vom Order-Export ausgeschlossen werden.
Problemfall: Nicht erkannte Zahlungsarten
Wenn Zahlungsarten durch Zahlungsdienstanbieter codetechnisch nicht korrekt in Magento registriert bzw. eingebunden sind, erkennt das Pixi-Modul diese nicht. Um eine einfache Kompatibilität bzgl. der Zahlungsartenverknüfung zu schaffen, wurde eine separate Verknüpfungslogik realisiert, um das Mapping für Pixi zu gewährleisten.
Die zusätzlich manuell eingetragenen Zahlungsarten können nun für das Mapping für Pixi verwendet werden. Diese Optionen werden ausschließlich hier verwendet.
Bestands-Import
Da pixi* das bestandsführende System ist, werden die Bestände aus Pixi* für Magento verwendet. Der Abgleich findet statt, sobald es Änderungen in Pixi* gibt statt. Ein manueller Bestandsabgleich ist auch möglich.
Bitte wenden Sie sich dazu an Descartes/Pixi* oder prüfen Sie die Dokumentation
Anwendungsfall: einfacher Bestandsimport
In dieser kurzen Beschreibung wird erklärt, wie ausschließlich Bestände in Magento aktualisiert werden.
-
Bitte prüfen Sie zunächst, ob die Quellen und Lager in Magento für die Produkte der Webseiten korrekt zugewiesen sind.
-
Bitte prüfen Sie die Modulkonfiguration für den Bestandsimport
Um ausschließlich Bestände zu aktualisieren, müssen die anderen Einstellungen wie
EAN aus pixi* importieren
deaktiviert sein. -
Lösen Sie den Bestandsimport-Request aus.
-
Dies passiert wie beschrieben durch eine Bestandsänderung in pixi*.
-
Alternativ können Sie den Request testen.
-
dazu das Attribut Environment auf
Development
stellen. -
und folgenden Request-Text in eine Browser-Adresszeile eingeben:
https://magento242commerce.test/pixi/api/importStock?sid=test&data= <ARTICLE_ITEM> <ARTICLE_ITEM_ID>24-MB01</ARTICLE_ITEM_ID> <QUANTITY>25</QUANTITY><DELIVERY_DATE/> <MIN_STOCK_QTY>0</MIN_STOCK_QTY> <ACTIVE>true</ACTIVE> <EAN>test-ean</EAN> <OPENSUPPLORDERS>0</OPENSUPPLORDERS> </ARTICLE_ITEM>
-
-
Der Bestand von
25
für das gewünschte Produkt mit der SKU24-MB01
wird aktualisiert.Status und EAN werden nicht angepasst
-
Bei erweitertem Logging wird folgender Log-Auszug protokolliert:
[2021-06-10 09:24:13] TechDivisionPixiLogger.INFO: End of request. [] [] [2021-06-10 09:25:54] TechDivisionPixiLogger.INFO: ========================================== [] [] [2021-06-10 09:25:54] TechDivisionPixiLogger.INFO: => TechDivision pixi* Request [] [] [2021-06-10 09:25:54] TechDivisionPixiLogger.INFO: ========================================== [] [] [2021-06-10 09:25:54] TechDivisionPixiLogger.INFO: Time: 2021-06-10T09:25:54+00:00 [] [] [2021-06-10 09:25:54] TechDivisionPixiLogger.INFO: Action: pixi_api_importStock [] [] [2021-06-10 09:25:54] TechDivisionPixiLogger.INFO: Parameters: [] [] [2021-06-10 09:25:54] TechDivisionPixiLogger.INFO: array ( 'sid' => 'tes*****', 'data' => '<ARTICLE_ITEM><ARTICLE_ITEM_ID>24-MB01</ARTICLE_ITEM_ID><QUANTITY>25</QUANTITY><DELIVERY_DATE/><MIN_STOCK_QTY>0</MIN_STOCK_QTY><ACTIVE>true</ACTIVE><EAN>test-ean</EAN><OPENSUPPLORDERS>0</OPENSUPPLORDERS></ARTICLE_ITEM>', ) [] [] [2021-06-10 09:25:54] TechDivisionPixiLogger.INFO: [] [] [2021-06-10 09:25:54] TechDivisionPixiLogger.INFO: Session does not exist [] [] [2021-06-10 09:25:54] TechDivisionPixiLogger.INFO: Session is expired [] [] [2021-06-10 09:25:54] TechDivisionPixiLogger.INFO: GET-DATA FOR IMPORT STOCK * "'<ARTICLE_ITEM><ARTICLE_ITEM_ID>24-MB01</ARTICLE_ITEM_ID><QUANTITY>25</QUANTITY><DELIVERY_DATE/><MIN_STOCK_QTY>0</MIN_STOCK_QTY><ACTIVE>true</ACTIVE><EAN>test-ean</EAN><OPENSUPPLORDERS>0</OPENSUPPLORDERS></ARTICLE_ITEM>'" [] [] [2021-06-10 09:25:54] TechDivisionPixiLogger.INFO: Updating product 1 "24-MB01" [] [] [2021-06-10 09:25:54] TechDivisionPixiLogger.INFO: Updating quantity for product 1 "24-MB01" [] [] [2021-06-10 09:25:54] TechDivisionPixiLogger.INFO: Saved msi stock 25 for product 24-MB01 [] [] [2021-06-10 09:25:54] TechDivisionPixiLogger.INFO: Answer: [] [] [2021-06-10 09:25:54] TechDivisionPixiLogger.INFO: <?xml version="1.0"?> <ANSWER> <code>OK</code> </ANSWER> [] [] [2021-06-10 09:25:54] TechDivisionPixiLogger.INFO: End of request. [] []
-
Anwendungsfall: Bestandsimport mit EAN- und Status-Update
In dieser kurzen Beschreibung wird erklärt, wie Bestände in Magento angepasst werden und dabei auch EAN-Nummern sowie der Status des Produkts aktualisiert werden
-
Bitte prüfen Sie zunächst, ob die Quellen und Lager in Magento für die Produkte der Webseiten korrekt zugewiesen sind.
-
Bitte prüfen Sie die Modulkonfiguration für den Bestandsimport
Um Bestände aktualisieren sowie EAN- und Status-Updates zu erlauben, müssen Einstellungen aktiviert sein.
-
Bitte prüfen Sie die Modulkonfiguration für des Produktexports
Das hier zugewiesene Attribut für die EAN-Anzeige und Verarbeitung wird auch für den Update-Vorgang verwendet.
-
Lösen Sie den Bestandsimport-Request aus.
-
Dies passiert wie beschrieben durch eine Bestandsänderung in pixi*.
-
Alternativ können Sie den Request testen.
-
dazu das Attribut Environment auf
Development
stellen. -
und folgenden Request-Text in eine Browser-Adresszeile eingeben:
https://magento242commerce.test/pixi/api/importStock?sid=test&data= <ARTICLE_ITEM> <ARTICLE_ITEM_ID>24-MB01</ARTICLE_ITEM_ID> <QUANTITY>50</QUANTITY><DELIVERY_DATE/> <MIN_STOCK_QTY>0</MIN_STOCK_QTY> <ACTIVE>true</ACTIVE> <EAN>test-ean</EAN> <OPENSUPPLORDERS>0</OPENSUPPLORDERS> </ARTICLE_ITEM>
-
-
Das gewünschte Produkt mit der SKU
24-MB01
wird aktualisiert.-
der Bestand wird auf
50
gesetzt. -
der Status wird auf
aktiv
gesetzt. -
die EAN wird mit
test-ean
überschrieben.
-
-
Bei erweitertem Logging wird folgender Log-Auszug protokolliert:
[2021-06-10 09:28:07] TechDivisionPixiLogger.INFO: ========================================== [] [] [2021-06-10 09:28:07] TechDivisionPixiLogger.INFO: => TechDivision pixi* Request [] [] [2021-06-10 09:28:07] TechDivisionPixiLogger.INFO: ========================================== [] [] [2021-06-10 09:28:07] TechDivisionPixiLogger.INFO: Time: 2021-06-10T09:28:07+00:00 [] [] [2021-06-10 09:28:07] TechDivisionPixiLogger.INFO: Action: pixi_api_importStock [] [] [2021-06-10 09:28:07] TechDivisionPixiLogger.INFO: Parameters: [] [] [2021-06-10 09:28:07] TechDivisionPixiLogger.INFO: array ( 'sid' => 'tes*****', 'data' => '<ARTICLE_ITEM><ARTICLE_ITEM_ID>24-MB01</ARTICLE_ITEM_ID><QUANTITY>50</QUANTITY><DELIVERY_DATE/><MIN_STOCK_QTY>0</MIN_STOCK_QTY><ACTIVE>true</ACTIVE><EAN>test-ean</EAN><OPENSUPPLORDERS>0</OPENSUPPLORDERS></ARTICLE_ITEM>', ) [] [] [2021-06-10 09:28:07] TechDivisionPixiLogger.INFO: [] [] [2021-06-10 09:28:07] TechDivisionPixiLogger.INFO: Session does not exist [] [] [2021-06-10 09:28:07] TechDivisionPixiLogger.INFO: Session is expired [] [] [2021-06-10 09:28:07] TechDivisionPixiLogger.INFO: GET-DATA FOR IMPORT STOCK * "'<ARTICLE_ITEM><ARTICLE_ITEM_ID>24-MB01</ARTICLE_ITEM_ID><QUANTITY>50</QUANTITY><DELIVERY_DATE/><MIN_STOCK_QTY>0</MIN_STOCK_QTY><ACTIVE>true</ACTIVE><EAN>test-ean</EAN><OPENSUPPLORDERS>0</OPENSUPPLORDERS></ARTICLE_ITEM>'" [] [] [2021-06-10 09:28:07] TechDivisionPixiLogger.INFO: Updating product 1 "24-MB01" [] [] [2021-06-10 09:28:07] TechDivisionPixiLogger.INFO: Updating quantity for product 1 "24-MB01" [] [] [2021-06-10 09:28:07] TechDivisionPixiLogger.INFO: Saved msi stock 50 for product 24-MB01 [] [] [2021-06-10 09:28:07] TechDivisionPixiLogger.INFO: Answer: [] [] [2021-06-10 09:28:07] TechDivisionPixiLogger.INFO: <?xml version="1.0"?> <ANSWER> <code>OK</code> </ANSWER> [] [] [2021-06-10 09:28:07] TechDivisionPixiLogger.INFO: End of request. [] []
-
Anwendungsfall: Bestandsimport mit Filter
Mit der Übergabe von StoreID- oder StoreCode-Parametern im Request können nun gezielt die Informationen eines Produkts auf Store-Ebene aktualisiert werden. Der Funktionsablauf ist gleich dem einfachen Bestandsimport. Es wird jedoch anhand des Parameters geprüft, auf welcher Ebene die Aktualisierung stattfindet.
Bestell-Status-Import
Da pixi* das bestandsführende System ist, werden Bestellungen in Pixi* verarbeitet. Die Bestellungen werden über den Bestell-Export an Pixi* übermittelt. Nach Verarbeitung/Bearbeitung der Bestellungen werden diverse Status-Updates von Pixi* an Magento gesendet. Die Aktualisierungen findet statt, sobald es Änderungen in Pixi* gibt statt.
Bitte wenden Sie sich bei Fragen dazu an Descartes/Pixi* oder prüfen Sie die Dokumentation
Anwendungsfall: Bestellstatus-Update
In dieser kurzen Beschreibung wird erklärt, wie eine Aktualisierung des Bestellstatus funktioniert.
-
Bitte prüfen Sie zunächst, ob die Statuskonfiguration für Bestellungen korrekt gesetzt ist.
-
Lösen Sie den Bestandsimport-Request aus.
-
Dies passiert wie beschrieben durch eine Bestandsänderung in pixi*.
-
Alternativ können Sie den Request testen.
-
dazu das Attribut Environment auf
Development
stellen. -
und folgenden Request-Text in eine Browser-Adresszeile eingeben:
https://magento242commerce.test/pixi/api/importOrderStatus?sid=test&data=<ORDER_ITEM> <LINE_ITEM_ID>1</LINE_ITEM_ID> <QUANTITY>1</QUANTITY> <FULL_PRICE>0.0000</FULL_PRICE> <DISCOUNT_PERC>0.00</DISCOUNT_PERC> <DISCOUNT_VALUE>0.0000</DISCOUNT_VALUE> <PRICE_AMOUNT>0.0000</PRICE_AMOUNT> <STATUS>ANG</STATUS> <ORDER_NR_EXT>1</ORDER_NR_EXT> <ORDER_STATUS>CLOSED</ORDER_STATUS> <INVOICE_NR>INV00001</INVOICE_NR> <SHIPPING_VENDOR>FLAT</SHIPPING_VENDOR> </ORDER_ITEM>
-
-
Der Status der Bestellung wird auf
processing
gesetzt. -
Bei erweitertem Logging wird folgender Log-Auszug protokolliert:
[2021-06-11 10:12:18] TechDivisionPixiLogger.INFO: ========================================== [] [] [2021-06-11 10:12:18] TechDivisionPixiLogger.INFO: => TechDivision pixi* Request [] [] [2021-06-11 10:12:18] TechDivisionPixiLogger.INFO: ========================================== [] [] [2021-06-11 10:12:18] TechDivisionPixiLogger.INFO: Time: 2021-06-11T10:12:18+00:00 [] [] [2021-06-11 10:12:18] TechDivisionPixiLogger.INFO: Action: pixi_api_importOrderStatus [] [] [2021-06-11 10:12:18] TechDivisionPixiLogger.INFO: Parameters: [] [] [2021-06-11 10:12:18] TechDivisionPixiLogger.INFO: array ( 'sid' => 'tes*****', 'data' => '<ORDER_ITEM><LINE_ITEM_ID>1</LINE_ITEM_ID><QUANTITY>1</QUANTITY><FULL_PRICE>0.0000</FULL_PRICE><DISCOUNT_PERC>0.00</DISCOUNT_PERC><DISCOUNT_VALUE>0.0000</DISCOUNT_VALUE><PRICE_AMOUNT>0.0000</PRICE_AMOUNT><ITEM_NOTE>{"ampromo_rule_id":"12","discount":"0,"}</ITEM_NOTE><STATUS>ANG</STATUS><TRACKINGID>0815</TRACKINGID><RET_TRACKINGID>4711</RET_TRACKINGID><ORDER_NR_EXT>1</ORDER_NR_EXT><ORDER_STATUS>CLOSED</ORDER_STATUS><INVOICE_NR>INV00001</INVOICE_NR><SHIPPING_VENDOR>FLAT</SHIPPING_VENDOR></ORDER_ITEM>', ) [] [] [2021-06-11 10:12:18] TechDivisionPixiLogger.INFO: [] [] [2021-06-11 10:12:18] TechDivisionPixiLogger.INFO: Session does not exist [] [] [2021-06-11 10:12:18] TechDivisionPixiLogger.INFO: Session is expired [] [] [2021-06-11 10:12:18] TechDivisionPixiLogger.INFO: Updating order status of 1 from pending to processing [] [] [2021-06-11 10:12:18] TechDivisionPixiLogger.INFO: Answer: [] [] [2021-06-11 10:12:18] TechDivisionPixiLogger.INFO: <?xml version="1.0"?> <ANSWER> <code>OK</code> </ANSWER> [] [] [2021-06-11 10:12:18] TechDivisionPixiLogger.INFO: End of request. [] []
-
Anwendungsfall: Bestellstatus-Update / Auslieferung
In dieser kurzen Beschreibung wird erklärt, wie eine Aktualisierung des Bestellstatus mit Auslieferung (inkl. Tracking-Infos) funktioniert.
Ausgangslage ist die in Bearbeitung befindende Bestellung
-
Bitte prüfen Sie zunächst, ob die Statuskonfiguration für Bestellungen korrekt gesetzt ist.
-
Optional können Sie die Versanddienstleisterinformationen ebenfalls von Pixi* beziehen. Dazu müsste das Mapping gepflegt werden
-
Lösen Sie den Bestandsimport-Request aus.
-
Dies passiert wie beschrieben durch eine Bestandsänderung in pixi*.
-
Alternativ können Sie den Request testen.
-
dazu das Attribut Environment auf
Development
stellen. -
und folgenden Request-Text in eine Browser-Adresszeile eingeben:
https://magento242commerce.test/pixi/api/importOrderStatus?sid=test&data=<ORDER_ITEM> <LINE_ITEM_ID>1</LINE_ITEM_ID> <QUANTITY>1</QUANTITY> <FULL_PRICE>0.0000</FULL_PRICE> <DISCOUNT_PERC>0.00</DISCOUNT_PERC> <DISCOUNT_VALUE>0.0000</DISCOUNT_VALUE> <PRICE_AMOUNT>0.0000</PRICE_AMOUNT> <STATUS>AUS</STATUS> <TRACKINGID>0815</TRACKINGID> <RET_TRACKINGID>4711</RET_TRACKINGID> <ORDER_NR_EXT>1</ORDER_NR_EXT> <ORDER_STATUS>CLOSED</ORDER_STATUS> <INVOICE_NR>INV00001</INVOICE_NR> <SHIPPING_VENDOR>FLAT</SHIPPING_VENDOR> </ORDER_ITEM>
Um eine Lieferung in Magento zu erzeugen, muss der Status
AUS
übermittelt werden
-
-
Der Status der Bestellung wird auf
complete
gesetzt.Ein Lieferschein wir in Magento erzeugt und
die Trackingformation wird beim Lieferschein gespeichert
Diese Bestellungsinformation werden bei den Daten (Comments) ebenfalls gespeichert
-
Bei erweitertem Logging wird folgender Log-Auszug protokolliert:
[2021-06-11 10:19:30] TechDivisionPixiLogger.INFO: ========================================== [] [] [2021-06-11 10:19:30] TechDivisionPixiLogger.INFO: => TechDivision pixi* Request [] [] [2021-06-11 10:19:30] TechDivisionPixiLogger.INFO: ========================================== [] [] [2021-06-11 10:19:30] TechDivisionPixiLogger.INFO: Time: 2021-06-11T10:19:30+00:00 [] [] [2021-06-11 10:19:30] TechDivisionPixiLogger.INFO: Action: pixi_api_importOrderStatus [] [] [2021-06-11 10:19:30] TechDivisionPixiLogger.INFO: Parameters: [] [] [2021-06-11 10:19:30] TechDivisionPixiLogger.INFO: array ( 'sid' => 'tes*****', 'data' => '<ORDER_ITEM><LINE_ITEM_ID>1</LINE_ITEM_ID><QUANTITY>1</QUANTITY><FULL_PRICE>0.0000</FULL_PRICE><DISCOUNT_PERC>0.00</DISCOUNT_PERC><DISCOUNT_VALUE>0.0000</DISCOUNT_VALUE><PRICE_AMOUNT>0.0000</PRICE_AMOUNT><ITEM_NOTE>{"ampromo_rule_id":"12","discount":"0,"}</ITEM_NOTE><STATUS>AUS</STATUS><TRACKINGID>0815</TRACKINGID><RET_TRACKINGID>4711</RET_TRACKINGID><ORDER_NR_EXT>1</ORDER_NR_EXT><ORDER_STATUS>CLOSED</ORDER_STATUS><INVOICE_NR>INV00001</INVOICE_NR><SHIPPING_VENDOR>FLAT</SHIPPING_VENDOR></ORDER_ITEM>', ) [] [] [2021-06-11 10:19:30] TechDivisionPixiLogger.INFO: [] [] [2021-06-11 10:19:30] TechDivisionPixiLogger.INFO: Session does not exist [] [] [2021-06-11 10:19:30] TechDivisionPixiLogger.INFO: Session is expired [] [] [2021-06-11 10:19:30] TechDivisionPixiLogger.INFO: Set item as shipped (ID 1 of Order 1) [] [] [2021-06-11 10:19:30] TechDivisionPixiLogger.INFO: Set shipment source to default [] [] [2021-06-11 10:19:30] TechDivisionPixiLogger.INFO: Updating order status of 1 from processing to complete [] [] [2021-06-11 10:19:30] TechDivisionPixiLogger.INFO: Answer: [] [] [2021-06-11 10:19:30] TechDivisionPixiLogger.INFO: <?xml version="1.0"?> <ANSWER> <code>OK</code> </ANSWER> [] [] [2021-06-11 10:19:30] TechDivisionPixiLogger.INFO: End of request. [] []
Da Pixi* als "Single-Source-of-Truth" angesehen wird, werden reservierte Bestände mit der Auslieferung wieder aufgelöst.
Die Bestände werden aus Pixi* über den Bestandsimport abgeglichen.
Werden Versandinformationen (Tracking-IDs) nachträglich verändert, so wird ein erneuter Update-Request gesendet. Dieser wird bei Komplettlieferungen ignoriert, da es zu "Überversendungen" kommen kann.
-
Funktionsbeschreibung: Teillieferungen
Neben dem Komplettversand von Bestellungen können auch Teillieferungen verwaltet werden. Diese Funktion muss im Pixi* Control Center wie auch im Magento Pixi* Connector Modul aktiviert werden.
Hierbei sind folgende Themen zu beachten:
-
Der Status wird nicht mehr anhand des übergebenen
STATUS
gesetzt. -
Es wird der Wert aus
ORDER_STATUS
verwendet. -
Dafür gibt es eine separate Statuszuweisung in der Konfiguration (siehe obiges Bild).
-
Für jede Teillieferung wird ein Lieferschein in Magento erzeugt. Sind Tracking-Informationen enthalten, so werden diese beim jeweiligen Lieferschein verzeichnet.
Ab Version 3.1.5 werden die genannten Optionen und Konfigurationen auch für Teilstornierungen genutzt. |
Anwendungsfall: Setzen des Bestellzustandes beim Bestellstatus-Update
Standardmäßig wird beim Bestellstatus-Import bzw. Update nur der Bestellstatus (Order Status) gesetzt. Nun kann über die
Konfiguration
eingestellt werden, ob auch der Bestellzustand (Order State) gesetzt werden. Dies ist vor allem sinnvoll, wenn die
Faktura durch ein Drittanbieter-System Set Order State
oder direkt durch Pixi* vorgenommen wird und gewährleistet werden soll, dass alle Bestelldaten
systemübergreifend konsistent gehalten werden.
Ist das Setzen des Bestellzustandes aktiv, so wird dieser gesetzt und in den Bestellhistorie kommentiert.
Sonderfälle Bestellstatus-Update
Um die Daten zwischen Magento und Pixi* konsistent zu halten gibt es Sonderfälle in der Verarbeitung bei einem Bestellstatus-Update.
Bei den Werten AUS
, STO
und NLB
werden neben der Aktualisierung des Bestellstatus in Magento noch weitere Daten verarbeitet.
Wie bereits im Punkt
Auslieferung
erläutert werden über den Status AUS
Lieferscheine und Trackinginformationen angelegt und verarbeitet.
Mit den Status NLB
oder STO
werden Stornierungen auf Positionsebene verbucht.
Da sich das Pixi-Magento-Connector Modul sich bereits beim Bestätigen der Bestellung seitens Pixi um die Bestandsreservierungsauflösung in Magento kümmert, werden bei Stornierungen oder Lieferscheinerstellungen keine Bestandskorrekturen mehr vorgenommen.
Pixi* Dashboard
Das Pixi* Dashboard ist im Magento-Backend über Pixi* Connector > Dashboard
erreichbar. Es bietet neben der Auflistung aller Pixi*-Magento-Requests einen schnellen Überblick über Daten-Exports und Fehler sowie einige Komfortfunktionen.
In der Schnellübersicht werden folgende Informationen angezeigt:
-
Letzter erfolgreicher Katalog-Export
-
Letzter erfolgreicher Bestell-Export
-
Anzahl exportierter Produkte
-
Anzahl exportierter Bestellungen je Store-View
-
Konfigurationsinformationen
-
Datum der letzten Konfigurationsänderungen
Auflistung aller Pixi*-Requests (History)
Jeder Request welcher von Pixi* an die Magento-Instanz gesendet wird, wird nun in einer sog. Request-History gespeichert. Dabei werden der Typ, das Datum, der Status und Entitäten gespeichert. Über die Tabelle können Sie nach den gewünschten Daten filtern und somit die Historie von Entitäten, von Request-Typen oder nach Status prüfen. Die Entitäten sind direkt verlinkt um die Daten schnell prüfen zu können.
Entitäten werden beim Export von Katalogdaten nicht gespeichert. Werden keine exportierbaren Entitäten bei einem Request gefunden, so werden ebenfalls keine Entitäten in der Historie verknüpft. |
History-Bereinigung
Über das Dashboard ist es möglich die gesamte Request-Historie zu löschen.
Dazu befindet sich in der Kopfzeile des Dashboards der Button Clear Request History
Download Pixi*-Logdatei
Über das Dashboard ist es möglich die Logdatei des Pixi-Moduls herunterzuladen. Dies ist äußerst hilfreich, wenn das "erweiterte Logging" über die Konfiguration aktiviert ist um die Verarbeitungsvorgänge prüfen zu können.
Dazu befindet sich in der Kopfzeile des Dashboards der Button Download Pixi Log
Migration auf Pixi* Magento Connector 3.0.0
Die bisherigen Module Pixi* Connector und Pixi* MSI Addon wurden aufgrund von Kompatibilität und Effizienz für Kunden als einfache entkoppelte Lösung angeboten um den damaligen Umstieg und die Verwaltung von Magento MSI zu vereinfachen.
Das neue Modul Pixi* Magento Connector enthält den Source-Code der beiden "alten" Module und bietet einfache, moderne Kompatibilitätsprüfung für die Magento MSI Integration und deren Verwendung.
Die Zusammenführung der Module und eine Restrukturierung wurde durchgeführt, da Magento MSI die Standard-Lagerverwaltungslogik eines Magento-Shops darstellt.
Folgende einfache Schritte müssen bzgl. der Migration auf die Version 3.0.0 durchgeführt werden
-
Entfernen der "alten" Pixi* Module
composer remove techdivision/pixi && techdivision/pixi-msi
-
Installation des "neuen" Pixi* Magento Connectors
composer require techdivision/pixi-magento-connector ^3.0.0
-
Aktualisierung der Magento-Instanz um Module zu registrieren
bin/magento setup:upgrade
Nach diesen Schritten ist das Modul einsatzfähig und funktioniert. Alle bisherigen Konfigurationen und Optionen werden weiterhin verwendet, da die Konfigurationspfade nicht geändert wurden und der sog. "Namespace" gleich geblieben ist.