Zaprosite za zgodnji dostop

Vnesite ime ter e-poštni naslov ali telefonsko številko. Poslali vam bomo podrobnosti o dostopu do platforme Tajo.

Referenca manifesta aplikacije

Datoteka manifesta stripe-app.json je osrednja konfiguracija vaše aplikacije Stripe App. Določa identiteto aplikacije, dovoljenja, poglede vmesnika, varnostne politike in vedenje po namestitvi.

Celoten primer manifesta

{
"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"
}
}

Referenca sheme

Polja na najvišji ravni

PoljeTipObveznoOpis
idstringDaEnolični identifikator aplikacije v obrnjenem domenskem zapisu (oblika slug)
versionstringDaNiz semantične različice (na primer "1.2.0")
namestringDaPrikazno ime na tržnici (največ 35 znakov)
iconstringDaRelativna pot do datoteke z ikono aplikacije (PNG ali SVG velikosti 300x300)
distribution_typestringDa"public" za tržnico ali "private" za interno rabo
sandbox_install_compatiblebooleanNeAli je aplikacijo mogoče namestiti v peskovniku oziroma testnem načinu
stripe_api_access_typestringNeNačin dostopa do API: "oauth" ali "api_key"
allowed_redirect_urisstring[]NeDovoljeni preusmeritveni naslovi OAuth za namestitveni potek
permissionsPermissionRequest[]DaPolje zahtev za dovoljenja
ui_extensionUIExtensionManifestNeKonfiguracija razširitve vmesnika
post_install_actionPostInstallActionNeDejanje po namestitvi aplikacije
constantsobjectNePari ključ-vrednost, dostopni v aplikaciji med izvajanjem

id

Identifikator aplikacije je niz v obliki slug, običajno v obrnjenem domenskem zapisu:

"id": "com.tajo.brevo-integration"
  • Mora biti enolični med vsemi aplikacijami Stripe Apps
  • Uporabljajte samo male črke, števke, vezaje in pike
  • Po ustvarjanju aplikacije ga ni več mogoče spremeniti
  • Določa naslov URL aplikacije na tržnici

version

Sledi semantičnemu določanju različic:

"version": "1.2.0"
  • MAJOR: nezdružljive spremembe ali obsežne nove funkcije
  • MINOR: nove funkcije, združljive nazaj
  • PATCH: odprava napak in manjše izboljšave
  • Ob vsakem nalaganju jo je treba povečati

distribution_type

Določa, kdo lahko namesti vašo aplikacijo:

VrednostOpis
"public"Na voljo vsem uporabnikom na tržnici Stripe App Marketplace
"private"Namestljiva samo z vašim lastnim računom Stripe

stripe_api_access_type

Določa, kako se vaša aplikacija overi pri API-ju Stripe:

VrednostOpis
"oauth"Uporablja potek OAuth 2.0 za preverjanje pristnosti (priporočeno za javne aplikacije)
"api_key"Uporablja omejene ključe API (primerno za zasebne aplikacije)

PermissionRequest

Vsaka zahteva za dovoljenje navede določeno dovoljenje za API Stripe, ki ga vaša aplikacija potrebuje:

{
"permission": "customer_read",
"purpose": "Read customer profiles to sync with Brevo contacts"
}
PoljeTipObveznoOpis
permissionstringDaIdentifikator dovoljenja (glejte referenco dovoljenj)
purposestringDaČloveku razumljiva razlaga, zakaj je to dovoljenje potrebno

Smernice za polje purpose:

  • Napišite jasne in konkretne razlage, ki jih trgovci razumejo
  • Pojasnite, čemu je dovoljenje namenjeno, ne le kaj omogoča
  • Opisi naj bodo jedrnati (en stavek)
  • Izogibajte se tehničnemu žargonu

UIExtensionManifest

Konfigurira komponente vmesnika vaše aplikacije:

{
"ui_extension": {
"views": [...],
"content_security_policy": {...}
}
}
PoljeTipObveznoOpis
viewsViewManifest[]DaPolje deklaracij pogledov
content_security_policyCSPRequestNeVarnostna politika vsebine za zunanje vire

ViewManifest

Vsak pogled preslika komponento React v izsek nadzorne plošče Stripe:

{
"viewport": "stripe.dashboard.customer.detail",
"component": "CustomerDetailView"
}
PoljeTipObveznoOpis
viewportstringDaMesto na nadzorni plošči, kjer se pogled izriše (glejte referenco izsekov)
componentstringDaIme komponente React za izris (ujemati se mora z imenom izvožene komponente)

Ena aplikacija lahko določi več pogledov za različne izseke:

