Guida alla Configurazione dei Servizi Esterni (API) ​
Questa guida spiega passo dopo passo come ottenere e configurare le chiavi API richieste per eseguire tutte le integrazioni di TuneCamp.
1. Pagamenti e Monetizzazione ​
Stripe (Fiat) ​
- Vai sulla Dashboard di Stripe.
- Secret Key: Vai su Sviluppatori > Chiavi API e copia la
Chiave segreta(sk_test_...osk_live_...). - Webhook Secret:
- Vai su Sviluppatori > Webhook.
- Aggiungi un endpoint:
https://tuo-dominio.com/api/payments/stripe/webhook. - Seleziona l'evento:
checkout.session.completed. - Importante (istanze multi-artista): Abilita l'opzione "Ascolta gli eventi sugli account connessi" sull'endpoint. Senza questa spunta, i pagamenti effettuati sugli account Stripe Connect degli artisti non attiveranno il webhook e non verrĂ generato alcun codice di sblocco.
- Copia la "Chiave segreta per la firma" (
whsec_...).
Stripe Connect (onboarding artisti — solo istanze multi-artista) ​
Stripe Connect ti consente di instradare i pagamenti in valuta fiat direttamente sul conto Stripe di ciascun artista, trattenendo automaticamente la commissione dell'istanza come application_fee. Non è richiesto per le istanze a singolo artista.
- Assicurati di disporre di un account Stripe con le funzionalitĂ Connect abilitate (Impostazioni > Impostazioni Connect nella dashboard).
- Dal pannello di amministrazione di TuneCamp → artista → utilizza i seguenti endpoint (gestiti tramite l'interfaccia utente di amministrazione):
POST /api/admin/artists/:id/stripe-connect/onboard— crea o riutilizza un account Stripe Express per l'artista e restituisce il link per l'onboarding KYC da inviare all'artista.GET /api/admin/artists/:id/stripe-connect/status— verifica lo stato conchargesEnabled,payoutsEnabled,detailsSubmitted.DELETE /api/admin/artists/:id/stripe-connect— disconnette l'account (non lo elimina da Stripe).
- L'artista completa le procedure KYC direttamente sulla pagina ospitata da Stripe.
- Finché
chargesEnabled = false, i pagamenti dell'artista fanno fallback sull'account dell'istanza principale. - Nessuna nuova variabile d'ambiente richiesta: l'onboarding riutilizza la
STRIPE_SECRET_KEYgiĂ configurata.
2. Intelligenza Artificiale ​
OpenRouter (Metadati e Raccomandazioni) ​
- Vai su OpenRouter.ai.
- Crea un account e accedi alla sezione Keys.
- Crea una nuova chiave API.
- (Opzionale) Se desideri utilizzare modelli gratuiti, assicurati di impostare
openrouter_modelsuopenrouter/free(comportamento predefinito).
3. Archiviazione Cloud ​
Google Drive (Streaming e Importazione) ​
- Vai sulla Google Cloud Console.
- Crea un nuovo progetto.
- Abilita la Google Drive API.
- Vai su API e servizi > Credenziali.
- Crea un ID client OAuth 2.0 (tipo "Applicazione Web").
- Aggiungi gli URI di reindirizzamento autorizzati:
https://tuo-dominio.com/api/storage/gdrive/callback. - Copia l'
ID cliente ilClient Secret.
4. Email Transazionali ​
Brevo (Recupero Password) ​
Il login di TuneCamp richiede solo username e password, senza un server di posta integrato — le API HTTP di Brevo inviano l'email di "reset password".
- Vai su Brevo e crea un account.
- Vai su SMTP & API > Chiavi API e genera una nuova chiave API.
- Verifica un indirizzo o dominio mittente sotto Mittenti & IP.
- Imposta
BREVO_API_KEYeBREVO_SENDER_EMAIL(il mittente verificato) nel tuo.env.BREVO_SENDER_NAMEè facoltativo (impostato di default sul nome del sito). - Ogni utente deve impostare un'email sul proprio account (Profilo → Impostazioni Account) prima di poter richiedere un reset — TuneCamp non richiede l'email durante la registrazione iniziale.
Senza BREVO_API_KEY/BREVO_SENDER_EMAIL configurati, /forgot-password risponde comunque con esito positivo (per evitare il leaking dell'esistenza dell'account) ma nessuna email verrĂ effettivamente inviata.
5. Messaggistica e Social ​
Bot Telegram (Ingestione Rapida) ​
- Cerca @BotFather su Telegram.
- Invia il comando
/newbote segui le istruzioni. - Copia il Token API fornito al termine.
- Per motivi di sicurezza, utilizza il tuo ID utente come
TUNECAMP_TELEGRAM_MASTER_ID. Puoi trovarlo utilizzando il bot @userinfobot.
6. Peer-to-Peer (P2P) ​
L'acquisizione di contenuti P2P (Soulseek, BitTorrent, yt-dlp) è gestita dall'app desktop Sidecamp, un compagno standalone che funziona sulla tua macchina locale e sincronizza i download con la tua istanza TuneCamp. Consulta Sidecamp per le istruzioni di configurazione.
7. Configurazione del Server ​
Tutte queste chiavi possono essere configurate in due modi:
Metodo A: file .env (consigliato per lo sviluppo) ​
Crea un file .env nella root del progetto:
STRIPE_SECRET_KEY=sk_...
STRIPE_WEBHOOK_SECRET=whsec_...
OPENROUTER_API_KEY=sk-or-v1-...
TUNECAMP_GDRIVE_CLIENT_ID=...
TUNECAMP_GDRIVE_CLIENT_SECRET=...
TUNECAMP_TELEGRAM_BOT_TOKEN=...
TUNECAMP_TELEGRAM_MASTER_ID=...
BREVO_API_KEY=...
BREVO_SENDER_EMAIL=noreply@tuo-dominio.comMetodo B: Pannello di Amministrazione (consigliato per la produzione) ​
Molte di queste chiavi possono essere inserite direttamente nell'interfaccia di amministrazione di TuneCamp, sotto la sezione Impostazioni. I valori inseriti qui hanno la precedenza sul file .env e vengono memorizzati nel database SQLite.
8. Model Context Protocol (MCP) ​
Se desideri connettere un chatbot AI esterno (es. Claude Desktop) a TuneCamp, puoi utilizzare il server MCP integrato. I client si autenticano con token personali per utente (Bearer tc_...) che possono essere generati dal tuo Profilo nell'applicazione web. Per la guida alla configurazione e su come utilizzare lo script di bridge, vedi mcp-setup-guide.md.
Verifica ​
Dopo aver inserito le chiavi, riavvia il server di TuneCamp. Controlla i log di avvio per assicurarti che i servizi (Telegram, Google Drive) siano inizializzati correttamente senza errori di autenticazione.