pixi

Artikel - Datenkommunikation

So funktioniert die Kommunikation zwischen pixi und dem Shop-System:

  • pixi ruft ein PHP oder CGI Skript des Shop-Systems mit Benutzername und Passwort auf, um eine Session ID zu erhalten.

  • Das Shop-System soll nach erfolgreicher Autorisierung eine XML Datei mit einer Session ID zurückgeben.

  • URL Aufruf für Katalogimport – pixi ruft ein PHP oder CGI Skript des Shop-Systems mit der gültigen Session ID auf, um noch nicht exportierte Artikel zu erhalten.

  • Das Shop-System bestätigt die gültige Session und gibt die XML Datei mit maximal 250 Artikeln zurück (wg. möglichem PHP Pufferüberlauf), welche noch nicht als exportiert markiert wurden.


Sobald das Shop-System die XML Datei zurückgibt, wird diese heruntergeladen und auf den pixi Serversystemen lokal abgespeichert und sofort verarbeitet. Sollten beim Parsen der XML-Datei Syntax- oder Inhaltsfehler festgestellt werden, wird die importierte XML Datei verworfen und an eine vorab definierte E-Mail-Adresse eine entsprechende Fehlermeldung (doppelter Barcode, Barcode ersetzt, grundlegende Fehler, etc.) ausgegeben.

Alle Aufrufe seitens pixi werden dynamisch generiert. Die aufgerufenen Skripte unterliegen bzgl. Syntax und Funktionsaufruf keinerlei Einschränkungen.

Siehe auch: BMEcat Syntax-Spezifikationen für die Übergabe im XML Format, OPENtrans Syntax-Spezifikationen für die Übergabe im XML-Format


URL Aufruf für Autorisierung

Vor jedem Funktionsaufruf wie Artikel-/Bestellimport oder Status-Export wird von pixi eine sog. Session ID angefordert, welche für einen bestimmten Zeitraum gültig ist (in Abhängigkeit der Einstellung im Shop-System). Stimmen Benutzername und Passwort überein, soll das Shop-System die Session ID in einer XML-Datei zurückgeben.

Beispielhafte http-URL-Aufrufe für Autorisierung:

http://www.meinshop.de/pixi.cgi?action=session_start&user=pixi_interface&pass=dasistgeheim

oder

http://www.madshop.de/index.php?fnc=OSCAuthorization&usr=pixi_interface&pwd=dasistgeheim

Hinweis: Die einzelnen URLs sind komplett variabel, sie können individuell pro pixi-Datenbank vorgegeben werden. Aber: Es können pro pixi-Datenbank nur ein Satz URLs hinterlegt werden. Wenn Sie mehr als einen Shop an pixi anbinden, müssen alle Shops die gleiche Art URLs verwenden.

Variablen

  • Benutzername (hier: „pixi_interface“)

  • Passwort (hier: „dasistgeheim“)


Zurückgegebenes XML Beispiel

<?xml version="1.0" encoding="ISO-8859-1"?>
<ANSWER>
<STATUS>SUCCESS</STATUS>
<sessionID>1155558302.83</sessionID>
<DESCRIPTION></DESCRIPTION>
</ANSWER>


Variablen in der XML Datei

  • STATUS gibt „SUCCESS“ oder „FAILURE“ zurück.

  • sessionID gibt die gültige Session ID an.

  • DESCRIPTION - Im Fall eines Fehlers wird hier die Fehlermeldung ausgegeben.


Zum Seitenanfang

URL Aufruf für Katalog-Update

Der Katalog-Update Aufruf wird verwendet, um alle seit dem letzten Aufruf neuen und/oder geänderten Artikel nach pixi zu exportieren. pixi nutzt das UNIX-Zeitformat um dem letzten Katalog-Update-Aufruf zu indizieren. Im Shop-System wird ebenfalls ein Feld benötigt, welches den Zeitpunkt des letzten Katalog-Exports im UNIX-Format beinhaltet.

