Erfassen Sie Ihre Fortschritte
Trailhead-Startseite
Trailhead-Startseite

Erste Schritte mit der User Interface API

Lernziele

Nachdem Sie diese Lektion abgeschlossen haben, sind Sie in der Lage, die folgenden Aufgaben auszuführen:
  • Erläutern, wie die User Interface API zur Salesforce Platform passt
  • Beschreiben, wann die User Interface API verwendet werden sollte
  • Beschreiben, wann die User Interface API nicht verwendet werden sollte

Zugriff auf die Salesforce Platform auf Ihrer Wissensstufe

Ein riesiges Plus von Salesforce ist, dass Sie die Plattform so anpassen können, dass Sie zu Ihnen und Ihren Kunden passt. Als wir beschlossen, unsere Benutzeroberfläche neu zu erstellen, haben wir sie nicht nur optisch neu gestaltet, sondern eine leistungsstarke Plattform entwickelt, die Ihnen noch mehr Zugriff und Anpassungsmöglichkeiten für Salesforce bietet. Wir gaben ihr den Namen "Lightning".

Lightning umfasst die Salesforce-Benutzerumgebung (Lightning Experience), die Plattform und das UI-Framework (Lightning Component-Framework). Mit Lightning können Sie Salesforce auf der Ebene anpassen, die Ihren Fähigkeiten und Anforderungen entspricht, da Sie hier Zugriff auf verschiedene Schichten der Salesforce-Plattform erhalten. In diesem Modul stellen wir den Zugriff auf die Plattform über die User Interface API vor, die Lightning Experience verwendet, um Daten und Metadaten von Salesforce zu erhalten.

Zum Hintergrund: Für die Entwicklung von Lightning Experience brauchten wir eine neue API. Unsere bestehende API bot nicht die notwendigen Zugriffsmöglichkeiten und war für die Datenintegration und nicht für die Erstellung von Benutzeroberflächen konzipiert worden. Und so wurde an einem warmen, wolkenlosen Tag die User Interface API (auch kurz UI API genannt) geboren.

In enger Zusammenarbeit mit unseren internen Salesforce-Entwicklern ermittelten wir, welche Aufgaben schwierig und zeitaufwändig waren, und lösten diese Probleme. Wir haben diese neue REST-API veröffentlicht, was bedeutet, dass Sie Webanwendungen und mobile Anwendungen mit derselben API erstellen können, die Salesforce zum Erstellen von Lightning Experience und den Salesforce-Anwendungen für Android und iOS verwendet.

Auf Tour im Lightning-Technologiestapel

Sie haben viele Möglichkeiten, auf Lightning zuzugreifen, um Salesforce-Anwendungen zu erstellen, die Ihnen und Ihren Kunden das Leben erleichtern. Schauen wir uns die Schichten des Lightning-Technologiestapels an, um zu verstehen, wo sich die User Interface API befindet und wann sie zu verwenden ist.Schichten der Salesforce-Plattform. Die UI API befindet sich unterhalb des Lightning Data Service, der sich wiederum unter Lightning Components befindet.

Je höher Sie im Stapel gehen, desto mehr erledigt die Lightning Platform für Sie und desto einfacher wird die Entwicklung. Ganz oben im Stapel wird kein Code mehr geschrieben, sondern gezeigt und geklickt. Ganz unten im Stapel wird jede Menge Code geschrieben.

  • Ziehen Sie vordefinierte Lightning-Komponenten in den Lightning-Anwendungsgenerator.
  • Entwickeln Sie benutzerdefinierte Lightning-Komponenten.
  • Verwenden Sie den Lightning Data Service, um auf Salesforce-Daten in Lightning-Komponenten zuzugreifen.
  • Nutzen Sie die User Interface API, um benutzerdefinierte Web- und mobile Anwendungen zu erstellen, die sich von außerhalb der Salesforce-Plattform mit Salesforce verbinden.

