Viewports-referens

Viewports definierar var din Stripe Apps UI-komponenter visas i Stripe Dashboard. Varje viewport motsvarar en specifik Dashboard-sida eller plats där din app kan rendera en vy.

Hur viewports fungerar

När du deklarerar en vy i ditt app-manifest mappar du en React-komponent till en viewport:

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

Komponenten renderas i appdradern (sidopanelen) när en användare navigerar till motsvarande Dashboard-sida och öppnar din app.

Dashboardomfattande vs sidspecifika viewports

Dashboardomfattande viewports

Dessa viewports är tillgängliga på varje sida i Stripe Dashboard:

Viewport-IDBeskrivning
stripe.dashboard.drawer.defaultStandard drader-vy, tillgänglig från valfri Dashboard-sida via appikonen
stripe.dashboard.home.overviewStartsidöversikt, visas på Dashboard-landningssidan
stripe.dashboard.settingsAppinställningssida, tillgänglig från appens inställningsmeny
stripe.dashboard.onboardingOnboarding-flöde, visas efter appinstallation

Tip

Viewporten drawer.default fungerar som reserv. Om en användare öppnar din app på en sida där du inte deklarerat en specifik viewport renderas drawer.default-vyn istället.

Sidspecifika viewports

Dessa viewports renderas bara när användaren är på motsvarande Dashboard-sida:

Betalningar

Viewport-IDSidaURL-mönsterObjekttyp
stripe.dashboard.payment.listBetalningslista/payments,
stripe.dashboard.payment.detailBetalningsdetalj/payments/:idPaymentIntent
stripe.dashboard.charge.detailAvgiftsdetalj/payments/:id (legacy)Charge

Kunder

Viewport-IDSidaURL-mönsterObjekttyp
stripe.dashboard.customer.listKundlista/customers,
stripe.dashboard.customer.detailKunddetalj/customers/:idCustomer

Produkter och priser

Viewport-IDSidaURL-mönsterObjekttyp
stripe.dashboard.product.listProduktlista/products,
stripe.dashboard.product.detailProduktdetalj/products/:idProduct
stripe.dashboard.price.detailPrisdetalj/prices/:idPrice

Fakturor

Viewport-IDSidaURL-mönsterObjekttyp
stripe.dashboard.invoice.listFakturalista/invoices,
stripe.dashboard.invoice.detailFakturadetalj/invoices/:idInvoice

Prenumerationer

Viewport-IDSidaURL-mönsterObjekttyp
stripe.dashboard.subscription.listPrenumerationslista/subscriptions,
stripe.dashboard.subscription.detailPrenumerationsdetalj/subscriptions/:idSubscription

Checkout

Viewport-IDSidaURL-mönsterObjekttyp
stripe.dashboard.checkout.session.listCheckout Sessions-lista/checkout/sessions,
stripe.dashboard.checkout.session.detailCheckout Session-detalj/checkout/sessions/:idCheckoutSession
stripe.dashboard.payment-link.listBetalningslänklista/payment-links,
stripe.dashboard.payment-link.detailBetalningslänkdetalj/payment-links/:idPaymentLink

Connect

Viewport-IDSidaURL-mönsterObjekttyp
stripe.dashboard.connect.account.listAnslutna kontolista/connect/accounts,
stripe.dashboard.connect.account.detailAnslutet kontodetalj/connect/accounts/:idAccount
stripe.dashboard.transfer.listÖverföringslista/connect/transfers,
stripe.dashboard.transfer.detailÖverföringsdetalj/connect/transfers/:idTransfer

Fakturering

Viewport-IDSidaURL-mönsterObjekttyp
stripe.dashboard.coupon.listKupponglista/coupons,
stripe.dashboard.coupon.detailKupongdetalj/coupons/:idCoupon
stripe.dashboard.quote.listOffertelista/quotes,
stripe.dashboard.quote.detailOffertdetalj/quotes/:idQuote
stripe.dashboard.credit-note.detailKreditnotadetalj/credit-notes/:idCreditNote

Utbetalningar

Viewport-IDSidaURL-mönsterObjekttyp
stripe.dashboard.payout.listUtbetalningslista/payouts,
stripe.dashboard.payout.detailUtbetalningsdetalj/payouts/:idPayout

Tvister

Viewport-IDSidaURL-mönsterObjekttyp
stripe.dashboard.dispute.listTvistlista/disputes,
stripe.dashboard.dispute.detailTvistdetalj/disputes/:idDispute

Terminal

Viewport-IDSidaURL-mönsterObjekttyp
stripe.dashboard.terminal.reader.listLäsarlista/terminal/readers,
stripe.dashboard.terminal.reader.detailLäsardetalj/terminal/readers/:idTerminalReader
stripe.dashboard.terminal.location.listPlatslista/terminal/locations,
stripe.dashboard.terminal.location.detailPlatsdetalj/terminal/locations/:idTerminalLocation

Issuing

Viewport-IDSidaURL-mönsterObjekttyp
stripe.dashboard.issuing.card.listKortlista/issuing/cards,
stripe.dashboard.issuing.card.detailKortdetalj/issuing/cards/:idIssuingCard
stripe.dashboard.issuing.cardholder.listKorthållarlista/issuing/cardholders,
stripe.dashboard.issuing.cardholder.detailKorthållardetalj/issuing/cardholders/:idIssuingCardholder
stripe.dashboard.issuing.transaction.listTransaktionslista/issuing/transactions,
stripe.dashboard.issuing.authorization.listAuktoriseringslista/issuing/authorizations,

Åtkomst till objektkontext

När din app renderas i en detalj-viewport tar den emot det relevanta Stripe-objektet som 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>
);
};

Lista vs detalj-kontext

Viewport-typObjektkontextAnvändningsfall
Lista (t.ex. customer.list)Ej tillgänglig – inget specifikt objekt valtVisa aggregerade data, sammanfattningsvyer eller batchåtgärder
Detalj (t.ex. customer.detail)Fullständigt Stripe-objekt för den aktuella sidanVisa objektspecifika data, åtgärder och integrationer

Rekommenderade viewports för Tajo Brevo-integrationen

För Tajo Brevo-integrationsappen erbjuder dessa viewports mest värde:

{
"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"
}
]
}
}
KomponentSyfte
CustomerDetailViewVisa Brevo-kontaktinfo, synkstatus och engagemangdata för en specifik kund
CustomerListViewVisa batch-synkkontroller och aggregerade Brevo-synkstatistiker
PaymentDetailViewVisa vilka Brevo-händelser som utlöstes av denna betalning
SubscriptionDetailViewVisa Brevo-automationsstatus för denna prenumeration
OverviewViewDashboard-hemwidget med synkhälsa och viktiga Brevo-mätvärden
DrawerViewAllmän appdrade med snabbåtgärder och statusöversikt
SettingsViewKonfigurera Brevo API-nyckel, synkpreferenser och fältmappningar
OnboardingViewGuida nya användare genom att ansluta sitt Brevo-konto

Viewport-tillgänglighet

Inte alla viewports är tillgängliga i alla Stripe Dashboard-lägen:

LägeTillgängliga viewports
Live-lägeAlla viewports
TestlägeAlla viewports (använder testdata)
SandboxAlla viewports (om sandbox_install_compatible: true)

Caution

Om ditt manifest deklarerar en viewport som inte finns misslyckas app-uppladdningen vid validering. Kontrollera alltid viewport-ID:n mot denna referens.

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

AI-assistent

Hej! Fråga mig om dokumentationen.

Börja gratis med Brevo