Was ist weclapp?
weclapp ist ein cloudbasiertes ERP-System der weclapp SE mit Sitz in Marburg, das im Browser läuft und ohne Installation auskommt. In einer Oberfläche liegen CRM, Einkauf und Disposition, Lagermanagement, die Auftragsverwaltung von der Anfrage bis zur Abrechnung, Produktion, E-Commerce, Finanzbuchhaltung, Projektmanagement und E-Rechnung; dazu kommen Erweiterungen wie Helpdesk, Vertragsmanagement, eine mobile Lager-App und eine Kassensoftware. Adressiert werden kleine und mittlere Unternehmen. Für die Website ist vor allem eines interessant: Artikel, Preise, Kunden und Aufträge liegen im selben System, und dieses System hat eine dokumentierte Schnittstelle nach außen.
Hat weclapp eine API?
Ja. weclapp stellt eine REST-API bereit, die JSON spricht und pro Mandant unter der eigenen weclapp-Adresse erreichbar ist, im Pfad webapp/api mit Versionsangabe. Authentifiziert wird mit einem API-Token, das bei jeder Anfrage im Header AuthenticationToken mitgeht. Das Token findet sich in weclapp unter dem Benutzernamen bei den eigenen Einstellungen im Abschnitt API-Token; weil es sicherheitskritisch ist, muss man sich zum Anzeigen erneut anmelden, und es lässt sich jederzeit neu erzeugen. Wichtig für die Rechtevergabe: Über die API gelten genau die Berechtigungen des Benutzers, zu dem das Token gehört. Die Website bekommt deshalb einen eigenen Zugang mit genau den Rechten, die sie braucht.
Welche Daten aus weclapp landen auf der Website?
In der Regel zwei Richtungen. Nach draußen gehen die Artikeldaten: Bezeichnung, Beschreibung, Nummer, Kategorie, Eigenschaften und Preise; Artikel und Preise sind in der Schnittstelle eigene Bereiche, sodass sich der Katalog und die Preisliste getrennt abrufen lassen. Zurück geht das, was auf der Website entsteht: eine Anfrage als Kontakt, eine Angebotsanfrage oder ein Auftrag. Beides ist bewusst getrennt zu betrachten. Der Weg nach draußen ist eine Frage von Auswahl und Takt, der Weg zurück eine Frage von Datenschutz und Fehlerbehandlung. Was genau übertragen wird, legen wir vorher im Feld-Mapping fest — nicht jedes Feld aus einem ERP gehört auf eine öffentliche Website.
Sollen Artikeldaten live abgefragt oder in das CMS gespiegelt werden?
Gespiegelt, als Grundregel. Die Website fragt das ERP nicht bei jedem Seitenaufruf, sondern holt die Artikel im festen Takt ab und legt sie im Datenmodell des CMS ab. Ausgeliefert wird danach aus dem eigenen Bestand. Das hält die Seiten schnell, macht sie unabhängig von der Erreichbarkeit des ERP und sorgt dafür, dass eine Wartung beim Anbieter keinen leeren Produktkatalog produziert. Live abgefragt wird nur, was live sein muss — typischerweise die Verfügbarkeit oder ein kundenspezifischer Preis hinter einem Login. Diese Abfragen laufen serverseitig, mit kurzer Zwischenspeicherung und mit einer definierten Anzeige für den Fall, dass keine Antwort kommt.
Wie erfährt die Website, dass sich in weclapp etwas geändert hat?
Über Webhooks, ergänzt um einen geplanten Abgleich als Grundsicherung. In weclapp werden Webhooks in den globalen Einstellungen unter Integration angelegt: Man wählt die Entität, kreuzt die Ereignisse an — angelegt, geändert, gelöscht — und trägt die Ziel-URL ein. weclapp schickt daraufhin eine POST-Anfrage mit der Kennung des Datensatzes, dem Namen der Entität und der Art des Ereignisses, also CREATE, UPDATE oder DELETE. Die Meldung enthält also den Auslöser, nicht die Nutzdaten: Wir holen den betroffenen Datensatz anschließend gezielt über die API nach und leeren nur die betroffenen Seiten aus dem Cache. Ist die Ziel-URL nicht erreichbar, wiederholt weclapp den Versuch nach 1, 5 und 30 Minuten, nach 5 Stunden und nach einem Tag; bleibt sie unerreichbar, wird der Webhook deaktiviert und in der Liste mit einer Fehlermeldung geführt. Genau deshalb gehört der geplante Lauf als zweites Standbein dazu.
Landen Anfragen und Bestellungen von der Website wieder in weclapp?
Ja, das ist der Rückweg. Das Formular auf der Website schickt seine Daten serverseitig an die API, und daraus entsteht in weclapp ein Datensatz: ein Kontakt beziehungsweise Kunde, eine Angebotsanfrage oder ein Auftrag. Seit Version 2 der Schnittstelle liegen Kunden, Kontakte, Interessenten und Lieferanten gemeinsam unter dem Bereich party, davor waren es getrennte Bereiche — das ist beim Bau der Anbindung der wichtigste Unterschied zwischen den Versionen. Damit nichts verloren geht, sichern wir die Übermittlung ab: Bleibt die API stumm, wird der Vorgang zwischengespeichert, erneut versucht und geht zusätzlich per E-Mail an das Team. Ein Lead darf nie an einer Zeitüberschreitung scheitern.
Lässt sich weclapp in WordPress oder TYPO3 integrieren?
Ja — und in Statamic ebenso. Die Anbindung bauen wir in jedem der drei Systeme selbst, mit dessen eigenen Bordmitteln. In TYPO3 entsteht eine eigene Extension: Das TCA beschreibt das Datenmodell, der Abruf läuft als Scheduler-Task, die Artikel liegen als Records in einem Systemordner, gerendert wird über Fluid, und die Zugangsdaten stehen in der Extension-Konfiguration. In WordPress entsteht ein eigenes Plugin statt Theme-Code: ein Custom Post Type mit Meta-Feldern für die Artikeldaten, ein geplanter Lauf für den Abgleich, eine eigene REST-Route für serverseitige Aufrufe und den Webhook, der Schlüssel in der wp-config.php. In Statamic liegt Laravel darunter: ein Blueprint als Datenmodell, ein Artisan-Command im Scheduler, die Artikel als Entries in einer Collection, der Schlüssel in der .env, gerendert mit Antlers oder Blade. Die Mechanik bleibt in allen drei Fällen dieselbe — nur der Ort, an dem die Artikel liegen, ist ein anderer.
Wo liegen die Daten und was ist beim Datenschutz zu beachten?
weclapp gibt als Speicherort ein nach ISO 27001 und PCI DSS zertifiziertes Rechenzentrum in Frankfurt am Main an, nennt eine Mindestverfügbarkeit von 99,5 Prozent und eine durchgehend verschlüsselte Übertragung. Das entbindet die Website nicht von ihren eigenen Pflichten. Drei Punkte sind nicht verhandelbar: Das API-Token gehört auf den Server und niemals in den Browser, denn es trägt die Rechte eines echten Benutzers. Aus dem ERP fließen nur die Felder auf die Website, die dort gebraucht werden — interne Kalkulationen, Einkaufspreise und Lieferantendaten bleiben drin. Und für personenbezogene Daten, die von der Website ins ERP laufen, gelten Datensparsamkeit, eine sauber dokumentierte Einwilligung und ein Auftragsverarbeitungsvertrag mit dem Anbieter.