Sehen wir uns die obere Stapelschicht an, in der Sie keinen Code schreiben müssen. Lightning-Basiskomponenten wie Schaltfläche, Eingabe und Symbol sind die UI-Bausteine. Im Lightning-Anwendungsgenerator können Sie ohne jeglichen Code Komponenten kombinieren, um Anwendungen zu erstellen, die innerhalb von Salesforce angesiedelt sind. Sie können auch eigenständige Anwendungen erstellen, die auf der Salesforce-Plattform gehostet werden.

Auf weiter unten folgenden Stapelschichten können Sie eigene Lightning-Komponenten erstellen. Ohne viel Codierung ermöglicht Ihnen der Lightning Data Service, Datensätze zu erstellen, zu lesen, zu aktualisieren und zu löschen. Der Lightning Data Service nutzt die UI API (die im Stapel direkt darunter folgt), um Daten aus Salesforce zu erhalten. Der LDS wartet mit Caching auf, sodass weniger Serverabfragen notwendig werden und wie von Zauberhand alle Datensätze aktualisiert werden, die dieselben Daten nutzen.

Die Grundlage des Lightning-Stapels ist die User Interface API, die Ihnen Nutzlasten an Salesforce-Daten und Metadaten bietet, die für die UI-Erstellung strukturiert sind. Verwenden Sie Ihr bevorzugtes Web-Framework oder Ihre Lieblings-Sprache, um jede beliebige benutzerdefinierte Web- oder native mobile Anwendung zu erstellen, die Sie sich vorstellen können. React, Vue, Angular, iOS, Android... – wenn HTTP-Anforderungen möglich sind, können Sie die User Interface API verwenden.

User Interface API macht UI-Entwicklung leicht

Salesforce bietet viele APIs, und es kann schwer sein zu entscheiden, welches Tool jeweils das beste ist. Wenn Sie eine benutzerdefinierte Web- oder mobile Anwendung erstellen und eine Benutzeroberfläche benötigen, mit der Benutzer Salesforce-Datensätze anzeigen, erstellen, bearbeiten und löschen können – eine Benutzeroberfläche, die aussieht und sich verhält wie Salesforce – dann ist die UI API das richtige Mittel.

Wenn Sie eine Benutzeroberfläche erstellen, mit der Benutzer abhängige Auswahllisten und Nachschlagesuchen bearbeiten können, ist die User Interface API definitiv das richtige Mittel. Die User Interface API bietet eine Ressource, die das Ganze deutlich einfacher macht.Editor für abhängige Auswahllisten zeigt Menüs für 'Country', 'Language', 'State' und 'City'.

Wie bereits erwähnt, nutzt Salesforce die User Interface API zum Erstellen von Lightning Experience. Die UI API wird von einer internen Salesforce-Entwicklergruppe für eine andere interne Salesforce-Entwicklergruppe entwickelt, die Lightning Experience entwickelt. Und wir sind schon total gespannt darauf zu sehen, was Sie damit entwickeln werden!

Seien wir ehrlich: Die Salesforce-Benutzeroberfläche ist komplex. Die richtige Benutzeroberfläche für einen bestimmten Benutzer hängt von verschiedenen Regeln, Berechtigungen und Seitenlayout-Konfigurationen ab. Ein Administrator kann diese Abhängigkeiten ändern und an die Geschäftsanforderungen anpassen. Beispielsweise kann ein Administrator Felder in Seitenlayouts hinzufügen oder entfernen, Felder als Pflichtfelder kennzeichnen und Seitenlayouts Profilen zuweisen.

Früher war es schwierig, eine dynamische Benutzeroberfläche für die Arbeit mit Datensätzen in benutzerdefinierten Anwendungen zu erstellen, da man Code schreiben musste, um die Benutzeroberfläche zu aktualisieren, wenn ein Administrator Metadatenänderungen an der Organisation vorgenommen hat.

