Подайте заявку на ранний доступ

Укажите имя, а также email или номер телефона. Мы отправим Вам информацию о доступе к Tajo.

Справочник по вьюпортам

Вьюпорты определяют, где именно в Stripe Dashboard появляются UI-компоненты Вашего Stripe App. Каждый вьюпорт соответствует конкретной странице или месту в Dashboard, где приложение может отрисовать представление.

Как работают вьюпорты

Объявляя представление в манифесте приложения, Вы сопоставляете React-компонент с вьюпортом:

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

Компонент отрисовывается в панели приложения (боковой панели), когда пользователь переходит на соответствующую страницу Dashboard и открывает Ваше приложение.

Глобальные вьюпорты и вьюпорты отдельных страниц

Глобальные вьюпорты

Эти вьюпорты доступны на каждой странице Stripe Dashboard:

ID вьюпортаОписание
stripe.dashboard.drawer.defaultПанель по умолчанию, доступная с любой страницы Dashboard по значку приложения
stripe.dashboard.home.overviewОбзор на главной странице, отображается на стартовой странице Dashboard
stripe.dashboard.settingsСтраница настроек приложения, доступная из меню настроек приложения
stripe.dashboard.onboardingПроцесс онбординга, показывается после установки приложения

Tip

Вьюпорт drawer.default служит запасным вариантом. Если пользователь открывает приложение на странице, для которой Вы не объявили отдельный вьюпорт, вместо него отрисовывается представление drawer.default.

Вьюпорты отдельных страниц

Эти вьюпорты отрисовываются, только когда пользователь находится на соответствующей странице Dashboard:

Платежи

ID вьюпортаСтраницаШаблон URLТип объекта
stripe.dashboard.payment.listСписок платежей/payments
stripe.dashboard.payment.detailКарточка платежа/payments/:idPaymentIntent
stripe.dashboard.charge.detailКарточка списания/payments/:id (устаревший)Charge

Клиенты

ID вьюпортаСтраницаШаблон URLТип объекта
stripe.dashboard.customer.listСписок клиентов/customers
stripe.dashboard.customer.detailКарточка клиента/customers/:idCustomer

Товары и цены

ID вьюпортаСтраницаШаблон URLТип объекта
stripe.dashboard.product.listСписок товаров/products
stripe.dashboard.product.detailКарточка товара/products/:idProduct
stripe.dashboard.price.detailКарточка цены/prices/:idPrice

Счета

ID вьюпортаСтраницаШаблон URLТип объекта
stripe.dashboard.invoice.listСписок счетов/invoices
stripe.dashboard.invoice.detailКарточка счёта/invoices/:idInvoice

Подписки

ID вьюпортаСтраницаШаблон URLТип объекта
stripe.dashboard.subscription.listСписок подписок/subscriptions
stripe.dashboard.subscription.detailКарточка подписки/subscriptions/:idSubscription

Checkout

ID вьюпортаСтраницаШаблон URLТип объекта
stripe.dashboard.checkout.session.listСписок Checkout Sessions/checkout/sessions
stripe.dashboard.checkout.session.detailКарточка Checkout Session/checkout/sessions/:idCheckoutSession
stripe.dashboard.payment-link.listСписок Payment Links/payment-links
stripe.dashboard.payment-link.detailКарточка Payment Link/payment-links/:idPaymentLink

Connect

ID вьюпортаСтраницаШаблон URLТип объекта
stripe.dashboard.connect.account.listСписок подключённых аккаунтов/connect/accounts
stripe.dashboard.connect.account.detailКарточка подключённого аккаунта/connect/accounts/:idAccount
stripe.dashboard.transfer.listСписок переводов/connect/transfers
stripe.dashboard.transfer.detailКарточка перевода/connect/transfers/:idTransfer

Биллинг

