# Standardintegrationen (für Partner)

### Einheitlicher Funktionsumfang

Alle auf Connect entwickelten Integrationen zu externen Sales Channels müssen mindestens einen grundlegenden Order2Cash Prozess vollständig abbilden können. Dazu gehören insbesondere folgende Workflows

Stock-Sync

* Trigger wenn möglich per Event
* Übertragung per Item in Echtzeit oder als Batch
* Abholen des verfügbaren Stocks pro Item
* Schreiben des verfügbaren Stocks pro Item
* Lagerführung ja/nein pro Item
* Einbeziehung von offenen Bestellungen und Reservierungen
* Beachtung von Multilager SetUps
* Einbeziehung von Pseudostock-Regeln
* Beachtung von JIT-Articles

Price-Sync

* Trigger wenn möglich per Event
* Übertragung per Item in Echtzeit oder als Batch
* Verkaufspreis pro Item
* Pseudopreis pro Item
* Beachtung von Preisgruppen
* Beachtung von Gültigkeiten

Sales Order Import

* Aufträge importieren
* Trigger per Cronjob oder per Webhook aus dem Sales Channel
* Mapping von Zahl- und Bestellstatus
* Mappen auf Xentral Standard Datenstruktur
* Korrekte Übergabe von Rabatten und Versandkosten
* Korrekte Übergabe von Steuern

Order State und Tracking-Update

* Trigger per Event bei Änderung des Orderstatus oder Generierung eines Versandlabels
* Beachtung von Bestellungen ohne Trackings
* Beachtung von Delivery Notes mit mehreren Deliveries
* …<br>

Der Export von Produktstammdaten, Medien, etc, von Xentral in Richtung Verkaufskanal sowie weitere kanalspezifische Import/Export-Funktionen (Rechnungsupload, automatischer Refund, Statusabgleich bei Stornierungen, etc.) sind möglich und aus Kundensicht wünschenswert, sollten aber die Umsetzung und den Livegang der Order2Cash-Integration nicht verzögern, sofern diese Funktionen vom jeweiligen Marktplatz nicht als verpflichtend vorausgesetzt werden.

### Konfiguration in der Xentral UI

Alle für die Konfiguration der jeweiligen Integration notwendigen Nutzerangaben sollten direkt über die Xentral UI eingegeben werden können. Ein Wechsel bzw. Die Nutzung von verschiedenen Frontends sollte wenn irgend möglich vermieden werden.

Dazu wird aus Connect pro Integration eine sogenannte Sales Channel Management App bereitgestellt, die per iFrame in der XentralUI zugänglich gemacht wird. Über diese App können alle kundenindividuellen Eingaben erfasst und als Preset Values im jeweiligen Projekt der Connect Kundeninstanz zur Verfügung gestellt werden.

### Standardisierter Aufbau der Sales Channel Management Apps

Der Aufbau der jeweiligen Sales Channel Management App soll soweit möglich standardisiert sein, d.h. Der Grundaufbau, Felder, Labels, etc. sollen soweit möglich kanalübergreifend gleich sein und nur bei kanalspezifischen Unterschieden abweichen. Ziel ist eine einheitliche Nutzungserfahrung der User über alle Standardintegrationen hinweg und ein deutlich reduzierter Dokumentations- und Schulungsaufwand, da alle Standardintegrationen auf Basis einer universellen Dokumentation nutzbar sind.

### Entwicklung gegen den Xentral Standard

Die von Xentral selbst entwickelten und zur Verfügung gestellten Integrationen bestehen standardmäßig nicht aus einem, sondern aus 2 Projekten, wobei das eine Projekt alle Workflows zwischen Xentral und Connect enthält, das zweite Projekt alle kanalspezifischen Workflows. Das Xentral-seitige Projekt ist dabei kanalagnostisch, das bedeutet: Das gleiche Projekt mit identischen Worfklows wird zur Anbindung verschiedener Verkaufskanäle eingesetzt. Entgegengesetzt dazu existiert jeweils ein eigenes Projekt pro Verkaufskanal, dass die kanalspezifischen Workflows enthält.

### Standardisierte Workflow-Implementierung

Workflows mit gleicher Aufgabe sollten kanalübergreifend gleich aufgebaut sein. Dies betrifft insbesondere die Benennung und Gruppierung von Workflows, den Aufbau der Workflows aus Komponenten sowie die Verschachtelung und Hierarchien der Workflows untereinander (Eltern-Kind-Logik). Wir empfehlen Workflows, die in gleicher Form für verschiedene Integrationen nutzbar sind, modular aufzubauen (so dass diese einfach in weiteren Projekten wiederverwendet werden können) oder hierfür bereits durch Connect vorgegebene Workflows zu nutzen. Ein möglichst hoher Standardisierungsgrad innerhalb der einzelnen Workflowimplementierungen erleichtert die Einarbeitung und das Verständnis fremder Integrationen massiv und vereinfacht Support sowie die Bereitstellung von Customizations durch den jeweiligen Onboarding-Partner.

### Standardisierte Datenstrukturen

Connect-Integrationen nutzen sogenannte Standarddatenstrukturen, mit Hilfe derer kanalspezifische Daten vor der API normalisiert werden. Wir empfehlen auch bei Partner Build Integrations gegen die bestehenden Standarddatenstrukturen zu arbeiten um so die bestehenden Xentralseitigen Workflows vollumfänglich nutzen zu können.