Das ist einer der Gründe, aus denen die UI API entwickelt haben und bei jeder Version neue Funktionen hinzufügen. Die UI API macht es einfach, eine benutzerdefinierte Benutzeroberfläche gemäß den Regeln und Berechtigungen innerhalb einer Salesforce-Organisation zu erstellen, da die Benutzeroberfläche auf Metadatenänderungen zur Laufzeit reagiert. Das möchten wir sicherheitshalber noch einmal wiederholen: Sie müssen Ihre Anwendung nicht ändern, wenn ein Administrator Berechtigungen, Layouts, Feldebenensicherheit oder Freigaberegeln ändert. Sie müssen noch nicht einmal Code schreiben, der nach diesen Dingen sucht – die UI API erledigt das für Sie.

Bevor es die UI API gab, mussten Sie viele Aufrufe durchführen, um die notwendigen Informationen für das Layout (wo sich die Felder auf der Seite befinden), die Metadaten (welche Felder hat ein Objekt, und sind sie erforderlich) und die Datensatz (was sind die Feldwerte) zu erhalten. Heute führt die UI API diese Aufrufe für Sie durch und gibt Ihnen eine einfach zu analysierende Antwort: Die API erledigt die Arbeit einer Layout-Rendering-Engine, so dass Sie nicht selbst eine erstellen müssen. Ihr Liegestuhl (oder Snowboard oder Garten oder...) wartet.

Ach ja: Für die UI API gelten die gleichen API-Obergrenzen wie für die Enterprise-API, Sie müssen sich also keine Gedanken darüber machen, neue Methoden zur Nachverfolgung von API-Obergrenzen lernen zu müssen.

Effiziente Nutzlasten
Sie benötigen viele Informationen, um Formulare zu erstellen, mit denen Benutzer mit Datensätzen arbeiten können. Welche Felder hat das Objekt? Sind es Pflichtfelder? Wo sollen sie im Layout positioniert werden? Was sind die Werte aller Felder? UI API-Nutzlasten aggregieren die Daten und Metadaten, so dass Sie nicht viele API-Anforderungen durchführen müssen.
Formatierte und lokalisierte Anzeigewerte
Da wir gerade von Feldwerten sprechen: Die UI API liefert Ihnen Werte, die in der vom Benutzer gewählten Sprache angezeigt werden können. Ob Datums- oder Währungswert, er wird ansprechend formatiert. Es spielt keine Rolle, welchen Datentyp das Feld hat – Ihr Code verwendet einfach die Eigenschaft displayValue.
Feldebenensicherheit und Freigaberegeln
Die UI API respektiert die entsprechenden Einstellungen. Hat ein Benutzer keinen Zugriff auf ein Feld, wird das Feld nicht in die Antwort aufgenommen. Basta. Genießen Sie Ihre freie Zeit.
Geschäftslogik
Alle Entwickler haben ähnliche Probleme. Um beispielsweise eine Benutzeroberfläche zu entwickeln, mit der Benutzer einen Datensatz duplizieren können, benötigen Sie andere Informationen als für die Entwicklung einer Benutzeroberfläche, mit der Benutzer einen Datensatz erstellen können. Ein Duplizierungsformular enthält Datenwerte aus dem duplizierten Datensatz, während die meisten Datenwerte in einem Erstellungsformular null sind ('Owner' und 'OwnerId' sind nicht-null). Die UI-API verfügt über Ressourcen, die die notwendigen Informationen für die Entwicklung von Benutzeroberflächen für diese Anwendungsfälle liefern. Dies sind dieselben Ressourcen, die wir für die Entwicklung von Lightning Experience und Salesforce für Android und iOS verwenden. Sie erhalten die gleichen Standardwerte wie in Salesforce – echt cool, oder?
Layouttypen und Formfaktoren
Soll Ihre Anwendung auf jedem Gerät, Tablet oder Desktop-PC funktionieren? Natürlich soll sie das. UI API-Antworten können vollständige und kompakte Layouttypen sowie kleine, mittlere und große Formfaktoren bereitstellen.
Zugriffsmodi
Beim Erstellen einer Anwendung, mit der Benutzer mit Salesforce-Datensätzen arbeiten können, müssen Sie verschiedene Benutzeroberflächen für die verschiedenen Arten von Arbeit erstellen. Wird der Benutzer einen Datensatz anzeigen, erstellen, duplizieren oder bearbeiten? Sie können eine Nutzlast für jeden dieser Zugriffsmodi anfordern. (Da beim Duplizieren der Bearbeitungsmodus verwendet wird, sind es eigentlich nur drei Zugriffsmodi: erstellen, bearbeiten und anzeigen.)