ID вьюпортаСтраницаШаблон URLТип объекта
stripe.dashboard.coupon.listСписок купонов/coupons
stripe.dashboard.coupon.detailКарточка купона/coupons/:idCoupon
stripe.dashboard.quote.listСписок коммерческих предложений/quotes
stripe.dashboard.quote.detailКарточка коммерческого предложения/quotes/:idQuote
stripe.dashboard.credit-note.detailКарточка кредит-ноты/credit-notes/:idCreditNote

Выплаты

ID вьюпортаСтраницаШаблон URLТип объекта
stripe.dashboard.payout.listСписок выплат/payouts
stripe.dashboard.payout.detailКарточка выплаты/payouts/:idPayout

Споры

ID вьюпортаСтраницаШаблон URLТип объекта
stripe.dashboard.dispute.listСписок споров/disputes
stripe.dashboard.dispute.detailКарточка спора/disputes/:idDispute

Terminal

ID вьюпортаСтраницаШаблон URLТип объекта
stripe.dashboard.terminal.reader.listСписок считывателей/terminal/readers
stripe.dashboard.terminal.reader.detailКарточка считывателя/terminal/readers/:idTerminalReader
stripe.dashboard.terminal.location.listСписок точек/terminal/locations
stripe.dashboard.terminal.location.detailКарточка точки/terminal/locations/:idTerminalLocation

Issuing

ID вьюпортаСтраницаШаблон URLТип объекта
stripe.dashboard.issuing.card.listСписок карт/issuing/cards
stripe.dashboard.issuing.card.detailКарточка карты/issuing/cards/:idIssuingCard
stripe.dashboard.issuing.cardholder.listСписок держателей карт/issuing/cardholders
stripe.dashboard.issuing.cardholder.detailКарточка держателя карты/issuing/cardholders/:idIssuingCardholder
stripe.dashboard.issuing.transaction.listСписок транзакций/issuing/transactions
stripe.dashboard.issuing.authorization.listСписок авторизаций/issuing/authorizations

Доступ к контексту объекта

Когда приложение отрисовывается во вьюпорте карточки, оно получает соответствующий объект Stripe в качестве контекста:

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

Контекст в списке и в карточке

Тип вьюпортаКонтекст объектаСценарий
Список (например, customer.list)Недоступен, конкретный объект не выбранСводные данные, обзорные представления или пакетные действия
Карточка (например, customer.detail)Полный объект Stripe для текущей страницыДанные, действия и интеграции для конкретного объекта

Рекомендуемые вьюпорты для интеграции Tajo с Brevo

Для приложения интеграции Tajo с Brevo наибольшую пользу приносят эти вьюпорты:

{
"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"
}
]
}
}
КомпонентНазначение
CustomerDetailViewПоказывает данные контакта Brevo, статус синхронизации и вовлечённость конкретного клиента
CustomerListViewПоказывает элементы управления пакетной синхронизацией и сводную статистику синхронизации с Brevo
PaymentDetailViewПоказывает, какие события Brevo были вызваны этим платежом
SubscriptionDetailViewПоказывает статус автоматизаций Brevo для этой подписки
OverviewViewВиджет на главной странице Dashboard со здоровьем синхронизации и ключевыми метриками Brevo
DrawerViewОбщая панель приложения с быстрыми действиями и обзором статуса
SettingsViewНастройка API-ключа Brevo, параметров синхронизации и сопоставления полей
OnboardingViewПроводит новых пользователей через подключение аккаунта Brevo

Доступность вьюпортов

Не все вьюпорты доступны во всех режимах Stripe Dashboard:

РежимДоступные вьюпорты
Живой режимВсе вьюпорты
Тестовый режимВсе вьюпорты (на тестовых данных)
SandboxВсе вьюпорты (если задано sandbox_install_compatible: true)

Caution

Если в манифесте объявлен несуществующий вьюпорт, загрузка приложения не пройдёт валидацию. Всегда сверяйте идентификаторы вьюпортов с этим справочником.

Подайте заявку на ранний доступ

Укажите имя, а также email или номер телефона. Мы отправим Вам информацию о доступе к Tajo.

определим автоматически
AI-ассистент

Привет! Спрашивайте меня о документации.