Beantrage frühzeitigen Zugang

Gib deinen Vornamen und eine E-Mail-Adresse oder Telefonnummer an. Wir melden uns mit den Details zum Tajo-Zugang bei dir.

Viewports-Referenz

Viewports legen fest, wo die UI-Komponenten deiner Stripe App im Stripe Dashboard erscheinen. Jeder Viewport entspricht einer bestimmten Dashboard-Seite oder Stelle, an der deine App eine Ansicht rendern kann.

So funktionieren Viewports

Wenn du eine Ansicht in deinem App-Manifest deklarierst, ordnest du eine React-Komponente einem Viewport zu:

{
"ui_extension": {
"views": [
{
"viewport": "stripe.dashboard.customer.detail",
"component": "CustomerDetailView"
}
]
}
}

Die Komponente rendert im App-Drawer (Seitenleiste), sobald jemand die passende Dashboard-Seite aufruft und deine App öffnet.

Dashboard-weite gegenüber seitenspezifischen Viewports

Dashboard-weite Viewports

Diese Viewports stehen auf jeder Seite des Stripe Dashboards zur Verfügung:

Viewport-IDBeschreibung
stripe.dashboard.drawer.defaultStandardansicht im Drawer, von jeder Dashboard-Seite über das App-Icon erreichbar
stripe.dashboard.home.overviewÜbersicht auf der Startseite, wird auf der Dashboard-Landingpage angezeigt
stripe.dashboard.settingsEinstellungsseite der App, über das Einstellungsmenü der App erreichbar
stripe.dashboard.onboardingOnboarding-Ablauf, wird nach der Installation der App angezeigt

Tip

Der Viewport drawer.default dient als Rückfallebene. Wenn jemand deine App auf einer Seite öffnet, für die du keinen eigenen Viewport deklariert hast, rendert stattdessen die Ansicht drawer.default.

Seitenspezifische Viewports

Diese Viewports rendern nur, wenn die passende Dashboard-Seite geöffnet ist:

Zahlungen

Viewport-IDSeiteURL-MusterObjekttyp
stripe.dashboard.payment.listZahlungsliste/payments
stripe.dashboard.payment.detailZahlungsdetail/payments/:idPaymentIntent
stripe.dashboard.charge.detailBelastungsdetail/payments/:id (veraltet)Charge

Kund:innen

Viewport-IDSeiteURL-MusterObjekttyp
stripe.dashboard.customer.listKundenliste/customers
stripe.dashboard.customer.detailKundendetail/customers/:idCustomer

Produkte & Preise

Viewport-IDSeiteURL-MusterObjekttyp
stripe.dashboard.product.listProduktliste/products
stripe.dashboard.product.detailProduktdetail/products/:idProduct
stripe.dashboard.price.detailPreisdetail/prices/:idPrice

Rechnungen

Viewport-IDSeiteURL-MusterObjekttyp
stripe.dashboard.invoice.listRechnungsliste/invoices
stripe.dashboard.invoice.detailRechnungsdetail/invoices/:idInvoice

Abonnements

Viewport-IDSeiteURL-MusterObjekttyp
stripe.dashboard.subscription.listAbonnementliste/subscriptions
stripe.dashboard.subscription.detailAbonnementdetail/subscriptions/:idSubscription

Checkout

Viewport-IDSeiteURL-MusterObjekttyp
stripe.dashboard.checkout.session.listListe der Checkout Sessions/checkout/sessions
stripe.dashboard.checkout.session.detailDetail einer Checkout Session/checkout/sessions/:idCheckoutSession
stripe.dashboard.payment-link.listListe der Payment Links/payment-links
stripe.dashboard.payment-link.detailDetail eines Payment Links/payment-links/:idPaymentLink

Connect

Viewport-IDSeiteURL-MusterObjekttyp
stripe.dashboard.connect.account.listListe der verbundenen Konten/connect/accounts
stripe.dashboard.connect.account.detailDetail eines verbundenen Kontos/connect/accounts/:idAccount
stripe.dashboard.transfer.listTransferliste/connect/transfers
stripe.dashboard.transfer.detailTransferdetail/connect/transfers/:idTransfer

Billing

Viewport-IDSeiteURL-MusterObjekttyp
stripe.dashboard.coupon.listGutscheinliste/coupons
stripe.dashboard.coupon.detailGutscheindetail/coupons/:idCoupon
stripe.dashboard.quote.listAngebotsliste/quotes
stripe.dashboard.quote.detailAngebotsdetail/quotes/:idQuote
stripe.dashboard.credit-note.detailGutschriftdetail/credit-notes/:idCreditNote

Auszahlungen

Viewport-IDSeiteURL-MusterObjekttyp
stripe.dashboard.payout.listAuszahlungsliste/payouts
stripe.dashboard.payout.detailAuszahlungsdetail/payouts/:idPayout

Streitfälle

Viewport-IDSeiteURL-MusterObjekttyp
stripe.dashboard.dispute.listListe der Streitfälle/disputes
stripe.dashboard.dispute.detailDetail eines Streitfalls/disputes/:idDispute

