Letzte Änderung: 11. September 2025
Im Folgenden finden Sie Referenzinformationen zu App-Funktionen der Entwicklerplattform, einschließlich Definitionen für Konfigurationsdateien, Details zu Bereichen und mehr.
Projektstruktur
- Alle Projektkomponenten müssen sich in dem
src
-Verzeichnis befinden, das in derhsproject.json
-Konfigurationsdatei der obersten Ebene angegeben ist. - Alle App-Funktionen und -Komponenten müssen innerhalb des Verzeichnisses
src/app/
-gespeichert werden. In diesemapp/
-Verzeichnis definieren Sie Unterverzeichnisse für jede Funktion, die Ihre App unterstützen soll:- App-Events sind in
app-events/
konfiguriert. - App-Objekte sind in
app-objects/
definiert. - Alle Kartenfunktionen sind in
cards/
definiert. - Die Funktionen der Einstellungsseite sind innerhalb von
settings/
definiert. - Die Telemetriedaten sind in
telemetry/
konfiguriert. - Webhook-Abonnements sind innerhalb von
webhooks/
definiert. - Benutzerdefinierte Workflow-Aktionen sind innerhalb von
workflow-actions/
definiert.
- App-Events sind in
- In jedem Unterverzeichnis für Funktionen konfigurieren Sie die jeweiligen Funktionen mithilfe einer
*-hsmeta.json
-Datei. Sie können dem Dateinamen etwas voranstellen, das für Ihre App sinnvoll ist (z. B.my-app-hsmeta.json
), solange die Datei mit-hsmeta.json
endet. Diese Dateien müssen sich auf der Stammebene ihres jeweiligen Ordners befinden (z. B.app/my-app-hsmeta.json
,cards/my-card-hsmeta.json
).
app-hsmeta.json
-App-Schemadatei der obersten Ebene finden Sie unten im Abschnitt App-Schema. Um App-Funktionen hinzuzufügen, lesen Sie bitte den Abschnitt Hinzufügen von App-Funktionen.
Beispiel auf GitHub anzeigen
*-hsmeta.json
-Konfigurationsdateien.
Angeben von UIDs
Dasuid
-Feld ist eine intern eindeutige ID für Ihre spezifische App und muss auch innerhalb des Projekts global eindeutig sein. Für alle App-Funktionen ist jeweils eine eigene uid
-Datei in ihren jeweiligen *-hsmeta.json
-Dateien definiert, die sich von der entsprechenden uid
der obersten Ebene unterscheiden muss, welche Sie in der app-hsmeta.json
-Datei Ihrer App auswählen.
App-Schema
Die Konfiguration der obersten Ebene für Ihre App wird in einerapp-hsmeta.json
-Konfigurationsdatei im app
-Verzeichnis angegeben.
app-hsmeta.json
.
Beispiel auf GitHub anzeigen
Mit * markierte Felder sind Pflichtfelder.
Feld | Typ | Beschreibung |
---|---|---|
uid * | Zeichenfolge | Eine interne eindeutige ID für die App. Sie muss innerhalb des Projekts global eindeutig und kann eine beliebige Zeichenfolge mit bis zu 64 Zeichen sein. Zeichen können in Groß- oder Kleinbuchstaben geschrieben werden und Ziffern, Unterstriche (_ ), Bindestriche (- ) und Punkte (. ) enthalten. |
type * | Zeichenfolge | Der Typ der Komponente. Muss mit dem Namen des übergeordneten Ordners (app ) übereinstimmen. |
description * | Zeichenfolge | Eine Beschreibung, was die App für den installierenden Benutzer tut. Kann eine beliebige Zeichenfolge mit bis zu 8.192 Zeichen sein. |
name * | Zeichenfolge | Dies ist der Name der App, der in HubSpot angezeigt wird. Kann eine beliebige Zeichenfolge mit bis zu 200 Zeichen sein. Darf nicht mit einem Leerzeichen beginnen oder enden. |
distribution * | Zeichenfolge | Die Methode der App-Verteilung, die auf eine der folgenden Optionen festgelegt werden kann:
Weitere Informationen finden Sie im Abschnitt Verteilung weiter unten. |
auth * | Objekt | Ein Objekt, das die Details der Authentifizierungsmethode der App enthält. Weitere Informationen finden Sie im Abschnitt zur Authentifizierung weiter unten. |
permittedUrls | Objekt | Ein Array, das die URLs enthält, die die App aufrufen darf. URLs müssen dem HTTPS-Schema folgen und eine Autorität enthalten, ggf. gefolgt von einem optionalen Pfadpräfix. |
supportEmail | Zeichenfolge | Eine gültige E-Mail-Adresse, an die sich Benutzer wenden können, wenn sie Support benötigen. |
documentationUrl | Zeichenfolge | Die externe URL, zu der Benutzer navigieren können, um die Begleitdokumentation zu erhalten. Muss HTTPS verwenden. |
supportUrl | Zeichenfolge | Die externe URL, zu der Benutzer navigieren können, um zusätzlichen Support zu erhalten. Muss HTTPS verwenden. |
supportPhone | Zeichenfolge | Die Telefonnummer, die Benutzer kontaktieren können, wenn sie Support benötigen. Muss mit einem Pluszeichen (+ ) beginnen. |
Verteilung
Mit demdistribution
-Feld in Ihrem App-Schema können Sie konfigurieren, wie Sie Ihre App verteilen möchten:
- Wenn Sie Ihre App im HubSpot App Marketplace listen wollen, legen Sie das
distribution
-Feld auf"marketplace"
fest. Ein Beispiel für ein App-Schema für diese Option finden Sie hier. Wenn Sie diese Option wählen, stellen Sie sicher, dass Sie innerhalb demtype
derauth
-Eigenschaft den Wert aufoauth
setzen, wie im Abschnitt Authentifizierung weiter unten beschrieben. - Wenn Sie zulassen möchten, dass Ihre App in einer bestimmten Gruppe von Accounts der Zulassungsliste installiert werden darf, oder falls Sie die Installation jeweils auf einen einzelnen Account beschränken möchten, wählen Sie für den
distribution
-Wert"private"
. Stellen Sie sicher, dass Sie dentype
innerhalb derauth
-Eigenschaft genauso bestimmen:- Wenn Sie Ihre App basierend auf einer Zulassungsliste, die Sie in Ihren Projekteinstellungen konfiguriert haben, und somit in mehreren Accounts installieren möchten, muss der
type
der Authentifizierungoauth
lauten. Ein Beispiel für dieses App-Schema-Option finden Sie hier. - Um die Installation auf einen einzelnen Account zu beschränken (entweder auf den Account, den Sie für die Entwicklung verwenden, oder auf einen anderen, auf den der installierende Benutzer Zugriff hat), setzen Sie den
type
der Authentifizierung aufstatic
. Ein Beispiel für ein App-Schema für statische Authentifizierung finden Sie hier.
- Wenn Sie Ihre App basierend auf einer Zulassungsliste, die Sie in Ihren Projekteinstellungen konfiguriert haben, und somit in mehreren Accounts installieren möchten, muss der
Authentifizierung
Die Authentifizierung für Ihre App wird über dieauth
-Eigenschaft in Ihrem App-Schema konfiguriert. Sie können dabei die Bereichsanforderungen Ihrer App, Weiterleitungs-URLs und den Authentifizierungstyp angeben.
Mit * markierte Felder sind Pflichtfelder.
Feld | Typ | Beschreibung |
---|---|---|
type * | Zeichenfolge | Die Art der Authentifizierung, für die folgende Optionen infrage kommen:
|
redirectUrls * | Array | Eine Liste von URLs, zu denen der OAuth-Prozess zurückleiten darf. Jede App muss über mindestens eine derartige URL verfügen und HTTPS verwenden. Die einzige Ausnahme ist, dass für http://localhost das Testen erlaubt ist. |
requiredScopes * | Array | Eine Liste der erforderlichen Bereiche Ihrer App. Jede App muss mindestens einen Bereich enthalten, wobei es erforderlich ist, dass der installierende Benutzer diese Bereiche zulässt, wenn die App erfolgreich installiert werden soll. Erfahren Sie im Folgenden mehr über Bereiche. |
optionalScopes | Array | Eine Liste der optionalen Bereiche Ihrer App. Diese Bereiche können bei der Installation von der Autorisierung ausgeschlossen werden, wenn der Account oder der Benutzer, der die App installiert, nicht über entsprechende Berechtigungen verfügt. In diesem Fall wird der Bereich nicht in das resultierende Aktualisierungs- oder Zugriffs-Token aufgenommen. Erfahren Sie im Folgenden mehr über Bereiche. |
conditionallyRequiredScopes | Array | Eine Liste von Bereichen, die nur erforderlich sind, wenn sie im scope -Abfrageparameter der Installations-URL enthalten sind. Erfahren Sie im Folgenden mehr über Bereiche. |
Bereiche
Imauth
-Feld einer App-Konfigurationsdatei können Sie drei Arten von Bereichen angeben: erforderliche Bereiche, bedingt erforderliche Bereiche und optionale Bereiche.
Ihre App muss mindestens den read
-Bereich enthalten, damit Kunden auf den zugehörigen CRM-Objekttyp zugreifen können.
App-Features hinzufügen
Um App-Funktionen wie Webhook-Abonnements, benutzerdefinierte Workflow-Aktionen und App-Karten zu konfigurieren, lesen Sie bitte die folgenden Anleitungen, um Näheres zum Hinzufügen der zugehörigen*-hsmeta.json
-Dateien zu Ihrem Projekt zu erfahren: