> ## Documentation Index
> Fetch the complete documentation index at: https://dokumentation.websale.de/llms.txt
> Use this file to discover all available pages before exploring further.

# WWS-Infodatenschnittstelle verwenden

> Aufträge und Lagerbestände direkt aus dem Warenwirtschaftssystem im Shop anzeigen, ohne die Daten dorthin zu kopieren.

Dieses Kapitel wird überarbeitet. Bei Fragen wenden Sie sich bitte an Ihren WEBSALE Ansprechpartner.

Ein angemeldeter Kunde will wissen, was er im letzten Jahr bestellt hat und ob ein Artikel gerade lieferbar ist. Beide Antworten stehen in der Warenwirtschaft, nicht im Shop. Die WWS-Infodatenschnittstelle holt sie von dort, wenn der Kunde danach fragt. Kopiert wird nichts.

> [!WARNING]
>
> Die Schnittstelle ist für das Warenwirtschaftssystem V4 der D\&G entwickelt worden und nur mit diesem einsetzbar.

## Voraussetzungen

Damit die Schnittstelle greift, müssen vier Bedingungen erfüllt sein:

* Die Schnittstelle ist von der WEBSALE AG freigeschaltet.
* Der Käufer ist angemeldet.
* Der Käufer hat eine Kundennummer.
* Diese Kundennummer ist für ihn im Shop nicht änderbar.

Die letzte Bedingung ist keine Formalie. Eine änderbare Kundennummer hieße, dass jeder Kunde die Aufträge eines beliebigen anderen abrufen könnte.

## Technische Einrichtung

| Punkt | Wert |
| - | - |
| Übertragung | HTTP über Port 80 |
| Verschlüsselung | Blowfish mit 128 Bit |
| Datenformat | XML |
| Zeichencodierung | UTF-8 |

Damit der Shop Ihr Warenwirtschaftssystem erreicht, braucht WEBSALE zwei Angaben von Ihnen: die IP-Adresse, unter der das System erreichbar ist, und die Adresse, die der Shop aufrufen soll.

Ist das Warenwirtschaftssystem nicht direkt aus dem Internet erreichbar, stellt WEBSALE einen VPN-Zugang bereit. Das System baut dann seinerseits eine gesicherte Verbindung zum Shop auf.

## Abstimmung mit der Warenwirtschaft

Der Shop kann nur zeigen, was die Warenwirtschaft liefert. Die Reihenfolge der Arbeit ergibt sich daraus:

1. Festlegen, welche Daten die Warenwirtschaft liefert.
2. Diese Daten im Shop-Modul konfigurieren.
3. Die Templates bauen, die diese Daten anzeigen.

Wer mit Schritt 3 anfängt, baut Felder, die nie gefüllt werden.

## Was der Kunde filtern kann

| Filter | Wirkung |
| - | - |
| Anzahl | wie viele Aufträge die Übersichtsliste zeigt |
| Zeitraum | von Datum bis Datum |
| Zeitraum als Auswahl | diese Woche, letzte Woche, dieser Monat, letzter Monat und weitere |
| Auftragstyp | abgeschlossene Aufträge, offene Aufträge, Stornos, Retouren und weitere |
| Suche | freie Suche in allen Feldern, die die Warenwirtschaft übergibt |

## Einrichten

### Schritt 1: Freischaltung

Die Funktion muss freigeschaltet werden. Wenden Sie sich an Ihren WEBSALE Ansprechpartner.

### Schritt 2: Die Konfiguration anlegen

Je Subshop, der die Schnittstelle nutzt, gehört eine Datei `wws-online-interface.config` in das Konfigurationsverzeichnis des Shops. Sie lässt sich auch über den Online-Servicebereich anlegen.

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
# Die Namen der Templates sind frei wählbar
<Templates>
   ListEntries    = incl_wws_list.htm
   ShowEntry      = incl_wws_detail.htm
   PendingEntries = incl_wws_pending.htm
   error          = incl_wws_error.htm
   StockAmount    = incl_wws_stockamount.htm
   CommonRequest  = incl_wws_commonrequest.htm
</Templates>

