Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Welche API für Ihre App

Für jeden Bildschirm einer App zwischen der REST-Inhalts-API, den Remote-Diensten von expservices und einer eigenen ezjscore-Serverfunktion entscheiden - nach Aufgabe, nach Zugangsdaten, nach Form der Antwort und nach…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/mobile-app-developers/which-api-for-your-app.md

On this page

This page is a translation. Read the English original

Welche API für Ihre App

Diese Seite richtet sich an App-Entwickler und technische Leitungen, die Bildschirm für Bildschirm entscheiden müssen, welche der drei HTTP-Schnittstellen von Exponential sie aufrufen. Sie vergleicht sie in den Punkten, die für eine App zählen: was jede kann, wie sie authentifiziert, wie ihre Antworten aussehen und was das Serverteam einrichten muss.

Inhalt

  1. Die kurze Antwort
  2. Nach Aufgabe
  3. Nach Eigenschaft
  4. Schnittstellen kombinieren
  5. Wenn nichts passt

Die kurze Antwort

Lesen Sie Inhalte mit der REST-API (/api/ezp/v1 oder /api/ezp/v2). Nutzen Sie die Remote-Dienste (expservices) für das, was REST nicht bietet: Suche, Bildalias-URLs, URL-Aliase, Sprachen, das Aktualisieren von Inhalten. Bitten Sie einen PHP-Entwickler nur dann um eine ezjscore-Serverfunktion, wenn keine der beiden hat, was ein Bildschirm braucht.

Nach Aufgabe

AufgabeREST-APIexpservicesLesen
Ein Element mit seinen Feldern lesenGET /content/node/<id>?ResponseGroups=Fieldsexpnode::get, expnode::dataMapEinen Knoten lesen
Einen Ordner seitenweise auflistenGET /content/node/<id>/list/offset/<n>/limit/<n>expnode::childrenUnterknoten auflisten und Paginierung
Unterknoten zählenGET /content/node/<id>/childrenCountexpnode::childrenCountdieselbe Seite
Suchenkeineexpsearch::searchInhalte suchen
Bild in einer Bildschirmgrößekeine (nur der Originalpfad)expimage::url, expimage::urlsBildaliase für Bildschirmgrößen
Element über den URL-Pfad (Deep Link)keineexpnode::getByPathKnoten-IDs, Remote-IDs und Deep Links
Anlegen und veröffentlichenPOST /api/ezp/v2/content/node/createexpnode::createInhalte anlegen und entfernen
Aktualisierenantwortet nach der Berechtigungsprüfung mit 501expnode::updateÜber expservices schreiben
EntfernenDELETE /api/ezp/v2/content/node/delete/<id>expnode::removeInhalte anlegen und entfernen
Sprachen der Websitekeineexplanguage::prioritized, explanguage::languagesMehrsprachige Inhalte

Die Namen der expservices stammen aus den Dienstdeklarationen in extension/expservices/classes/; der vollständige Katalog steht in der expservices-Referenz.

Nach Eigenschaft

REST-APIexpservicesEigene ezjscore-Funktion
Ausgeliefert mitezprestapi (vom Root-composer.json von 6.0.15 verlangt)expservices, Teil der StandarddistributionIhrer Erweiterung
URL/api/ezp/<version>/.../ezjscore/call/exp<domain>::<method>[::arg...]/ezjscore/call/<name>::<function>[::arg...]
ZugangsdatenOAuth2-Token oder persönlicher API-Schlüsselexpservices-Token oder ein Sitzungscookiewas die Funktion prüft, meist die Sitzung
Anonyme Aufrufestandardmäßig abgelehnt (RequireAuthentication=enabled)erlaubt für Dienste, die als public markiert sindSache der Funktion
Form der Antworteinfache JSON-Objekte; Fehler mit HTTP-Status{"error_text":"","content":{"ok":...}}, Fehler darin mit HTTP 200{"error_text":"","content":<value>}
Paginierungoffset, limit im Pfad; childrenCount in den Metadatendie letzten beiden URL-Argumente; meta.total, meta.has_moreIhre eigene
Versioniertja, v1 und v2keine Version in der URLnein

Der Unterschied in der Fehlerbehandlung ist für Ihre HTTP-Schicht wichtig: REST meldet mit dem Statuscode, was schiefging, während ein expservices-Aufruf, der den Dienst erreicht, mit HTTP 200 antwortet und den Fehler in content.ok und content.error.code ablegt (Der Umschlag von expservices).

Schnittstellen kombinieren

Kombinieren ist normal und sicher: Beide laufen als ein Benutzer, und beide prüfen dieselben Rollen und Richtlinien. Halten Sie im Code der App zwei Dinge getrennt:

  • Zwei Arten von Zugangsdaten. Ein REST-OAuth-Token oder ein expk_-Schlüssel ist kein expservices-Token, und ein expt_-Token wird von REST nicht akzeptiert. Speichern und erneuern Sie sie getrennt (Zugangsdaten auswählen).
  • Zwei Fehlermodelle. Kapseln Sie jede Schnittstelle in einer eigenen Client-Klasse, die deren Antworten in einen einzigen Fehlertyp Ihrer App übersetzt.

Wenn nichts passt

Ein Bildschirm, der Daten braucht, die keine Route und kein Dienst liefert (ein kombiniertes Dashboard, eine eigene Berechnung), bekommt einen eigenen Serverendpunkt, in PHP in einer Erweiterung geschrieben: eine ezjscore-Serverfunktion oder ein eigener REST-Provider. Das ist Arbeit für Anwendungsentwickler: JSON-Endpunkte mit ezjscore, REST-API für Anwendungen. Geben Sie ihnen den Bildschirm, die benötigten Felder und den Benutzer, als der der Aufruf läuft.

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x