Marketplace-Publishing
Listing einer Persona im Moonborn-Marketplace mit Pre-Publish-Moderation, fork-lineage inklusive Attribution, Bewertungen und einer optionalen Commerce-Schicht über Stripe Connect. Free-Workspaces können stöbern und forken; Publishing startet auf Pro.
Das Problem
Eine Persona, die bei dir funktioniert, ist das Teilen wert. Die beiden Fehlerbilder:
- Ohne Gate publishen und der Marketplace füllt sich mit minderwertigen, off-brand oder unsicheren Listings.
- Ohne lineage publishen und forks verlieren die Verbindung zur kanonischen Vorlage — keine Attribution, keine audit-Spur, kein Weg, Verbesserungen Upstream zu folgen.
Der Moonborn-Marketplace ist eine kuratierte, fork-aware Listing-Oberfläche: Jedes Publish durchläuft Moderation, jeder fork wird in den lineage-Graphen verdrahtet, und die optionale Commerce-Schicht läuft über Stripe Connect.
Was du tun kannst
- Publish — einen Persona-Snapshot als listing mit Lizenz und (optional) Preis veröffentlichen.
- Browse — nach Filter (alle / kostenlos / kostenpflichtig / neu / Editor's Picks) und Sortierung (beliebt / neu / featured / semantisch).
- Install — ein listing in deinen Workspace übernehmen — kopiert die Persona, erhöht den Download-Zähler des listings.
- Fork — ein listing forken — kopiert die Persona mit gesetztem
parent_persona_id, angefügten Attribution-Metadaten und einer eingetragenen lineage-Kante. - Rate — ein listing bewerten (1–5 Sterne, optionaler Kommentar) — eine Bewertung pro Nutzer, Upsert bei erneuter Bewertung.
- Report — Missbrauch melden — landet in der Moderations-Queue.
- Curate — Sammlungen — workspace-gebundene Gruppierungen von listings.
Wie Publishing funktioniert
const listing = await client.marketplace.listings.publish({
personaId: persona.id,
license: 'CC-BY-4.0',
priceCents: 0,
});
// listing.status === 'in_review'Jedes neue listing geht in den Status in_review. Ein Moderationsdurchlauf — konfigurierbar als auto-genehmigt oder per Mensch geprüft über marketplace.moderation.auto_approve — entscheidet zwischen published, unpublished (abgelehnt) oder gehalten in in_review (für vertiefte Prüfung markiert). Die Standardrichtlinie gattet die Freigabe per Human Review mit einer Ziel-SLA aus marketplace.moderation.review_sla_hours.
Die Listing-Entität trägt:
{
id, personaId, orgId,
license, priceCents, currency,
status: 'draft' | 'in_review' | 'published' | 'unpublished' | 'removed',
featured, ratingsAvg, ratingsCount,
downloads, forks,
publishedAtMs, removedAtMs,
}lineage beim fork
Wenn ein listing geforkt wird, macht Moonborn:
- Kopiert die Persona in den forkenden Workspace.
- Setzt den
parent_persona_idder neuen Persona auf die Quell-Persona. - Schreibt eine
persona_lineage-Kante in den fork-Graphen. - Falls
marketplace.fork.attribution_requiredaktiv ist (Standard), reichert die Metadaten der neuen Persona ummeta.attribution = { sourcePersonaId, sourceCreator }an. - Erhöht den
forks-Zähler des Quell-listings. - Schreibt eine immutable
marketplace.listing.forked-Zeile in das audit-Log.
Kombiniere das mit dem Flow Markenstimm-Varianten, wenn du eine öffentliche kanonische Persona willst, die nachgelagerte Teams in ihre eigenen markengebundenen Varianten forken können, ohne die Attribution-Kette zu verlieren.
Commerce (optional, Stripe Connect)
Die Commerce-Schicht wird über marketplace.commerce.enabled (standardmäßig aus) gegatet und bindet an Stripe Connect Express:
- Creators onboarden via
OnboardCreatorUseCase; Charges und Auszahlungen sind durch Stripescharges_enabled- undpayouts_enabled-Flags gegatet. - Die Umsatzaufteilung wird über
marketplace.commerce.revenue_sharegesetzt (Standard0.7— 70 % Creator, 30 % Plattform). - Auszahlungen werden ausgelöst, wenn das ausstehende Guthaben des Creators
marketplace.commerce.payout_min_usdüberschreitet (Standard$50), überRequestPayoutUseCase. - Stripe Tax kümmert sich automatisch um VAT, GST und US-Sales-Tax.
- Ein Abgleichs-Cron prüft stündlich
usage_eventsgegen Stripe-Datensätze, damit das interne Ledger und Stripe nie auseinanderdriften.
Endpunkte
| Methode | Pfad | Zweck |
|---|---|---|
GET | /api/marketplace/listings | Discover (Filter, Query, Sort, Limit) |
POST | /api/marketplace/listings/publish | Zur Prüfung einreichen |
POST | /api/marketplace/listings/{id}/install | In den Workspace übernehmen |
POST | /api/marketplace/listings/{id}/fork | Fork mit lineage |
POST | /api/marketplace/listings/{id}/review | Bewerten (1–5) + optionaler Kommentar |
POST | /api/marketplace/listings/{id}/report | Missbrauchsmeldung einreichen |
GET | /api/marketplace/collections | Kuratierte Sammlungen durchstöbern |
GET | /api/marketplace/publishable | Personas listen, die für Publish geeignet sind |
Tarif
| Fähigkeit | Free | Pro | Team | Enterprise |
|---|---|---|---|---|
| Browse, fork, bewerten, kommentieren | ✓ | ✓ | ✓ | ✓ |
| Publish | — | ✓ | ✓ | ✓ |
| Sammlungen | — | ✓ | ✓ | ✓ |
| Commerce (kostenpflichtige listings) | — | — | — | ✓ |
Die Commerce-Schicht ist derzeit ausschließlich Enterprise und startet auf System-Config-Ebene deaktiviert — sie wird pro Organisation aktiviert, sobald eine Stripe-Connect-Vereinbarung steht.
Ehrliche Abgrenzung
Der Moonborn-Marketplace ist keine Drittanbieter-Storefront-Plattform — keine eingebetteten Storefronts, kein Wiederverkauf von Creator-Tier-Abonnements, keine NFT- oder Blockchain-Schicht. Direkte Creator-zu-Konsument-Nachrichten und ein nativer Slack-Persona-Bot liegen ebenfalls explizit außerhalb des Scope; Webhooks bleiben der Integrationsweg.
Weiter
- Konzept-Grundlagen zu lineage: Markenstimm-Varianten.
- Endpunkt-Referenz auf API reference.