Registry, Updates und Verkauf

Themes für alle Shops hosten, neue Versionen ausliefern und Premium-Themes verkaufen.

Die Plattform hostet Themes in einer Registry. Veröffentlichte Themes erscheinen im Theme-Store jedes Shops.

#Veröffentlichen

bash
pnpm platform theme publish themes/packages/dist/atelier-1.1.0.zip \
  --publish --changelog "Neue Kollektionsseite" --industry Mode
OptionBedeutung
--publishsofort in allen Shops sichtbar (sonst Entwurf, nur für die Agentur)
--changelogText für „Update verfügbar“
--price <euro>Netto-Preis beim ersten Hochladen; später unter Agentur → Themes
--industryBranche für den Store
--sort=<n>Position im Store (kleiner = weiter vorn; Standard-Theme: --sort=-1)

Alternativ in der Plattform unter Agentur → Themes hochladen. Gleicher Handle = neue Version; die Version muss steigen.

#Updates

Shops mit einer älteren installierten Version sehen Update verfügbar mit Changelog. Das Update ersetzt den Bibliothekseintrag; ist das Theme aktiv, nimmt Anwenden die neue Version live – wie immer mit Sicherung.

#Standard-Theme

themes/packages/standard ist der Code-Standard der Plattform als Paket. Es ist in jeder Bibliothek, nicht entfernbar, und der Shop fällt darauf zurück, wenn das aktive Theme entfernt wird. Aus dem Code neu erzeugen:

bash
pnpm --filter @repo/shop-admin exec tsx src/scripts/export-standard-theme.ts

#Premium-Themes

  • Preis je Theme in Euro netto (0 = kostenlos), einmaliger Kauf pro Shop, Updates inklusive.
  • „Kaufen“ im Shop öffnet /theme-kaufen/<handle>?shop=<id> → Kundenportal → Stripe Checkout (Rechnung, Steuer, USt-IdNr.).
  • Der Webhook checkout.session.completed (Metadaten kind=theme) bucht den Kauf.
  • Ohne Stripe schaltet die Agentur das Theme je Shop frei (Agentur → Shop → Themes).

#Schnittstellen

Shops lesen Katalog und Paket mit ihrem Callback-Token:

GET /api/v1/shops/:id/themes
GET /api/v1/shops/:id/themes/:handle/package     # 402 bei Premium ohne Kauf
GET /api/themes/:handle/:version/screenshots/…   # öffentlich (Entwürfe nur für die Agentur)

Zuletzt aktualisiert am 21. Oktober 2026