Open Catalog Interface (OCI) - Verwaltung
Das Open Catalog Interface (OCI) ist eine standardisierte Schnittstelle zum Austausch von Kataloginformationen zwischen Online-Katalogen und ERP-Systemen. Der Standard wurde von SAP definiert.
Das Modul ermöglicht die freie Schnittstellenkonfiguration über das Backend.
- 1 Aktivierung
- 2 Rückgabe konfigurieren
- 3 OCI-XML
- 3.1 Zusatzinformationen
- 3.1.1 Übertragen
- 3.1.2 Ausschluss
- 3.1.3 Abfragen
- 3.1.4 Reseller Api (Dropshipping)
- 3.1 Zusatzinformationen
Aktivierung
Um OCI nutzen zu können, muss die SSO-Schnittstelle in der Kundenverwaltung aktiviert werden.
Diese ist unter Verwaltung | Kunden | bearbeiten | SSO-Schnittstelle zu finden. Bei der Aktivierung der SSO-Schnittstelle muss eine Standard-Budgetgruppe für neue Benutzer definiert werden. Weitere Einstellungen sind nicht erforderlich.
Rückgabe konfigurieren
Die Rückgabe kann frei konfiguriert werden. Die Konfiguration befindet sich unter "Add-ons → Oci". Es werden nur die SAP OCI-Felder unterstützt.
Alle aufgelisteten Felder können mit folgenden Feldern aus Lead-Print verknüpft werden:
Oci, Mandant, Shop, Artikel, Bestellung, Bestellposition, Einstellungen. Des Weiteren ist es möglich einen statischen Text zu hinterlegen und die Zeichenlänge anzupassen.
Verwendung von Smarty-Befehlen ab v6.60.0
Um Berechnungen oder Textmanipulationen innerhalb der OCI-Daten zu ermöglichen, können Smarty-Befehle verwendet werden. Hierzu muss trotzdem weiterhin die Variable in eigenen geschweiften Klammern angegeben werden.
Beispiel zur Variablenausgabe ohne Smarty
{$order_cart.s_ntotal}
Beispiel zur Variablenausgabe mit Rappenrundung über Smarty
{(({$order_cart.s_ntotal} * 20)|round:0) / 20}
Über den Button "Standard Einstellungen laden" werden die Standardverknüpfungen wiederhergestellt.
Über den Link "Vorschau anzeigen" können Bestellungen mit der aktuellen Konfiguration angezeigt werden. Die Vorschau enthält die Ansicht der POST-Daten (Übergabe an das SAP-System).
Über die URL-Eingabe können die POST-Daten abgesendet werden.
Grundeinstellungen
Preis und Menge aktualisieren?
Ist die Option aktiviert, wird der Bestellpreis und die Menge innerhalb der OCI-Freigabe aktualisiert.
Die Aktualisierung erfolgt erst dann, wenn die Menge in der XML gesetzt ist oder die Menge über das GET-Parameter "quantity" übermittelt wird.
Hinweis
Die Einstellungen "min. Bestellmenge" und "max. Bestellmenge" werden nicht unterstützt.
Nur die OCI Felder übermitteln?
Hierbei gibt es die Besonderheit, dass die Variable NEW_ITEM-LONGTEXT_n
nur standarkonform (NEW_ITEM-LONGTEXT_n:132[] ohne n in den Klammern) ausgeliefert wird wenn diese Option aktiviert ist.
Ansonsten wir die Variable in unserer usprünglichen Konfiguration mit n in Klammern ausgeliefert (NEW_ITEM-LONGTEXT_n:132[n])
IFrame
Wenn in den Grundeinstellungen OCI IFrame aktiviert ist wird der komplette Header (
inc.header.tpl
) auf der Webseite ausgeblendet.
Falls es also Probleme mit Header verschwunden/weg gibt, könnte dies der Auslöser sein.
IDOC Beispiel
[...]
<E1EDP01 SEGMENT="1">
<MENGE>1</MENGE>
[...]
</E1EDP01>
[...]
XML-Bestellbeleg Beispiel
[...]
<TotalQuantity>
<Quantity>
<QuantityValue>1</QuantityValue>
</Quantity>
</TotalQuantity>
[...]
Warenkorb Zusatzfelder
Ab Version 5.15.0
Alle OCI relevanten Felder können mit Hilfe von Artikelzusatzfeldern überschrieben werden.
Alle angelegten Warenkorb Zusatzfelder können den OCI-Feldern zugewiesen werden.
Der Besteller kann für das jeweilige Feld im Shop die Eingaben im Bestellprozess tätigen.
OCI-XML
Zusatzinformationen
Übertragen
Unter <OrderHeader> muss ein Knoten <OrderAdditionalInfoFields> existieren.
Dieser kann mehrere Informationen mit einem key und value enthalten. Diese werden dann als Zusatzinformation in der Order gespeichert.
<?xml version="1.0" encoding="UTF-8"?>
<Order>
<OrderHeader>
<OrderNumber>...</OrderNumber>
<OrderIssueDate>...</OrderIssueDate>
<OrderCurrency>...</OrderCurrency>
<OrderParty>...</OrderParty>
<OrderAdditionalInfoFields>
<Info>
<key>k1</key>
<value>val1</value>
</Info>
<Info>
<key>k2</key>
<value>val2</value>
</Info>
</OrderAdditionalInfoFields>
</OrderHeader>
<OrderDetail>
...
</OrderDetail>
<OrderSummary>
...
</OrderSummary>
</Order>
Ausschluss
Das order05 XML-Format wird aktuell für die Order-Zusatzinformationen nicht unterstützt.
Abfragen
Im Dienstleister XML-Export, können die Werte wie folgt abgefragt werden.
Der übermittelte key bekommt den prefix ociInfo_ und so können diese Daten abgefragt und verwendet werden:
<Info>
{if $o->getOrderInfo('ociInfo_k1')}
<k1>{$o->getOrderInfo('ociInfo_k1')}</k1>
{/if}
</Info>
Reseller Api (Dropshipping)
Wenn ein Reseller Artikel bestellt wurde, stehen auch die Attribute des Artikels zur Verfügung. Dazu verwendet man die Variable {$reseller.Format}. Format steht in diesem Fall als Platzhalter für das Attribut.
Bei Attributen mit Leerzeichen wird das Leerzeichen entfernt. Beispiel: “Anzahl Motive” => {$reseller.AnzahlMotive}
Außerdem wird der Ursprüngliche Preis (ohne Aufschläge für Reseller Artikel) als interner Preis abgespeichert, solange kein interner Preis in der Preisstaffel hinterlegt ist. Auf diesen Preis kann man mit {$order_cart_info.price_intern} zugreifen.
Ab Version 8.15.0
Es stehen folgende Variablen zur Verfügung:
Information | Variable |
|---|---|
SKU (ID der Kombination) | {$reseller.sku} |
Produkt-ID | {$reseller.productId} |
Original Preis | {$reseller.originalPrice} |
Voraussichtliches Lieferdatum | {$reseller.deliveryDate} |
IDs der ausgewählten Attribute und Optionen | {foreach from=$reseller.attributeIds key=attributeId item=optionId}
{$attributeId}: {$optionId}
{/foreach} |