pixi

Bestellungen - Datenkommunikation

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

  • pixi ruft ein PHP oder CGI Skript 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 Bestellimport – pixi ruft ein PHP oder CGI Skript mit der gültigen Session ID auf, um noch nicht exportierte Bestellungen zu erhalten.

  • Das Shop-System bestätigt die gültige Session und gibt pro Aufruf je eine XML Datei mit einer einzelnen Bestellung zurück, welche noch nicht als exportiert markiert wurde.

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 Syntax-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

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 entsprechende Fehlermeldung ausgegeben.


Zum Seitenanfang

URL Aufruf für Bestellexport

Der Bestellexport-Aufruf wird verwendet, um die XML Datei mit der Bestellung vom Shop-System zu erhalten. Es darf pro Aufruf immer nur eine Bestellung exportiert werden.

Beispielhafte URL Aufrufe für Bestellexport

http://www.madshop.de/index.php?fnc=OSCExportOrder&session_id=$$$session$$$

oder

http://www.madshop.de/opentrans_pixi.cgi?action=export_order&session=$$$session$$$

Variablen in der XML Datei

  • 'session_id gibt die gültige Session ID an, welche durch den vorherigen Autorisierungs-Aufruf zurückgegeben wurde.

Ein Beispiel für eine zurückgegebene XML Datei finden sie weiter oben.


Zum Seitenanfang

URL Aufruf für Bestätigung des erfolgreichen Exports

Konnte pixi die Bestellung erfolgreich importieren und verarbeiten, gibt pixi über einen URL Aufruf eine entsprechende Bestätigung zurück, damit das Shop-System die Bestellung entsprechend als exportiert markieren kann. Tritt beim Import der XML Datei ein Fehler auf, wird der Shopbetreiber automatisch per E-Mail informiert, die Bestellung wird in pixi trotzdem als exportiert markiert, um keine Endlos-Schleife zu verursachen.

Beispielhafte URL Aufrufe für Bestätigung

http://www.madshop.de/pixishopconnection/index.php/pixi/export/confirm/$$$session$$$/pix_order/pix_orderc/
$$$order_id$$$

Variablen in der XML Datei

  • session_id gibt die gültige Session ID an, welche durch den vorherigen Autorisierungs-Aufruf zurückgegeben wurde.

  • dateexport gibt das Datum des Bestellexport Aufrufs im UNIX Format an.

  • orders_id gibt die Bestellnummer an, welche in der exportierten XML Datei angegeben ist.

Das Shop-System soll folgende Antwort zurückgeben:

<ANSWER>
<ORDER_ID>$$$orders_id$$$</ORDER_ID>
<STATUS>$$$status$$$</STATUS>
<sessionID>$$$session_id$$$</sessionID>
<DESCRIPTION>$$$description$$$</DESCRIPTION>
</ANSWER>";

Variablen in der XML Antwort

  • session_id gibt die gültige Session ID an, welche durch den vorherigen Autorisierungs-Aufruf zurückgegeben wurde.

  • status gibt SUCCESS oder FAILURE zurück.

  • orders_id gibt entweder die externe ID der Bestellung oder die externe Bestellnummer, welche in der exportierten XML Datei angegeben war zurück.

  • description gibt die entsprechende Fehlermeldung zurück.


Zum Seitenanfang

URL Aufruf für Status-Änderungen von Bestellungen

pixi gibt aufgrund Teil- und Nachlieferungen, nicht lieferbaren Artikeln, etc. eine Statusänderung immer pro Bestellzeile zurück. Exportiert werden Preis, Menge, Status und der Sendungsverfolgungs-Code des Logistik-Dienstleisters. Wird der Export vom Shop entsprechend beantwortet und bestätigt, markiert pixi die entsprechende Statusänderung als bereits exportiert.

Beispielhafter URL-Aufruf

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

oder

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

mögliche Variablen

  • session_id gibt die gültige Session ID an, welche durch den vorherigen Autorisierungs-Aufruf zurückgegeben wurde.

  • data beinhaltet die im XML Format übergebenen Daten

Beispiel XML, welche an den Shop übermittelt wird

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

War die Statusübermittlung erfolgreich, soll das Shop-System folgende Antwort zurückliefern:

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

War die Statusübermittlung nicht erfolgreich, soll das Shop-System folgende Antwort zurückliefern:

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


Allgemeine Hinweise zu URL Funktionsaufrufen

  • Die URL Funktionsaufrufe seitens pixi erfolgen für den Artikel- (BMECat) und Bestell-Import (OPENtrans) im Schnitt alle 10 bis 180 Sekunden (je nach aktueller Serverlast).

  • Die URL Funktionsaufrufe für Bestands- und Bestellstatus-Export erfolgen direkt nach entsprechender Aktion in pixi, z. B. Bestandserhöhung oder Reduzierung, Ändern des Bestellstatus, etc.


Zum Seitenanfang