Dieser Wert wird beim nächsten Katalog-Update Aufruf mit dem der letzten importierten XML-Datei verglichen. Nach jedem Katalog-Update-Aufruf und dem erfolgreichen Import der XML-Datei nach pixi wird sofort eine Bestätigung gesendet, welche dann entsprechend den in der letzten XML Datei beinhalteten Zeitstempel dem Shop-System angibt, welches den Wert dann entsprechend in der Shop-System-Datenbank aktualisiert. Dieser Prozess stellt sicher, dass bei jedem Katalog-Update-Aufruf nur die seit dem letzten Aufruf geänderten oder neuen Artikel nach pixi exportiert werden.


Beispielhafte URL Aufrufe für Katalog-Update

http://www.meinshop.de/pixi.cgi?action=export_update&session=1155558302.83

oder

http://www.meinshop.de/index.php?fnc=OSCExportCatalog&session_id=1155558302.83&onlynew=n

Variablen

  • session_id (hier: „1155558302.83“) beschreibt die bei der Autorisierung zurückgegebene Session ID

  • onlynew (hier: „n“) Ist der Wert der Funktion gleich „y“, werden nur neue Artikel seit dem letzten Katalog-Update berücksichtigt, ist der Wert der Funktion gleich „n“ werden sowohl neue als auch geänderte Artikel berücksichtigt.

Nachdem URL-Aufruf muss entsprechend shopseitig die XML Datei ausgegeben werden, ein Beispiel finden Sie weiter oben.


Beispiel-URL für Bestätigung des Katalog-Imports

http://www.meinshop.de/index.php?fnc=OSCConfirmCatalog&session_id=1155542302.97&date=1192710892

oder

http://www.meinshop.de/pixi.cgi?action=reset_export_status&date=1192710892&session=1155542302.97

Variablen

  • session_id (hier: „1155542302.97“) beschreibt die bei der Autorisierung zurückgegebene Session ID

  • date (hier: „1192710892“) beschreibt den Zeitstempel des vorherigen Katalog-Updates; aus BMEcat > EXPORT_DATE entnommen

Zum Seitenanfang

URL Aufruf für vollständigen Katalog-Import

Wird verwendet, um den Export des kompletten Artikelstamms anzustoßen. Durch den URL Aufruf soll shopseitig eine Funktion ausgeführt werden, welche dem Zeitstempel auf „0“ zurücksetzt. Dies verursacht beim nächsten Aufruf des Katalog-Updates (s.o.) den vollständigen Re-Import aller Artikel.


Beispiel-URL für vollständigen Katalog-Import

http://www.madshop.de/index.php?fnc=OSCConfirmCatalog&session_id=2568542387.21&date=0000000000

Variablen

  • session_id (hier: „2568542387.21“) beschreibt die bei der Autorisierung zurückgegebene Session ID.


Zurückgegebenes XML Beispiel

<?xml version="1.0" encoding="ISO-8859-1"?> 
<ANSWER>
<EXPORT_DATE>1970-01-01 01:00:00</EXPORT_DATE>
<STATUS>SUCCESS</STATUS>
<sessionID>1155558691.76</sessionID>
<DESCRIPTION>Date was updated successfuly</DESCRIPTION>
</ANSWER>


Variablen in der XML Datei

  • STATUS gibt „SUCCESS“ oder „FAILURE“ zurück.

  • sessionID gibt die gültige Session ID an.

  • DESCRIPTION - Im Fall eines Fehlers wird hier die Fehlermeldung ausgegeben.

  • EXPORT_DATE gibt das in der URL-Funktion übermittelte UNIX-Datum zurück.

Zum Seitenanfang

URL Aufruf für Export des verfügbaren Lagerbestandes

