Ajukan akses awal

Masukkan nama depan serta email atau nomor telepon Anda. Kami akan menghubungi Anda dengan detail akses Tajo.

Referensi Viewport

Viewport menentukan di mana komponen UI Stripe App Anda muncul di dalam Stripe Dashboard. Setiap viewport berhubungan dengan satu halaman atau lokasi Dashboard tertentu tempat aplikasi Anda dapat merender sebuah tampilan.

Cara kerja viewport

Saat Anda mendeklarasikan sebuah tampilan di manifest aplikasi, Anda memetakan komponen React ke sebuah viewport:

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

Komponen tersebut dirender di app drawer (panel samping) ketika pengguna membuka halaman Dashboard terkait lalu membuka aplikasi Anda.

Viewport lingkup Dashboard vs viewport khusus halaman

Viewport lingkup Dashboard

Viewport berikut tersedia di setiap halaman Stripe Dashboard:

ID viewportDeskripsi
stripe.dashboard.drawer.defaultTampilan drawer default, dapat diakses dari halaman Dashboard mana pun melalui ikon aplikasi
stripe.dashboard.home.overviewRingkasan halaman beranda, ditampilkan di halaman utama Dashboard
stripe.dashboard.settingsHalaman pengaturan aplikasi, dapat diakses dari menu pengaturan aplikasi
stripe.dashboard.onboardingAlur onboarding, ditampilkan setelah aplikasi dipasang

Tip

Viewport drawer.default berfungsi sebagai cadangan. Jika pengguna membuka aplikasi Anda di halaman yang belum Anda deklarasikan viewport khususnya, tampilan drawer.default yang akan dirender.

Viewport khusus halaman

Viewport berikut hanya dirender ketika pengguna berada di halaman Dashboard yang bersangkutan:

Pembayaran

ID viewportHalamanPola URLTipe objek
stripe.dashboard.payment.listDaftar pembayaran/payments
stripe.dashboard.payment.detailDetail pembayaran/payments/:idPaymentIntent
stripe.dashboard.charge.detailDetail charge/payments/:id (versi lama)Charge

Pelanggan

ID viewportHalamanPola URLTipe objek
stripe.dashboard.customer.listDaftar pelanggan/customers
stripe.dashboard.customer.detailDetail pelanggan/customers/:idCustomer

Produk & Harga

ID viewportHalamanPola URLTipe objek
stripe.dashboard.product.listDaftar produk/products
stripe.dashboard.product.detailDetail produk/products/:idProduct
stripe.dashboard.price.detailDetail harga/prices/:idPrice

Faktur

ID viewportHalamanPola URLTipe objek
stripe.dashboard.invoice.listDaftar faktur/invoices
stripe.dashboard.invoice.detailDetail faktur/invoices/:idInvoice

Langganan

ID viewportHalamanPola URLTipe objek
stripe.dashboard.subscription.listDaftar langganan/subscriptions
stripe.dashboard.subscription.detailDetail langganan/subscriptions/:idSubscription

Checkout

ID viewportHalamanPola URLTipe objek
stripe.dashboard.checkout.session.listDaftar Checkout Session/checkout/sessions
stripe.dashboard.checkout.session.detailDetail Checkout Session/checkout/sessions/:idCheckoutSession
stripe.dashboard.payment-link.listDaftar Payment Link/payment-links
stripe.dashboard.payment-link.detailDetail Payment Link/payment-links/:idPaymentLink

Connect

ID viewportHalamanPola URLTipe objek
stripe.dashboard.connect.account.listDaftar akun terhubung/connect/accounts
stripe.dashboard.connect.account.detailDetail akun terhubung/connect/accounts/:idAccount
stripe.dashboard.transfer.listDaftar transfer/connect/transfers
stripe.dashboard.transfer.detailDetail transfer/connect/transfers/:idTransfer

Penagihan

ID viewportHalamanPola URLTipe objek
stripe.dashboard.coupon.listDaftar kupon/coupons
stripe.dashboard.coupon.detailDetail kupon/coupons/:idCoupon
stripe.dashboard.quote.listDaftar penawaran/quotes
stripe.dashboard.quote.detailDetail penawaran/quotes/:idQuote
stripe.dashboard.credit-note.detailDetail nota kredit/credit-notes/:idCreditNote