"views": [
{
"viewport": "stripe.dashboard.customer.detail",
"component": "CustomerDetailView"
},
{
"viewport": "stripe.dashboard.payment.detail",
"component": "PaymentDetailView"
},
{
"viewport": "stripe.dashboard.home.overview",
"component": "OverviewView"
}
]

CSPRequest

Varnostna politika vsebine določa, s katerimi zunanjimi domenami se lahko vaša aplikacija poveže:

{
"content_security_policy": {
"connect-src": [
"https://api.tajo.io",
"https://api.brevo.com"
],
"image-src": [
"https://cdn.tajo.io"
],
"purpose": "Connect to Tajo API for data sync and load images from CDN"
}
}
PoljeTipObveznoOpis
connect-srcstring[]NeDomene, na katere lahko aplikacija pošilja omrežne zahteve
image-srcstring[]NeDomene, s katerih lahko aplikacija nalaga slike
purposestringDaRazlaga, zakaj so te zunanje povezave potrebne

Caution

Navedite samo domene, s katerimi se vaša aplikacija resnično mora povezati. Prevelik nabor vnosov CSP lahko sproži dodatno pregledovanje.

PostInstallAction

Konfigurira, kaj se zgodi takoj po tem, ko uporabnik namesti vašo aplikacijo:

{
"post_install_action": {
"type": "onboarding"
}
}
PoljeTipObveznoOpis
typestringDaVrsta dejanja (glejte spodaj)
urlstringPogojnoNaslov URL za dejanja vrste external

Vrste dejanj

VrstaVedenje
"onboarding"Odpre uvajalni pogled aplikacije na nadzorni plošči
"settings"Odpre pogled z nastavitvami aplikacije na nadzorni plošči
"external"Preusmeri uporabnika na zunanji naslov URL (zahteva polje url)

Primeri:

// Open onboarding flow
{
"post_install_action": {
"type": "onboarding"
}
}
// Open settings page
{
"post_install_action": {
"type": "settings"
}
}
// Redirect to external setup
{
"post_install_action": {
"type": "external",
"url": "https://app.tajo.io/stripe/setup"
}
}

Podrobne vzorce izvedbe najdete v vodniku po dejanjih po namestitvi.

Konstante

Določite statične pare ključ-vrednost, ki so v aplikaciji dostopni med izvajanjem:

{
"constants": {
"API_BASE_URL": "https://api.tajo.io/v1",
"SYNC_INTERVAL_SECONDS": "300",
"MAX_BATCH_SIZE": "100"
}
}
  • Vse vrednosti morajo biti nizi
  • Konstante se v aplikacijo vgradijo med gradnjo
  • Konstante uporabite za konfiguracijo, ki se razlikuje med okolji
  • Nikoli ne shranjujte skrivnosti ali ključev API kot konstant, uporabite Secret Store API

Do konstant v kodi aplikacije dostopate takole:

import { constants } from '@stripe/ui-extension-sdk/constants';
const apiUrl = constants.API_BASE_URL;

Razširjeni manifest za razvoj

Med lokalnim razvojem so na voljo dodatna polja:

{
"id": "com.tajo.brevo-integration",
"version": "0.1.0",
"name": "Tajo for Brevo (Dev)",
"icon": "./assets/icon-dev.png",
"distribution_type": "private",
"sandbox_install_compatible": true,
"dev": {
"hot_reload": true,
"port": 4242
}
}

Razdelek dev se med produkcijskimi gradnjami in nalaganjem aplikacije odstrani. Uporabljajte ga izključno za nastavitve, ki olajšajo lokalni razvoj.

Preverjanje

Pred nalaganjem preverite svoj manifest:

Terminal window
# Validate manifest syntax and schema
stripe apps validate
# Check for common issues
stripe apps check

Pogoste napake pri preverjanju:

NapakaVzrokRešitev
Invalid permissionNeznan identifikator dovoljenjaPreverite referenco dovoljenj
Invalid viewportNeznan identifikator izsekaPreverite referenco izsekov
Missing purposeDovoljenje brez polja purposeVsakemu dovoljenju dodajte niz purpose
Invalid versionNiz različice ni v obliki semverUporabite obliko MAJOR.MINOR.PATCH
Icon not foundPot do ikone se ne razrešiPreverite, ali datoteka z ikono obstaja na navedeni poti

Zaprosite za zgodnji dostop

Vnesite ime ter e-poštni naslov ali telefonsko številko. Poslali vam bomo podrobnosti o dostopu do platforme Tajo.

samodejno prepoznavanje
AI pomočnik

Živjo! Vprašajte me o dokumentaciji.