Die in pixi verwalteten Lagerbestände können minutenaktuell zurück an das Shop-System übermittelt werden. Hierzu ruft pixi über eine URL ein Skript in Ihrem Shop-System auf, welches die an die URL angehängten Werte (im XML-Format) verarbeiten kann.


Beispiel-URL’s für Bestands-Export

http://www.madshop.de/index.php?fnc=OSCImportStock&session_id='5687245686.01&data=$$$data$$$'

oder

http://www.madshop.de/pixi.cgi?action=import_stock&data=$$$data$$$&session=5687245686.01

Variablen

  • session_id (hier: „5687245686.01“) beschreibt die bei der Autorisierung zurückgegebene Session ID

  • data (hier: „$$$data$$$“) beinhaltet Informationen über den Lagerbestand, Lieferzeiten, etc.


XML-Beispiel, welches als Parameter an den Shop zurückgegeben wird

Ein Beispiel für den Export des Lagerbestands eines Artikels inklusive Beschreibung der verwendeten Tags finden Sie im pixipedia-Artikel Artikelexport.


Beispiel für XML-Antwort vom Shop-System

<?xml version="1.0" encoding="ISO-8859-1"?> 
<ANSWER>
<code>OK</code>
<message></message>
</ANSWER>

ODER

<?xml version="1.0" encoding="ISO-8859-1"?> 
<ANSWER>
<code>ERROR</code>
<message>ErrorMessage</message>
</ANSWER>

Variablen

  • CODE (hier: „OK“) gibt „OK“ oder „ERROR“ zurück.

  • MESSAGE gibt die etwaige Fehlermeldung aus.


Hinweise (optionale Möglichkeiten, Verwendungen)

  • Anhand der Lagermenge können Sie im Shop-System den Status eines Artikels im Frontend präzise darstellen: z. B. wenn Lagermenge > 0 dann „Artikel ab Lager lieferbar“, wenn Lagermenge = 0 dann „Lieferzeit: X Tage“ oder „Artikel derzeit nicht verfügbar“, abhängig je nach Artikelsegment oder Artikel.

  • Über das zurückgegebene Lieferdatum können Sie beim Artikel im Frontend die nächstmögliche Verfügbarkeit darstellen.

  • Im Feld EAN steht immer die aktuell in pixi hinterlegte EAN. Anwender haben die Möglichkeit, die EAN eines Artikels direkt in pixi zu ändern. Somit besteht die Möglichkeit, die aktuelle EAN eines Artikels auch im Shop-System zu synchronisieren.

  • Im Falle der Code ist "ERROR", dann muss Message einen Text enthalten.


Batch-Export für mehrere Artikel pro URL-Aufruf

Durch eine Einstellung im pixi ControlCenter können pro Aufruf auch mehr als ein Artikelbestand übertragen werden.



XML-Beispiel, welches als Parameter an den Shop zurückgegeben wird, bei aktivem Batch-Export

<?xml version="1.0" encoding="ISO-8859-1"?> 
<ARTICLES>
<ARTICLE_ITEM> 
<ARTICLE_ITEM_ID>18201-180160-bl</ARTICLE_ITEM_ID>
<QUANTITY>12</QUANTITY>
<DELIVERY_DATE>2006-10-18T00:00:00</DELIVERY_DATE>
<MIN_STOCK_QTY>0</MIN_STOCK_QTY>
<ACTIVE>True</ACTIVE>
<EAN>4000053269821</EAN>
<OPENSUPPLORDERS>12</OPENSUPPLORDERS>
</ARTICLE_ITEM>
<ARTICLE_ITEM> 
<ARTICLE_ITEM_ID>18201-180160-b2</ARTICLE_ITEM_ID>
<QUANTITY>0</QUANTITY>
<MIN_STOCK_QTY>0</MIN_STOCK_QTY>
<ACTIVE>True</ACTIVE>
<EAN>4000053269821</EAN>
</ARTICLE_ITEM>
</ARTICLES> 

Zum Seitenanfang