# Auftragstypen, textuelle Ersetzung
<Types>
   Standard = 1
   onChange = submit();
   0        = Offene Bestellungen
   1        = Historische Einkäufe
</Types>

# Auswahl für die Anzahl der Einträge, Werte frei wählbar
<MaxEntries>
   Standard = 5
   onChange = submit();
   +Entry   = 5
   +Entry   = 10
   +Entry   = 20
   +Entry   = 50
   +Entry   = 100
</MaxEntries>

# Auswahl des Zeitraums
<PeriodSelection>
   ShowYearsAgo = 10
   MonthName1   = Januar
   MonthName2   = Februar
   ...
   MonthName12  = Dezember
   AltThisWeek  = Diese Woche
   AltLastWeek  = Letzte Woche
   AltThisMonth = Dieser Monat
   AltLastMonth = Letzter Monat
   AltThisYear  = Dieses Jahr
   AltLastYear  = Letztes Jahr
   AltOnchange  = submit();
</PeriodSelection>

# Kopfdaten: die Parameter sind optional, ihre Bedeutung ist fest
<HeadData>
   H1  = Kundennummer
   H2  = Bestelldatum
   H3  = Bestelluhrzeit
   H4  = Bestellnummer
   H6  = Belegnummer
   H7  = Belegdatum
   H8  = Betrag
   H9  = Vorgang
   H11 = Ausgeliefert am
   H12 = Ausgeliefert mit
   H13 = Paketnummer
   H14 = Paketverfolgung
   H16 = Shop-Nummer
   H50 = Referenz Text
   H300 = Offsetfeld 2
</HeadData>

# Positionsdaten: die Parameter sind optional, ihre Bedeutung ist fest
<PositionData>
   P1   = Menge
   P2   = Werbemittel
   P3   = Artikelnummer
   P4   = Varianten-Information 1
   P5   = Varianten-Information 2
   P6   = Preis
   P21  = Bezeichnung
   P22  = Lieferstatus
   P429 = Feld 429
   P388 = Feld 388
</PositionData>
```

> [!WARNING]
>
> Die Nummern der Kopf- und Positionsdaten sind nicht frei belegbar. Jede Nummer steht für ein bestimmtes Feld, `H1` ist immer die Kundennummer und `P1` immer die Menge. Sie legen nur fest, welche Felder erscheinen und wie sie beschriftet sind.

Referenz: Beschreibung der Konfiguration "wws-online-interface.config"

### Schritt 3: Templates für die Auftragsanzeige

Für die Aufträge werden fünf Templates gebraucht: ein Master-Template und vier Modul-Templates, die darin über externe Includes erscheinen.

| Template | Zeigt |
| - | - |
| Master-Template | den Rahmen, aus dem die übrigen geladen werden |
| Übersichtsliste | die Aufträge in der Liste |
| Einzelner Auftrag | einen Auftrag mit seinen Positionen |
| Noch nicht übernommene Aufträge | Aufträge, die die Warenwirtschaft noch nicht kennt |
| Fehlermeldungen | was schiefging |

Das Master-Template rufen Sie im Kundenkonto auf, sein Name ist frei wählbar:

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<a href="~WS-SSLLoadTpl(ws_online_erp.htm)~">Meine Aufträge</a>
```

Darin werden die Modul-Templates eingebunden:

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{WS-OnlineERPLink}
   ~WS-ExternInclude($WS-OnlineERPLink$)~
{/WS-OnlineERPLink}
```

Die Klammerung sorgt dafür, dass der Bereich nur erscheint, wenn die Schnittstelle überhaupt verfügbar ist. Ohne sie steht bei einer Störung eine leere Seite im Kundenkonto.

Referenz: [WS-SSLLoadTpl()](https://dokumentation.websale.de/v8s/referenz/tags/ws/includes-templates-css-und-js.md) · [WS-OnlineERPLink](https://dokumentation.websale.de/v8s/referenz/tags/ws/merkzettel-vergleich-upload-und-externe-dienste.md#die-tags-im-uberblick) · [WS-ExternInclude()](https://dokumentation.websale.de/v8s/referenz/tags/ws/merkzettel-vergleich-upload-und-externe-dienste.md)

Wegweiser: [Externe Inhalte einbinden](https://dokumentation.websale.de/v8s/externe-dienste/externe-inhalte-einbinden.md)

### Schritt 4: Templates für die Lagerbestandsabfrage

Hier genügen drei Templates: das Master-Template, die Anzeige des Bestands und die Fehlermeldungen.

Aufgerufen wird das Master-Template mit Produkt- und Variantenindex:

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<a href="~WS-SSLLoadTpl(ws_online_erp_stock.htm)~&prod_index=~PR-ProdIndex~&depvar_index=~PR-VarIndex~">Verfügbarkeit prüfen</a>
```

