Systeme per API nutzen
Die Syncler-API stellt Endpunkte bereit, um bestehende Konnektoren direkt anzusprechen – der Syncler fungiert dabei als Vermittler.
Damit lassen sich Lese- und Schreiboperationen gegen angebundene Systeme ausführen, ohne selbst deren native APIs detailliert kennen zu müssen.

Voraussetzungen
- Authentifizierung: Access Token im Header
Authorization: Bearer <ACCESS_TOKEN> - Inhaltstyp:
Content-Type: application/json - Schemaobjekt & Systemauswahl: Das System (Konnektor) und das Schemaobjekt werden in der URL angegeben.
Die exakten Routen können je Installation variieren. Konsultieren Sie die Swagger-Dokumentation Ihrer Instanz.
Endpunkt-Überblick
| Zweck | Variante | Rückgabe | Typische Verwendung |
|---|---|---|---|
| Lesen | RunConnectionGetData |
Vollständiges Antwortobjekt inkl. Metadaten (Felder, Typen, Objektgruppen) | UI-/Darstellungszwecke, Inspektion/Debugging |
| Lesen (minimal) | RunConnectionGetDataMin |
Nur Daten als JSON, Felder/Objektgruppen direkt als Eigenschaften | Performante Datenverarbeitung/ETL |
| Lesen (Einzelobjekt) | GetDataObject |
Einzelner Datensatz inkl. Metadaten (per GET + ID) |
Direkter Lookup |
| Abfrage | RunConnectionGetQueryData |
Abfrageergebnis; Zielfelder & Query-Statement im Body definiert | Freie/komplexe Abfragen |
| Schreiben | (vollständig) | Metadaten-basierte Datenbeschreibung erforderlich | Schreibvorgänge mit getypten Objektgruppen |
| Schreiben (minimal) | (minimal) | Nur Datenobjekt | Einfache Schreibvorgänge ohne getypte Objektgruppen |
Hinweis zu Objektgruppen:
Bei getypten Objektgruppen (z. B. unterschiedliche Typen innerhalb einer Gruppe) ist die minimierte Schreibvariante ungeeignet, da Typinformationen fehlen. Verwenden Sie dafür die vollständige Datenbeschreibung.
Lesen – Parameter im Request-Body
Bei den Lesevarianten (RunConnectionGetData, RunConnectionGetDataMin) werden Leseparameter als JSON-Array übergeben. Häufige Parameter:
GETDATA_WHERE– Filterbedingung (Syntax gemäß Zielsystem/Konnektor, z. B. OData/SQL-ähnlich)GETDATA_ID– Abruf eines konkreten Datensatzes über die ID- (optional)
GETDATA_LIMIT,GETDATA_SKIP,GETDATA_ORDER– Begrenzung, Paging, Sortierung (sofern unterstützt)
Beispiel: Lesen mit Filter (WHERE) – vollständig (mit Metadaten)
POST https://<BASE_URL>/RunConnectionGetData/<SYSTEM_KEY>/<OBJECT_TYPE>
Authorization: Bearer <ACCESS_TOKEN>
Content-Type: application/json
[
{ "name": "GETDATA_WHERE", "value": "UpdatedAt gt '2025-09-01T00:00:00Z'" },
{ "name": "GETDATA_LIMIT", "value": "100" }
]
Beispiel: Lesen mit Filter (WHERE) – minimal (nur Daten)
POST https://<BASE_URL>/RunConnectionGetDataMin/<SYSTEM_KEY>/<OBJECT_TYPE>
Authorization: Bearer <ACCESS_TOKEN>
Content-Type: application/json
[
{ "name": "GETDATA_WHERE", "value": "UpdatedAt gt '2025-09-01T00:00:00Z'" }
]
Beispiel: Lesen per ID (Parameter GETDATA_ID)
POST https://<BASE_URL>/RunConnectionGetDataMin/<SYSTEM_KEY>/<OBJECT_TYPE>
Authorization: Bearer <ACCESS_TOKEN>
Content-Type: application/json
[
{ "name": "GETDATA_ID", "value": "A-10001" }
]
Einzelobjekt lesen – GetDataObject (mit Metadaten)
GET https://<BASE_URL>/GetDataObject/<SYSTEM_KEY>/<OBJECT_TYPE>/<OBJECT_KEY>
Authorization: Bearer <ACCESS_TOKEN>
Accept: application/json
Freie Abfrage – RunConnectionGetQueryData
Mit diesem Endpunkt führen Sie freie Abfragen aus. Der Body beschreibt Zielfelder (mind. Name & Typ) und enthält das Abfrage-Statement.
POST https://<BASE_URL>/RunConnectionGetQueryData/<SYSTEM_KEY>
Authorization: Bearer <ACCESS_TOKEN>
Content-Type: application/json
{
"columns": [
{ "Name": "Id", "ColumnType": "string" },
{ "Name": "Name", "ColumnType": "string" }
],
"Statement": "SELECT Id, Name FROM Account WHERE UpdatedAt > '2025-09-01T00:00:00Z'",
"CountStatement": "(optional) Für Total-Abfrage"
}
Hinweis: Syntax (SQL/OData/Systemspezifisch) richtet sich nach dem Konnektor/Zielsystem.
Schreiben (Create/Update)
Bei Schreiboperationen wird im Request-Body das Datenobjekt übergeben.
Es existieren zwei Varianten:
Vollständige Schreibvariante (mit Metadaten) – für getypte Gruppen erforderlich
POST https://<BASE_URL>/RunConnectionSetData/<SYSTEM_KEY>/<OBJECT_TYPE>
Authorization: Bearer <ACCESS_TOKEN>
Content-Type: application/json
{
"name": "Account",
"columns": [
{ "name": "Id", "columnType": "Integer", "value": 123 },
{ "name": "Name", "columnType": "string", "value": "ACME" }
],
"idcolumns" : [
{ "name": "Id", "columnType": "Integer", "value": 123 }
]
}
Minimierte Schreibvariante (nur Daten) – ohne getypte Gruppen
POST https://<BASE_URL>/RunConnectionSetDataMin/<SYSTEM_KEY>/<OBJECT_TYPE>
Authorization: Bearer <ACCESS_TOKEN>
Content-Type: application/json
{
"Id": 123,
"Name": "ACME GmbH"
}
Grenze der Minimalvariante: Typinformationen innerhalb von Objektgruppen (z. B.
type: "main") können nicht ausgedrückt werden.