### Performance, Skalierbarkeit, Stabilität

Um sicherzustellen, dass alle Standardintegrationen auch bei hoher Last performant funktionieren, sollte bei der Implementierung von Workflows auf ein schlankes Workflow-Design sowie einen modularen Grundaufbau geachtet werden. Dazu gehört die Aufteilung großer und komplexer Workflows auf mehrere Einzelprozesse, die Auslagerung von Funktionen in z.B. Schleifen in gesonderte Kindprozesse, die Zuteilung von gesonderten Queues für Prozesse mit hoher zu erwartender Last sowie das gezielte Abfangen von Fehlern im Workflow, etc. Es empfiehlt sich neue Workflows initial auch mit größeren Datenmengen und unter möglichst realistischen Produktivbedingungen zu testen um größere Datenmengen, unsaubere Datenpflege und sonstige EdgeCases in der Entwicklung bzw. Testphase mit zu beachten.

### Wartbarkeit, Verständlichkeit, Erweiterbarkeit

Bei der Entwicklung neuer Integrationen sollte immer darauf geachtet werden, dass diese im Nachgang möglichst einfach zu erweitern und wartbar sind. Neben einem strukturierten Aufbau der IMplementierung sind dafür besonders sprechende Benennungen und ein Mindestmaß an Dokumentation wichtig.

### Individualisierungsmöglichkeiten über Hooks

Alle Standardintegrationen sollten an definierten Einsprungpunkten Hooks anbieten, um so Customizations durch den Kunden zu ermöglichen. Typischerweise machen diese Hooks vor und nach den pro Workflow etablierten Mappings Sinn. Außerdem können Hooks zur Manipulation von API Requests oder zur Definition von Workflow-Variablen am Beginn eines Workflows Sinn machen.<br>

* Vielzahl der unterschiedlichen Apps, Module und Erweiterungen pro Sales Channel nicht im Standard unterstützbar. Daher gilt: Xentral Standard Integrationen unterstützen nur den Standardfunktionsumfang des  jeweiligen  Sales Channels
* Anbindung zusätzlicher PlugIns oder Apps als Customizing möglich machen

### Nutzung der bestehenden Journal-Funktionen

Damit Kunden nachvollziehen können, welche Daten zu welchem Zeitpunkt übertragen wurden bieten Connect Standard Integrationen ein sogenanntes “Import/Export Journal”. Dieses basiert auf pro Workflow erfassten Stati, die durch die Workflows in der Gruppe “State Maschine” erzeugt und gespeichert werden

Um den Kunden möglichst hohe Transparenz und eine einheitliche Nutzungserfaghrung zu bieten, empfehlen wir die bestehende Journal-Logik für alle Standardintegrationen zu übernehmen. Die schon vorhandenen Workflows der State Maschine können dazu in der Regel unverändert weiterverwendet werden, müssen aber an geeigneter Stelle aus den jeweiligen Import / Export Workflows gecallt werden.

### Article Filter List

Um Artikel in Xentral einem Sales Channel zuzuordnen, bietet Connect pro Integration einen Artikelfilter an. Über diesen Artikelfilter können Artikel regelbasiert einer sogenannten “Artikel Filter List” (FL) zugeordnet werden. Die Connect Workflows prüfen dann jeweils auf die FL und synchronisieren nur Artikel, die in dieser Liste enthalten sind.&#x20;

Um eine einheitliche Nutzungserfahrung für die Kunden zu gewährleisten wird empfohlen, dieses vorhandene Instrument der Artikel Filter List für die Zuordnung von Artikeln zu einem Sales Channel auf jeden Fall beizubehalten.&#x20;

Die Artikelfilterlist ist für alle Integrationen identisch und daher in eurem initialen Preset bereits enthalten und einsatzbereit.<br>

* Prüfung vor jeder Ausführung eines  Artikel-Workflows (auch Preis und Stock), ob Artikel in der Artikel Filter List enthalten ist. Ist der Artikel nicht enthaltenm Workflow nicht ausführen
* Create und Update nur, wenn Artikel in Filterliste vorhanden ist

### Beachtung von Edge Cases und Sonderfällen

Während die Abbildung der typischen Standardfälle in einer Datenschnittstelle in der Regel relativ schnell und einfach machbar ist, erfordert insbesondere im ERP-Bereich die Beachtung der diversen möglichen Sonderfälle und Ausnahmen oft beträchtlichen zusätzlichen Aufwand. Nichts desto trotz zeigt sich insbesondere in der Beachtung dieser Sonderfälle die Leistungsfähigkeit einer Schnittstelle.&#x20;

Ziel ist es, dass auf Connect entwickelte Integrationen ein gutes Mittelmaß zwischen dem soliden Funktionsumfang der Standardintegration und einer Beachtung von Edgecases, Ausnahmen und Sonderfällen über Customizations bieten.<br>

* Kernfunktionen in Standard übernehmen
* Edge Cases beachten (unterschiedliche Inhalte in Payloads, fehlende Daten, etc.) und gbf. Über Customizations zugänglich machen


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://connect.xentral.com/guidelines/standardintegrationen-fur-partner.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
