Zum Hauptinhalt springen

Referenz / Schnellanleitung

Die wichtigsten Aufrufe auf einen Blick, jeweils mit curl. Details stehen in Konfiguration von APIs, Datenschnittstelle und Abfragen.

CMS=https://cms.example.org
USER='mein-konto:mein-kennwort'

APIs (Schema)​

# Namensräume, APIs eines Namensraums, Beschreibung einer API
curl -u "$USER" "$CMS/schema"
curl -u "$USER" "$CMS/schema/mein-ns"
curl -u "$USER" "$CMS/schema/mein-ns/meine-api"

# Anlegen, ändern (ersetzt die Beschreibung vollständig), löschen (inklusive aller Datensätze!)
curl -X POST -u "$USER" -H 'Content-Type: application/json' -d @schema.json "$CMS/schema/mein-ns/meine-api"
curl -X PUT -u "$USER" -H 'Content-Type: application/json' -d @schema.json "$CMS/schema/mein-ns/meine-api"
curl -X DELETE -u "$USER" "$CMS/schema/mein-ns/meine-api"

Datensätze​

# Erste Seite aller Datensätze bzw. ein einzelner Datensatz
curl -u "$USER" "$CMS/data/mein-ns/meine-api"
curl -u "$USER" "$CMS/data/mein-ns/meine-api/<id>"

# Für die Darstellung: fertiges HTML und Datei-URLs
curl -u "$USER" "$CMS/data/mein-ns/meine-api/<id>?exported"

# Anlegen, ändern (nur die geänderten Felder), löschen
curl -X POST -u "$USER" -H 'Content-Type: application/json' -d @datensatz.json "$CMS/data/mein-ns/meine-api"
curl -X PUT -u "$USER" -H 'Content-Type: application/json' -d '{ "titel": "Neu" }' "$CMS/data/mein-ns/meine-api/<id>"
curl -X DELETE -u "$USER" "$CMS/data/mein-ns/meine-api/<id>"

# Abfrage mit Filter, Sortierung und Blättern
curl -X POST -u "$USER" -H 'Content-Type: application/json' \
-d '{ "filter": { "alter": { "$gte": 18 } }, "sort": { "name": "ascending" }, "pageSize": 20 }' \
"$CMS/data/mein-ns/meine-api/query"

Dateien​

# Datensatz mit Datei einspielen
curl -X POST -u "$USER" \
-F 'data={ "titel": "Bild", "bild": { "path": "datei1", "name": "bild.png" } }' \
-F 'datei1=@bild.png' "$CMS/data/mein-ns/meine-api"

# Datei abrufen (path aus dem Datensatz)
curl -u "$USER" -o bild.png "$CMS/media/mein-ns/meine-api/<path>"

# Kurzzeit-Token (5 Minuten) für Abrufe ohne Authorization-Header, z. B. in <img>
curl -u "$USER" "$CMS/token"

Export und Import​

curl -u "$USER" -o export.zip "$CMS/data/mein-ns/_export/.*"
curl -X POST -u "$USER" -H 'Content-Type: application/zip' --data-binary @export.zip "$CMS/import" # nur prüfen
curl -X POST -u "$USER" -H 'Content-Type: application/zip' --data-binary @export.zip "$CMS/import?execute&insertOnly"

Konto​

# Angemeldetes Konto und Rollen
curl -u "$USER" "$CMS/user"

# Kennwort setzen (Administrator)
curl -X POST -u 'admin:<kennwort>' -H 'Content-Type: application/json' \
-d '{ "account": "mein-konto", "password": "<neues Kennwort>" }' "$CMS/data/cms/users/actions/password"