OnPremise API: Keine Daten aus API-Anbindung mittels externer APP

martin_mm

Neues Mitglied
5. Juni 2026
2
0
Liebe Community,

erster Post - und dann gleich etwas sehr spezielles. Leider konnte mit der Support nicht helfen.
Steinigt mich, aber wir entwickeln Inhouse mittels AI (Lovable & Claude) ein Tool, das uns KPIs - auch außerhalb von JTL - in einem Dashboard liefern soll. Das läuft so weit auch gut, aber es fehlt noch ein Quäntchen zum vollen Erfolg.

Aufbau: --> Schnittstelle/abfragende Instanz = Dashbaord im Cloud-Hosting von Lovable. Anfragen über VPS-Bridge (wegen statischer IP für die Anfragen) an unseren WaWi-Server (eCom-Data). JTL-API läuft auf WaWi-Server, Verbindung von Cloud <-> WaWi-Server steht und funktioniert.
Problem: WaWi-Server gibt keine/ungenügende Daten zurück

Problem: JTL-Wawi App-API --> 401 trotz gültiger Registrierung & freigegebener Scopes

## Fragen :

1. Warum liefert `/v1/info` mit unserem Header-Set 200, aber `/v1/items`, `/v1/customers`, `/v1/salesOrders` dann 401 bei gültiger App-Registrierung, freigegebenen Scopes und Admin-User per `x-runas`?
2. Erwartet die App-API für datenführende Endpunkte einen anderen Header-Namen/Wert als `x-runas` (z. B. `X-runas`, oder Wawi-Username vs. interne User-ID)?
3. Müssen `items.read` / `customers.read` / `salesorders.read` zusätzlich serverseitig (User-Berechtigungen, Benutzergruppe) explizit aktiviert werden, oder reicht die Freigabe im App-Wizard?
4. Gibt es serverseitig ein Auth-Log, das den genauen Ablehnungsgrund nennt (Scope fehlt? runas unbekannt? Challenge ungültig?)?

## Was wir bereits ausgeschlossen haben

- Falscher ApiKey --> /v1/info` antwortet mit demselben Key sauber
- Fehlender `x-challengecode` --> wird mitgeschickt (derselbe Wert wie bei Registrierung)
- Falsche `api-version` : sowohl `1.0` als auch `2.0` getestet, beide 401
- IP-Mismatch & Registrierung und API-Calls kommen von derselben festen IP
- Scope `all.read` als Umbrella: wurde testweise entfernt und einzeln aufgeführt, gleiches Ergebnis
- `x-runas` fehlt -> wurde ergänzt (`api-dashboard`, Admin-Berechtigung), gleiches Ergebnis

gesetze Scopes:

cusomters.read
customers.read
items.read
offers.read
orders.read
returns.read
saleschannels.read
salesorders.read
deliveries.read
deliverynotes.read
inventories.read
picklists.read
warehouse.read
accountings.read
invoices.read
salesinvoicecorrections.read
taxes.read
suppliers.read
all.read
application.runas
system.config.read
system.read
system.worker.read
wawiapp.all
resources.read

**Wawi-Version:** 1.11.10 (Tenant `eazybusiness`)
**App:** `eigeneapp` Version `2.3.1`
**Wawi-User (runas):** `api-dashboard` (temporär Admin-Rechte in Testumgebung, alle App-Scopes im Wizard freigegeben)

---

## Symptom

- `GET /api/eazybusiness/v1/info` --> **200 OK**, liefert echtes JSON:
```json
{ "Version": "1.11.10", "Timestamp": "2026-06-03T17:16:22+02:00", "Tenant": "eazybusiness", "Type": "WAWI-Api" }
```
- `GET /api/eazybusiness/v1/items?pageSize=1` --> **401**
- `GET /api/eazybusiness/v1/customers?pageSize=1` --> **401**
- `GET /api/eazybusiness/v1/salesOrders?pageSize=1` --> **401**

Body bei allen 401:
```json
{ "Message": "Authorization has been denied for this request." }
```

Heißt: Authentifizierung greift grundsätzlich (`/v1/info` antwortet sauber mit App-Auth), aber jeder datenführende Endpoint wird abgelehnt.

---

## Request-Header (identisch für alle vier Calls)

```
Authorization: Wawi <ApiKey aus jtl_registration.api_key>
x-appid: eigeneapp/2.3.1
x-appversion: 2.3.1
api-version: 2.0
x-challengecode: 111111111 (derselbe Wert wie bei Registrierung)
x-runas: api-dashboard
```

Anfragen laufen über unseren Bridge-VPS mit fester IP `123.123.123.123` (derselben, mit der die Registrierung erfolgte --> kein IP-Mismatch).

---

## Registrierungs-Details

App-Registrierung war erfolgreich (`ApiKey` wurde geliefert, ohne `RegChallengeIpMismatch`).
Body der POST-Registrierung (PascalCase, `api-version: 2.0`):

```json
{
"AppId": "eigeneapp",
"Version": "2.3.1",
"DisplayName": "KPI Dashboard",
"Description": "KPI Dashboard für JTL-Wawi (via Bridge).",
"ProviderName": "TolleFirma",
"ProviderWebsite": "https://unseredomain.com",
"MandatoryApiScopes": [
"cusomters.read", "customers.read", "items.read", "offers.read",
"orders.read", "returns.read", "saleschannels.read", "salesorders.read",
"deliveries.read", "deliverynotes.read", "inventories.read",
"picklists.read", "warehouse.read", "accountings.read", "invoices.read",
"salesinvoicecorrections.read", "taxes.read", "suppliers.read",
"all.read", "application.runas", "system.config.read", "system.read",
"system.worker.read", "wawiapp.all"
],
"OptionalApiScopes": [],
"AppIcon": "<base64 PNG>"
}