Im Master-Template wird das Modul-Template eingebunden. Der Parameter `erp_pn` übergibt dabei die Produktnummer, dafür lässt sich jedes Produktdatenfeld verwenden.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{!ST-Robot}
   {WS-OnlineERPStockLevelLink}
      ~WS-ExternInclude($WS-OnlineERPStockLevelLink$&erp_pn=$PR-NumberEnc$)~
   {/WS-OnlineERPStockLevelLink}
{/!ST-Robot}
```

> [!WARNING]
>
> Die Klammerung mit `{!ST-Robot}` ist Pflicht. Ohne sie schickt jeder Suchmaschinen-Crawler bei jedem Produkt eine Anfrage an Ihre Warenwirtschaft, und zwar bei jedem Durchlauf des gesamten Sortiments.

Welches Produktdatenfeld die Warenwirtschaft erwartet, ist system- abhängig. Bei D\&G ist es beispielsweise `PR-OrderInfoEnc` statt `PR-NumberEnc`. Stimmen Sie das mit dem Ansprechpartner Ihres Warenwirtschaftssystems ab.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{!ST-Robot}
   {WS-OnlineERPStockLevelLink}
      ~WS-ExternInclude($WS-OnlineERPStockLevelLink$&erp_pn=$PR-OrderInfoEnc$)~
   {/WS-OnlineERPStockLevelLink}
{/!ST-Robot}
```

Optional lässt sich eine Filialkennung übergeben oder auswählen. Die Einzelheiten dazu klären Sie mit WEBSALE.

Referenz: [WS-OnlineERPStockLevelLink](https://dokumentation.websale.de/v8s/referenz/tags/ws/merkzettel-vergleich-upload-und-externe-dienste.md#die-warenwirtschafts-schnittstelle) · [Styles für die WWS-Infodatenschnittstelle](https://dokumentation.websale.de/v8s/externe-dienste/wws-infodatenschnittstelle.md) · [Tags für die WWS-Infodatenschnittstelle](https://dokumentation.websale.de/v8s/externe-dienste/wws-infodatenschnittstelle.md)

## Verwandte Themen

* Wegweiser: [Externe Inhalte einbinden](https://dokumentation.websale.de/v8s/externe-dienste/externe-inhalte-einbinden.md)
* Wegweiser: [Integrierte Daten-Schnittstelle (IDS)](https://dokumentation.websale.de/v8s/externe-dienste/integrierte-daten-schnittstelle-ids.md)
* Wegweiser: [Kundenkonto](https://dokumentation.websale.de/v8s/zahlungsarten-anlegen/kundenkonto.md)


## Related topics

- [ERP- (WWS-InfoDaten)](https://dokumentation.websale.de/v8s/referenz/tags/erp-wws-infodaten.md)
- [Styles für Module und Schnittstellen](https://dokumentation.websale.de/v8s/referenz/styles/module-und-schnittstellen.md)
- [Integrierte Daten-Schnittstelle (IDS)](https://dokumentation.websale.de/v8s/externe-dienste/integrierte-daten-schnittstelle-ids.md)
- [Bestelldetails anzeigen ohne Login](https://dokumentation.websale.de/v8s/weitere-funktionen-im-bestellprozess-kontext/bestelldetails-anzeigen-ohne-login.md)
- [Merkzettel, Vergleich, Upload und externe Dienste](https://dokumentation.websale.de/v8s/referenz/tags/ws/merkzettel-vergleich-upload-und-externe-dienste.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.