Terminal

Viewport-IDSeiteURL-MusterObjekttyp
stripe.dashboard.terminal.reader.listListe der Lesegeräte/terminal/readers
stripe.dashboard.terminal.reader.detailDetail eines Lesegeräts/terminal/readers/:idTerminalReader
stripe.dashboard.terminal.location.listStandortliste/terminal/locations
stripe.dashboard.terminal.location.detailStandortdetail/terminal/locations/:idTerminalLocation

Issuing

Viewport-IDSeiteURL-MusterObjekttyp
stripe.dashboard.issuing.card.listKartenliste/issuing/cards
stripe.dashboard.issuing.card.detailKartendetail/issuing/cards/:idIssuingCard
stripe.dashboard.issuing.cardholder.listListe der Karteninhaber:innen/issuing/cardholders
stripe.dashboard.issuing.cardholder.detailDetail einer Karteninhaberin oder eines Karteninhabers/issuing/cardholders/:idIssuingCardholder
stripe.dashboard.issuing.transaction.listTransaktionsliste/issuing/transactions
stripe.dashboard.issuing.authorization.listListe der Autorisierungen/issuing/authorizations

Zugriff auf den Objektkontext

Wenn deine App in einem Detail-Viewport rendert, bekommt sie das zugehörige Stripe-Objekt als Kontext:

import type { ExtensionContextValue } from '@stripe/ui-extension-sdk/context';
const CustomerDetailView = ({ environment }: ExtensionContextValue) => {
const { objectContext } = environment;
// objectContext contains the current Stripe object
const customerId = objectContext?.id; // "cus_xxxxx"
const customerEmail = objectContext?.email;
return (
<Box>
<Inline>Customer: {customerEmail}</Inline>
<Inline>Brevo Sync Status: checking...</Inline>
</Box>
);
};

Kontext bei Listen gegenüber Detailseiten

Viewport-TypObjektkontextAnwendungsfall
Liste (z. B. customer.list)Nicht verfügbar, kein bestimmtes Objekt ausgewähltAggregierte Daten, Übersichten oder Sammelaktionen zeigen
Detail (z. B. customer.detail)Das vollständige Stripe-Objekt der aktuellen SeiteObjektbezogene Daten, Aktionen und Integrationen zeigen

Empfohlene Viewports für die Tajo Brevo-Integration

Für die Tajo Brevo-Integration bringen diese Viewports den größten Nutzen:

{
"ui_extension": {
"views": [
{
"viewport": "stripe.dashboard.customer.detail",
"component": "CustomerDetailView"
},
{
"viewport": "stripe.dashboard.customer.list",
"component": "CustomerListView"
},
{
"viewport": "stripe.dashboard.payment.detail",
"component": "PaymentDetailView"
},
{
"viewport": "stripe.dashboard.subscription.detail",
"component": "SubscriptionDetailView"
},
{
"viewport": "stripe.dashboard.home.overview",
"component": "OverviewView"
},
{
"viewport": "stripe.dashboard.drawer.default",
"component": "DrawerView"
},
{
"viewport": "stripe.dashboard.settings",
"component": "SettingsView"
},
{
"viewport": "stripe.dashboard.onboarding",
"component": "OnboardingView"
}
]
}
}
KomponenteZweck
CustomerDetailViewZeigt Brevo-Kontaktdaten, Sync-Status und Engagement-Daten für einen bestimmten Kundendatensatz
CustomerListViewZeigt Steuerelemente für die Sammelsynchronisierung und aggregierte Brevo-Sync-Statistiken
PaymentDetailViewZeigt, welche Brevo-Events diese Zahlung ausgelöst hat
SubscriptionDetailViewZeigt den Status der Brevo-Automation für dieses Abonnement
OverviewViewWidget auf der Dashboard-Startseite mit Sync-Zustand und wichtigen Brevo-Metriken
DrawerViewAllgemeiner App-Drawer mit Schnellaktionen und Statusübersicht
SettingsViewKonfiguriert Brevo API-Schlüssel, Sync-Einstellungen und Feldzuordnungen
OnboardingViewFührt neue Nutzer:innen durch die Verbindung ihres Brevo-Kontos

Verfügbarkeit von Viewports

Nicht alle Viewports stehen in allen Modi des Stripe Dashboards zur Verfügung:

ModusVerfügbare Viewports
Live-ModusAlle Viewports
TestmodusAlle Viewports (mit Testdaten)
SandboxAlle Viewports (sofern sandbox_install_compatible: true)

Caution

Wenn dein Manifest einen Viewport deklariert, den es nicht gibt, scheitert der App-Upload an der Validierung. Prüfe Viewport-IDs immer gegen diese Referenz.

Beantrage frühzeitigen Zugang

Gib deinen Vornamen und eine E-Mail-Adresse oder Telefonnummer an. Wir melden uns mit den Details zum Tajo-Zugang bei dir.

automatische Erkennung
AI-Assistent

Hallo! Fragen Sie mich alles über die Dokumentation.