Kann uns irgendwer helfen da herauszufinden, wo genau das Problem liegen könnte? Diese 401er loszuwerden wäre wirklich supertoll ;)

Danke vorab und allen schon mal ein schönes Wochenende!

Martin
 

Morimus

Sehr aktives Mitglied
16. Mai 2019
436
109
Vermutlich liegt hier der Fehler.
Bei x-runas wird nicht der Benutzername erwartet, sondern die interne Wawi-User-ID beziehungsweise UUID des Benutzers.

Zusätzlich würde ich die grantedScopes aus der Registrierungsantwort prüfen.
Entscheidend ist, welche Scopes tatsächlich gewährt wurden, nicht nur welche angefordert wurden.

edit:
Die neue Cloud API wäre für so ein externes Dashboard vermutlich die sauberere Lösung, sofern die benötigten Endpunkte dort verfügbar sind.
 

martin_mm

Neues Mitglied
5. Juni 2026
2
0
Danke dir für deine Hilfe! Das probieren wir mal aus.

JA - das wäre sie sicherlich. Hätten wir auch lieber gemacht - wollen dafür aber noch nicht auf die 2er-Version gehen ;)
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Ab welcher JTL Wawi Version ist der OnPremise REST API Endpoint POST /v2/returns oder POST /v1/returns für Create Return verfügbar? Schnittstellen Import / Export 0
API-Endpunkt Rechnungskorrekturen-PDF JTL-Wawi 2.0 0
Neu Anpassung DPD API JTL-ShippingLabels - Ideen, Lob und Kritik 3
API 2.1 für OnPrem? JTL-Wawi 2.0 6
Neu JTL REST API (on premise) - welche API Version ab welcher Wawi-Version? Changelog? Schnittstellen Import / Export 0
Bessere Greyhound-Anbindung ab 1.10 - JTL-API-Pflicht? JTL-Wawi 1.10 12
Neu VCS Lite / IDU blockiert – Aufträge fälschlich unter "Externe Rechnungen" (Amazon API Fehler) Amazon-Anbindung - Fehler und Bugs 2
API Schnittstelle langsam JTL-Wawi 1.11 0
Nach Update auf Wawi 2.0.X, API v1 Fehler JTL-Wawi 2.0 9
Neu 2.0.0: Workflow Queue wird nicht abgearbeitet via API JTL-Wawi 2.0 1
BUG in 2.0.0 - Rest Api Server startet nicht. JTL APP nicht benutzbar JTL-Wawi 2.0 4
REST API (OnPrem) - Authorization: Wawi <ApiKey> gibt immer 401 JTL-Wawi 1.11 1
API salesorders JTL-Wawi 1.11 4
Neu Anbindung JTL <---> Greyhound via API funktioniert nicht sauber User helfen Usern - Fragen zu JTL-Wawi 0
REST Api v2 (Wawi 1.11.7) JTL-Wawi 1.11 6
Keine APP oder API Verbindung möglich JTL-Wawi App 4
Neu Amazon Angebotspreise per Stored Procedure/Function oder API setzen Amazon-Anbindung - Ideen, Lob und Kritik 0
Eigener Drittshop-Connector (jtl/connector 5.3): valide Variationskombinationen werden mit „besitzt keine Variationen" nicht gesendet JTL-Wawi 1.11 1
Nach Wawi Update keine Fehlermeldung mehr sichtbar kaufland.de - Anbindung (SCX) 0
Nach Update auf 2.0.3 Keine Fehlermeldungen mehr sichtbar Otto.de - Anbindung (SCX) 0
Neu eBay-Abgleich Fehlermeldung: Datenverarbeitung fehlgeschlagen: Die Sequenz enthält keine Elemente eBay-Anbindung - Fehler und Bugs 4
Neu Es werden keine Marken ausgedruckt und die Portokasse lässt keine Anmeldung zu. Smalltalk 5
Neu DHL-4.0 keine Labels JTL-ShippingLabels - Fehler und Bugs 12
Einrichtung ZUGFeRD, es lassen sich keine Rechnungen "Speichern" JTL-Wawi 1.11 2
WAWI 2.0.0 erkennt keine Updates JTL-Wawi 2.0 1
Keine Datenübertragung trotz bestehender Verbindung und funktionierendem Server JTL-Wawi 2.0 34
Mindestabnahme Lieferant - keine Kommazahlen erlaubt - Wie gehts? JTL-Wawi 1.11 0
Keine Rückmeldung in JTL Wawi sobald SQL Server Memory durch Database Cache ausgeslastet ist JTL-Wawi 2.0 9
Neu Nach Update auf JTL-Wawi 2.0.3 keine WMS-Lager mehr auswählbar – Versand komplett blockiert JTL-Wawi 2.0 3
Neu Keine Adressvalidierung bei DHL Versenden 4.0? JTL-ShippingLabels - Ideen, Lob und Kritik 5
Neu keine Kontakt Absender/Empfänger bei DHL Versenden 4.0 JTL-ShippingLabels - Ideen, Lob und Kritik 2
Neu Klarna konnte mit den angegebenen Daten keine Sitzung erstellen. Einige Feldbedingungen wurden verletzt. Betrieb / Pflege von JTL-Shop 0
AboutYou keine Felder für GPSR Daten SCX-(Ninepoint)-Anbindungen 0
Neu Angeblich noch keine Verknüpfung mit DPD Meta ??? JTL-ShippingLabels - Fehler und Bugs 1
Neu JTL Pos liest keine Verkäufe mehr ein nach Update Einrichtung / Updates von JTL-POS 0
Neu Zahlung zugewiesen, aber keine Rechnung wird angezeigt User helfen Usern - Fragen zu JTL-Wawi 2
Worker läuft, zieht aber keine Aufträge in die Wawi JTL-Wawi 2.0 1
Neu Angebot Status "Fehlerhaft" aber keine Fehlermeldung Amazon-Lister - Fehler und Bugs 4
Neu keine DHL Shipping Labels JTL-ShippingLabels - Fehler und Bugs 2
Keine Mailvorlagen JTL-Wawi 1.11 5
Worker versendet keine E-Mails mehr aus der Workflow Queue JTL-Wawi 2.0 6
gelöst: Für diesen User wurde zum angegebenen Mandanten keine Firma gefunden!! JTL-Wawi 1.10 13
Neu Seit Update auf JTL-WaWi 2.0.0.0 keine Abholung der Kundendaten bei MediaSaturn-Bestellungen JTL-Wawi - Fehler und Bugs 7
Seit Update keine zweite POS-Anbindung mehr möglich JTL-Wawi 2.0 12
Neu Installation von Plugin PayPal Check-Out fehlgeschlagen, keine Verbindung zum Webshop Plugins für JTL-Shop 6
Neu DHL WARENPOST INTERNATIONAL - keine Labelerstellung JTL-ShippingLabels - Fehler und Bugs 0
Dropshipping-Trackingnummer erzeugt keine Versandbenachrichtigung per E-Mail JTL-Wawi 1.8 5
Neu DHL Wunschzustellung wird bescheiden dargstellt - keine Shopzustellung auswählbar Plugins für JTL-Shop 0
Neu Amazon Abgleich - seit heute 12:26Uhr keine Übernahme der Bestellungen über Worker Amazon-Anbindung - Fehler und Bugs 9

Ähnliche Themen