App manifest referencia
A stripe-app.json manifesztfájl a Stripe App központi konfigurációja. Meghatározza az app azonosságát, engedélyeit, UI nézeteit, biztonsági irányelveit és telepítés utáni viselkedését.
Teljes manifest példa
{ "id": "com.tajo.brevo-integration", "version": "1.2.0", "name": "Tajo for Brevo", "icon": "./assets/icon.png", "distribution_type": "public", "sandbox_install_compatible": true, "stripe_api_access_type": "oauth", "allowed_redirect_uris": [ "https://tajo.io/stripe/callback", "https://tajo.io/stripe/oauth/complete" ], "permissions": [ { "permission": "customer_read", "purpose": "Read customer profiles to sync with Brevo contacts" }, { "permission": "customer_write", "purpose": "Update customer metadata with Brevo sync status" }, { "permission": "charge_read", "purpose": "Access payment history for Brevo event tracking" }, { "permission": "product_read", "purpose": "Sync product catalog to Brevo for personalized campaigns" }, { "permission": "event_read", "purpose": "Subscribe to real-time events for Brevo automation triggers" }, { "permission": "invoice_read", "purpose": "Track invoice lifecycle events in Brevo" } ], "ui_extension": { "views": [ { "viewport": "stripe.dashboard.customer.detail", "component": "CustomerDetailView" }, { "viewport": "stripe.dashboard.customer.list", "component": "CustomerListView" }, { "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" } ], "content_security_policy": { "connect-src": [ "https://api.tajo.io", "https://api.brevo.com" ], "image-src": [ "https://cdn.tajo.io", "https://assets.brevo.com" ], "purpose": "Connect to Tajo API for data sync and Brevo API for contact management" } }, "post_install_action": { "type": "onboarding" }, "constants": { "API_BASE_URL": "https://api.tajo.io/v1", "SYNC_INTERVAL_SECONDS": "300" }}Sémareferencia
Felső szintű mezők
| Mező | Típus | Kötelező | Leírás |
|---|---|---|---|
id | string | Igen | Egyedi app azonosító fordított domain jelölésben |
version | string | Igen | Szemantikus verzió string (pl. "1.2.0") |
name | string | Igen | Megjelenítési név a marketplace-en (max 35 karakter) |
icon | string | Igen | Relatív elérési út az app ikon fájlhoz (300x300 PNG vagy SVG) |
distribution_type | string | Igen | "public" marketplace-hez vagy "private" belső használathoz |
sandbox_install_compatible | boolean | Nem | Telepíthető-e az app sandbox/teszt módban |
stripe_api_access_type | string | Nem | API hozzáférési módszer: "oauth" vagy "api_key" |
allowed_redirect_uris | string[] | Nem | Engedélyezett OAuth átirányítási URI-k a telepítési folyamathoz |
permissions | PermissionRequest[] | Igen | Engedélykérések tömbje |
ui_extension | UIExtensionManifest | Nem | UI bővítmény konfiguráció |
post_install_action | PostInstallAction | Nem | Az app telepítése után végrehajtandó művelet |
constants | object | Nem | Kulcs-érték párok, amelyek futásidőben elérhetők az appban |
Telepítés utáni művelettípusok
| Típus | Viselkedés |
|---|---|
"onboarding" | Megnyitja az app bevezetési nézetét a vezérlőpulton |
"settings" | Megnyitja az app beállítási nézetét a vezérlőpulton |
"external" | Átirányítja a felhasználót egy külső URL-re (szükséges az url mező) |
Manifeszt érvényesítése
Töltés előtt érvényesítse a manifesztet:
# Manifeszt szintaxis és séma érvényesítésestripe apps validate
# Általános problémák ellenőrzésestripe apps check