Pencairan dana

ID viewportHalamanPola URLTipe objek
stripe.dashboard.payout.listDaftar pencairan dana/payouts
stripe.dashboard.payout.detailDetail pencairan dana/payouts/:idPayout

Sengketa

ID viewportHalamanPola URLTipe objek
stripe.dashboard.dispute.listDaftar sengketa/disputes
stripe.dashboard.dispute.detailDetail sengketa/disputes/:idDispute

Terminal

ID viewportHalamanPola URLTipe objek
stripe.dashboard.terminal.reader.listDaftar reader/terminal/readers
stripe.dashboard.terminal.reader.detailDetail reader/terminal/readers/:idTerminalReader
stripe.dashboard.terminal.location.listDaftar lokasi/terminal/locations
stripe.dashboard.terminal.location.detailDetail lokasi/terminal/locations/:idTerminalLocation

Issuing

ID viewportHalamanPola URLTipe objek
stripe.dashboard.issuing.card.listDaftar kartu/issuing/cards
stripe.dashboard.issuing.card.detailDetail kartu/issuing/cards/:idIssuingCard
stripe.dashboard.issuing.cardholder.listDaftar pemegang kartu/issuing/cardholders
stripe.dashboard.issuing.cardholder.detailDetail pemegang kartu/issuing/cardholders/:idIssuingCardholder
stripe.dashboard.issuing.transaction.listDaftar transaksi/issuing/transactions
stripe.dashboard.issuing.authorization.listDaftar otorisasi/issuing/authorizations

Mengakses konteks objek

Ketika aplikasi Anda dirender di viewport detail, aplikasi menerima objek Stripe yang relevan sebagai konteks:

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>
);
};

Konteks list vs detail

Tipe viewportKonteks objekKasus penggunaan
List (mis. customer.list)Tidak tersedia, tidak ada objek tertentu yang dipilihMenampilkan data agregat, tampilan ringkasan, atau aksi massal
Detail (mis. customer.detail)Objek Stripe lengkap untuk halaman saat iniMenampilkan data, tindakan, dan integrasi khusus objek tersebut

Viewport yang direkomendasikan untuk integrasi Tajo Brevo

Untuk aplikasi integrasi Tajo Brevo, viewport berikut memberikan manfaat terbesar:

{
"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"
}
]
}
}
KomponenTujuan
CustomerDetailViewMenampilkan info kontak Brevo, status sinkronisasi, dan data keterlibatan untuk satu pelanggan tertentu
CustomerListViewMenampilkan kontrol sinkronisasi massal dan statistik sinkronisasi Brevo secara agregat
PaymentDetailViewMenampilkan event Brevo mana saja yang dipicu oleh pembayaran ini
SubscriptionDetailViewMenampilkan status otomatisasi Brevo untuk langganan ini
OverviewViewWidget beranda dasbor dengan kesehatan sinkronisasi dan metrik utama Brevo
DrawerViewDrawer aplikasi umum dengan tindakan cepat dan ringkasan status
SettingsViewMengatur API key Brevo, preferensi sinkronisasi, dan pemetaan field
OnboardingViewMemandu pengguna baru menghubungkan akun Brevo mereka

Ketersediaan viewport

Tidak semua viewport tersedia di semua mode Stripe Dashboard:

ModeViewport yang tersedia
Mode liveSemua viewport
Mode testSemua viewport (menggunakan data uji)
SandboxSemua viewport (jika sandbox_install_compatible: true)

Caution

Jika manifest Anda mendeklarasikan viewport yang tidak ada, unggahan aplikasi akan gagal saat validasi. Selalu verifikasi ID viewport terhadap referensi ini.

Ajukan akses awal

Masukkan nama depan serta email atau nomor telepon Anda. Kami akan menghubungi Anda dengan detail akses Tajo.

deteksi otomatis
Asisten AI

Halo! Tanyakan apa saja tentang dokumentasi.