SAP Integration Suite - Open Connectors Einrichtung & Tests
Erstellen und Testen eines Connectors in der SAP Integration Suite für die ENLYZE Platform API
Erstelle und teste einen Custom Connector in der SAP Integration Suite → Open Connectors für die ENLYZE REST API, indem du ein API Token und einen PreRequest Hook verwendest, um den Upstream-Header Authorization: Bearer <token>
einzusetzen. Anschließend überprüfen wir den Connector mit Abfragen über die API Docs.
Architektur in 90 Sekunden
Open Connectors trennt zwei Authentifizierungsebenen, die sowohl in der UI als auch in cURL sichtbar sind:
SAP Open Connectors Auth (Plattform) — in API Docs als Header
Authorization: User <…>, Organization <…>, Element <…>
. Das authentifiziert dich gegenüber Open Connectors.Vendor (ENLYZE) Auth — fügen wir per PreRequest Hook als
Authorization: Bearer <ENLYZE_API_TOKEN>
hinzu.
Wichtig: Beides strikt trennen. Kein Bearer‑Token in das API Docs Authorization‑Feld eintragen. Dieses Feld ist für Open Connectors. Den ENLYZE‑Header setzt der Hook automatisch.
Voraussetzungen
ENLYZE API Token für das Ziel‑Tenant
Zugriff auf SAP Integration Suite → Open Connectors mit Rechten für den Connector Builder.
Zugang zur SAP Integration Suite → Open Connectors mit Connector Builder-Berechtigungen. Das Tutorial Set Up Integration Suite Trial ist ein guter Einstieg, um mit der SAP Integration Suite loszulegen. Achte darauf, dass in der Integration Suite die richtigen Capabilities aktiviert sind. Du benötigst:
Build Integration Scenarios
Manage APIs
Extend Non-SAP Connectivity
Mit Extend Non-SAP Connectivity kannst du neue Connectoren erstellen.

Schritt 1: ENLYZE OpenAPI importieren
In Open Connectors → Connectors klicke auf Build New Connector
Nutze die Import-Option, um den neuen Konnektor zu erstellen:
Wähle Swagger aus und importiere die API-Spezifikation von folgender URL: https://app.enlyze.com/api/v2/openapi.json
Klicke Continue Import.
Wähle die benötigten Ressourcen (Endpunkte) aus. Eine gute Basis sind:
GET
/v2/machines
,/v2/sites
,/v2/variables
,/v2/production-runs
,/v2/downtimes
,/v2/products
,/v2/data-sources
POST
/v2/timeseries
(read time series) und POST/v2/machines/{uuid}/productivity-metrics
Der Element Key muss im Tenant eindeutig sein.
Schritt 2: Properties
Nachdem die Ressourcen importiert sind, musst du den Authentifizierungsmechanismus konfigurieren. Wir verwenden eine Custom Authentication, bei der das Token zu Beginn des Connector-Setups bereitgestellt und anschließend bei jeder Anfrage über einen PreRequest Hook mitgegeben wird.
In Setup → Properties:
Base URL:
https://app.enlyze.com/api/
Pagination Type:
cursor
Accept/Content-Type:
application/json
Authentication type:
custom

Schritt 3: Configuration (Token speichern)
In Setup → Configurations hinzufügen:
Name:
API Token
Key:
api.token
(auto)Type:
text 128
Required: ON
Description:
ENLYZE API Token
(or a more detailed description)
Wir legen keinen globalen Authorization Parameter an. Der Hook setzt den Vendor‑Header für jeden Request.

Schritt 4: PreRequest Hook
In Setup → Hooks → PreRequest Hook einfügen:
let token = configuration['api.token'];
request_vendor_headers.Authorization = `Bearer ${token}`;
done({"request_vendor_headers":request_vendor_headers,
"contintue":true});
Warum das funktioniert
configuration['api.token']
liest den Instanz‑Token.request_vendor_headers
adressiert die provider‑seitigen Header (geht an ENLYZE).Durch
done({ request_vendor_headers })
wird der Header für den Outbound‑Call gesetzt.
Hierdruch wird {“Authorization”:”Bearer XXXXX”} im Header für jede Abfrage gesetzt.
Klicke Save.

Schritt 5: Testen des Konnektors - Instanz erstellen
Aus Resources (oder Instances) Authenticate instance wählen:

Name: free text (e.g.,
Test Instance
)API Token: nur den Token einfügen (ohne
Bearer
)
Konfiguration der Instanz:

Klicke Create Instance.
Schritt 6: Testen des Konnektors - über die API docs
Im Instance → API Docs eine einfache Resource öffnen, z. B. GET /v2/machines
.
Das Authorization Feld mit dem vorausgefüllten Open Connectors Wert (User/Organization/Element) unverändert lassen.
Execute klicken.
Es sollte eine
200
Antwort mit JSON geben. Das generierte cURL nutzt i. d. R. einen Pfad wie:
https://api.openconnectors.<region>.ondemand.com/elements/api-v2/v2/machines
# Header sent to OC (platform auth):
-H "Authorization: User <…>, Organization <…>, Element <…>"
Open Connectors forwardet unseren Hook‑Header an ENLYZE:
Authorization: Bearer <your ENLYZE API token>
Tipps: Für erste Tests /v2/sites oder /v2/machines. Bei zeitbasierten Endpoints sinnvolle
start
/end
odercursor
Parameter setzen.
Ausführen eines Endpunkt-Tests über die UI:

Erfolgreiche Antwort:

Fehlerbehebung
401 "User is not authorized" in den API Docs
Du authentifizierst nicht gegenüber Open Connectors: Das API Docs Authorization Feld muss
User…, Organization…, Element…
enthalten (normalerweise vorausgefüllt). Kein Bearer dort eintragen.
401 von ENLYZE (vendor)
Der Upstream‑Header wurde nicht gesetzt. PreRequest Hook prüfen, speichern und Instance neu erstellen/reauthorisieren. Token prüfen (ohne
Bearer
).
Interner Fehler / Timeouts bei Aufrufen gegen /elements/api-v2/...
/elements/api-v2/...
Pfad exakt wie in API Docs verwenden. Bei Swagger‑Import ist es typischerweise
/elements/api-v2/v2/...
Doppeltes /v2
oder falsche Base
/v2
oder falsche BaseBase URL
https://app.enlyze.com/api/
beibehalten und Resource Paths/v2/...
(wie im Swagger Import).
Appendix - Beispiele
Beispiel: cURL über Open Connectors Instance (API Docs‑Stil)
curl -X GET \
"https://api.openconnectors.<region>.ondemand.com/elements/api-v2/v2/machines" \
-H "Accept: application/json" \
-H "Authorization: User <USER_SECRET>, Organization <ORG_SECRET>, Element <ELEMENT_TOKEN>"
Beispiel: Direkter ENLYZE cURL (ohne Open Connectors)
curl -X GET "https://app.enlyze.com/api/v2/machines" \
-H "Accept: application/json" \
-H "Authorization: Bearer <YOUR_ENLYZE_API_TOKEN>"
Direktaufrufe nur für lokales Debugging. In SAP immer über die Connector Instance aufrufen, damit Logging, Throttling und Mappings greifen.
Last updated