Wann sollte ich die User Interface API nicht verwenden?

Verwenden Sie die User Interface API nicht für die Systemintegration. Und auch nicht zum Erstellen einer automatisierten Integration zum Hochladen oder Extrahieren von Daten. Und auch nicht zum Hochladen oder Extrahieren von Daten als Massenvorgang. Verwenden Sie für diese Aufgaben die Enterprise-API oder die Bulk-API.

Verwenden Sie beim Erstellen von Lightning-Komponenten die UI API nicht direkt, sondern den Lightning Data Service (LDS).

Der LDS setzt auf der User Interface API auf, bietet aber auch Caching für Antworten und Aktualisierungen für alle Datensätze, auf die sich Datenänderungen auswirken. Wenn Sie den LDS verwenden, müssen Sie sich nicht um REST-Aufrufe und das Caching von Ergebnissen kümmern, da der LDS dies für Sie übernimmt. Und wenn sich Daten ändern, aktualisiert der LDS alle relevanten Komponenten. Der LDS verhindert nicht nur inkonsistente Daten zwischen Komponenten, sondern ermöglicht es dem Benutzer auch, offline zu arbeiten, da die Daten synchronisiert werden, sobald er wieder online geht. Der LDS ist cool.

Und, schließlich und endlich, verwenden Sie die User Interface API nicht dazu, die gesamte Salesforce-UI neu zu erstellen. Warum sollten Sie das auch tun wollen?

Die Ressourcen der User Interface API

Die UI API-Ressourcen lassen sich in mehrere Kategorien unterteilen. Dieses Trailhead-Modul befasst sich eingehend mit den Ressourcen für Datensätze und Layouts, wir gehen jetzt aber am besten schnell einige der anderen Kategorien durch, damit Sie eine Vorstellung von den Möglichkeiten bekommen. Eine vollständige Liste der Ressourcen finden Sie im User Interface Developer Guide.

Tipp

Tipp

In diesem Modul werden die Begriffe Ressource und Endpunkt synonym verwendet.

Datensätze und Layouts

Verwenden Sie diese Ressourcen, um Salesforce-Datensätze zu erstellen, zu lesen, zu aktualisieren und zu löschen.

Die wichtigste UI API-Ressource akzeptiert eine oder mehrere Datensatz-IDs und gibt Daten, Metadaten und Layoutinformationen zurück. Ja, ganz richtig: Ihre Anwendung setzt eine HTTP-Anforderung ab und ruft alles ab, was Sie für die Anzeige eines Datensatzes brauchen. In der nächsten Einheit befassen wir uns eingehender mit dieser Ressource.

/ui-api/record-ui/{recordIds}
Die UI API verfügt auch über Ressourcen, die dieselben Layout-, Objektmetadaten und Datenantworten einzeln abrufen.
/ui-api/layout/{objectApiName}
/ui-api/object-info/{objectApiName}
/ui-api/records/{recordId}
In einer späteren Einheit sehen wir uns Ressourcen an, die die Standardfeldwerte abrufen, die Sie zum Erstellen einer Benutzeroberfläche zum Duplizieren oder Erstellen eines Datensatzes benötigen.
/ui-api/record-defaults/create/{objectApiName}
/ui-api/record-defaults/clone/{recordId}
Außerdem lernen Sie, wie man diese Ressource verwendet, um die Werte für alle Auswahllistenfelder eines bestimmten Datensatztyps abzurufen.
/ui-api/object-info/{objectApiName}/picklist-values/{recordTypeId}

Listenansichten

