Construire le produit

Content Studio et email marketing

Exploitez l’application Payload séparée, gardez les données clients dans le SaaS et lancez des campagnes fondées sur le consentement.

Vérifié avec le commit du starter 2a1a04a.

Content Studio est la troisième application du starter : un environnement Payload/Next.js déployé séparément pour pages, articles, briefs, médias et campagnes. Il ne partage ni l’authentification client ni la base SaaS.

ApplicationPortBaseResponsabilité
App client3000DATABASE_URLcomptes, organisations, facturation, consentement, audit de livraison
Admin3001DATABASE_URLvues opérateur et actions auditées
Content Studio3002CONTENT_DATABASE_URLdocuments, médias et brouillons de campagne

PAYLOAD_SECRET signe les sessions éditoriales et CONTENT_STUDIO_URL relie la console à la publication. Ne pointez jamais Payload vers la base SaaS et ne copiez pas abonnés ou clients dans Studio.

./scripts/setup.sh development crée sushi_content, écrit le profil manquant et applique les migrations Payload. pnpm dev:all lance les trois applications et le worker.

Pages et posts offrent cinq langues, brouillons, autosave, preview, revue, approbation, publication planifiée et historique. Seuls les blocs enregistrés sont acceptés. Après une modification de collection, lancez studio:generate, studio:migrate:create, studio:migrate et le check Studio ; ces migrations sont indépendantes de Drizzle.

Marketing sans CRM parallèle

Studio possède la mise en page, le texte, la preview, l’approbation et le planning. Le SaaS possède les adresses, preuves de consentement, désinscription, suppression, audience, jobs durables, secrets et audit.

Une campagne approuvée utilise une passerelle signée. Le SaaS sélectionne les abonnés actuellement consentants, crée un job dédupliqué par destinataire et revérifie le consentement juste avant Resend. Rejouer le lancement ne duplique pas l’envoi. L’annulation ne stoppe que le travail non remis au fournisseur.

Partagez CONTENT_MARKETING_SECRET, gardez MARKETING_UNSUBSCRIBE_SECRET distinct et configurez RESEND_WEBHOOK_SECRET pour /api/marketing/webhooks/resend.

Prêt à lancer : accès éditorial isolé, migrations indépendantes, approbation obligatoire, rejeu sans double envoi, désinscription effective avant le prochain appel et aucune adresse d’abonné dans Payload.

Content Studio et email marketing · Sushi SaaS