Salesforce-Benutzer verbringen viel Zeit damit, ihre Listenansichten anzupassen, damit sie Datensätze anzeigen und analysieren können. Verwenden Sie die UI API, um eine Datensatzliste und Listenansicht-Metadaten abzurufen. Genau wie die Ressource /ui-api/record-ui/{recordId} gibt auch diese Ressource Daten und Metadaten in einer Antwort zurück.
/ui-api/list-ui/${listViewId}
/ui-api/list-ui/${objectApiName}/${listViewApiName}
Sie können die Daten und Metadaten auch mit spezifischen Ressourcen abrufen.
/ui-api/list-info/${listViewId}
/ui-api/list-info/${objectApiName}/${listViewApiName}
/ui-api/list-records/${listViewId}
/ui-api/list-records/${objectApiName}/${listViewApiName}

Aktionen

Mit Aktionen können Benutzer Aufgaben in Salesforce schnell und einfach erledigen. Verwenden Sie Aktionen, um ein Objekt zu erstellen, eine E-Mail zu senden, einen Anruf zu protokollieren usw. Aktionen werden in der Aktionsleiste der mobilen App und im Aktions-Menüband von Lightning Experience angezeigt. Bevor es die UI API gab, mussten Anwendungen SOQL verwenden, um festzustellen, welche Aktionen verfügbar waren. Jetzt können Sie Listen mit Aktionen abrufen, die dem Benutzer in der Salesforce-Anwendung, in der Kopfzeile "Globale Aktionen", auf den Detail- und Bearbeitungsseiten von Datensätzen, auf Themenlisten usw. zur Verfügung stehen.
/ui-api/actions/global
/ui-api/actions/record/${recordIds}
/ui-api/actions/record/${recordId}/record-edit
/ui-api/actions/record/${recordId}/related-list/${relatedListIds}
// There are more actions resources! Check the User Interface API Developer Guide! 

Derzeit können Sie die Aktionsendpunkte verwenden, um Listen von Aktionen abzurufen, können aber keine Aktionen ausführen. Der Abruf einer Aktionsliste ist praktisch, wenn Sie Schnellaktionen verwenden, Visualforce-Überschreibungen einsetzen oder CRUD auf der Grundlage sichtbarer Aktionen ermitteln möchten. Gibt es beispielsweise eine Aktion "Neu", kann der Benutzer einen Datensatz erstellen. Dasselbe gilt für "Bearbeiten" und "Löschen".

Favoriten

In Lightning Experience gibt es einen Stern in der Kopfzeile, dessen zugehöriges Menü Ihre bevorzugten Datensätze und Listenansichten enthält. Benutzer können Favoriten hinzufügen, damit sie schnell in Salesforce navigieren können. Die UI API verfügt über Ressourcen zum Erstellen, Anzeigen, Aktualisieren und Löschen von Favoriten, so dass Sie dieselbe Favoriten-Navigation in Ihren benutzerdefinierten Anwendungen erstellen können.
/ui-api/favorites
/ui-api/favorites/${favoriteId}
/ui-api/favorites/batch
/ui-api/favorites/${favoriteId}/usage

Nachschlagevorgänge

Salesforce-Objekte enthalten oftmals Nachschlagefelder, die es Ihnen ermöglichen, zwei Datensätze in einer Beziehung zu verknüpfen. Ein Kontaktdatensatz z. B. enthält ein Nachschlagefeld mit dem Namen Account, das den Kontakt mit seinem Account verbindet. Auf Datensatzbearbeitungsseiten ermöglichen Ihnen Nachschlagefelder nach dem Datensatz zu suchen, den Sie mit dem Datensatz verknüpfen möchten, den Sie gerade bearbeiten. Nachschlageoberfläche für einen Accountnamen Das Dropdown-Feld enthält Vorschläge.

Das Erstellen der Benutzeroberfläche für Nachschlagefelder und abhängige Nachschlagefelder ist eine große Herausforderung, die durch die User Interface API viel einfacher wird. Verwenden Sie diese Ressourcen, um eine Benutzeroberfläche zu erstellen, mit der Benutzer eine vollständige Suche mit Worterkennungstechnologie durchführen können, wie sie sie aus Lightning Experience kennen.
/ui-api/lookups/{objectApiName}/{fieldApiName}
/ui-api/lookups/{objectApiName}/{fieldApiName}/{targetApiName}