Skip to content

Riferimento API Subsonic ​

TuneCamp espone un'API Subsonic completa all'indirizzo /rest, compatibile con la versione dell'API Subsonic 1.16.1. Ciò la rende compatibile con tutti i principali client Subsonic.

Client Testati ​

ClientPiattaformaStato
DSubAndroidâś…
SymfoniumAndroidâś…
TempoiOSâś…
SubstreamerMultiâś…
AmuseAndroidâś…
play:SubiOSâś…

Impostazioni di Connessione ​

  • URL del Server: https://tuo-server.com/rest
  • Nome Utente: Il tuo nome utente di TuneCamp (amministratore o artista)
  • Password: La tua password Subsonic — non la password del tuo account

Genera la password Subsonic da Profilo → Impostazioni → Subsonic Password. Viene mostrata una sola volta, al momento della creazione; se la perdi, generane una nuova. Rimuoverla disconnette tutti i client Subsonic che la usano e non tocca il resto dell'account.

NOTE

Il protocollo Subsonic autentica come md5(password + salt), quindi il server deve poter rileggere il segreto in chiaro — non può conservarne un hash a senso unico. Per questo Subsonic ha una propria password casuale invece di quella dell'account: una fuga del database espone solo credenziali revocabili e limitate allo streaming.

NOTE

Utenti in Roaming (Roaming Users): Per utilizzare Subsonic su una nuova istanza, effettua prima l'accesso a quell'istanza tramite l'interfaccia web. Questo avvia il processo di Creazione Pigra dell'Account (roaming), che configura il tuo profilo locale; poi genera lì una password Subsonic.

Endpoint Supportati ​

TuneCamp implementa le specifiche principali del protocollo Subsonic (v1.16.1) richieste dai client mobili:

Sistema & Connettività ​

EndpointDescrizioneStato
ping.viewVerifica la connettivitĂ  al server e autenticaâś… Supportato
getLicense.viewRestituisce licenza valida del serverâś… Supportato
getScanStatus.viewStato della scansione della libreriaâś… Supportato
EndpointDescrizioneStato
getMusicFolders.viewElenca le cartelle radice della musicaâś… Supportato
getIndexes.viewElenco alfabetico degli artisti indicizzatiâś… Supportato
getArtists.viewElenca tutti gli artisti (indicizzazione ID3)âś… Supportato
getMusicDirectory.viewEsplora la directory (artista → album → tracce)✅ Supportato
getArtist.viewDettagli artista e discografiaâś… Supportato
getAlbum.viewDettagli album con lista tracceâś… Supportato
getArtistInfo.view / getArtistInfo2.viewBiografia e immagini dell'artistaâś… Supportato
getAlbumInfo.view / getAlbumInfo2.viewDescrizione dell'album e copertinaâś… Supportato
getGenres.viewElenco di tutti i generi musicaliâś… Supportato

Liste Album / Brani & Ricerca ​

EndpointDescrizioneStato
getAlbumList.view / getAlbumList2.viewListe album (newest, random, frequent, recent, starred, alphabeticalByName, byGenre, byYear)âś… Supportato
getRandomSongs.viewSelezione casuale di brani dalla libreriaâś… Supportato
getStarred.view / getStarred2.viewElementi preferiti/stellatiâś… Supportato
search.view / search2.view / search3.viewRicerca full-text su artisti, album e tracceâś… Supportato

Streaming Multimediale & Riproduzione ​

EndpointDescrizioneStato
stream.viewStreaming di file audio (supporta bitrate transcodifica e conversione formati)âś… Supportato
getCoverArt.viewFornisce copertine e artwork per artisti, album e tracceâś… Supportato
scrobble.viewRegistra riproduzioni nel DB e su scrobbler esterniâś… Supportato
getNowPlaying.viewElenco dei brani in riproduzione attiva nelle sessioniâś… Supportato

Playlist & Podcast ​

EndpointDescrizioneStato
getPlaylists.viewElenca le tue playlist piĂą tutte quelle pubbliche (admin: tutte)âś… Supportato
getPlaylist.viewDettagli playlist con lista brani — proprietario, admin o playlist pubblica✅ Supportato
createPlaylist.viewCrea una nuova playlist utenteâś… Supportato
updatePlaylist.viewAggiungi/rimuovi brani, aggiorna visibilità — solo proprietario o admin✅ Supportato
deletePlaylist.viewElimina una playlist — solo proprietario o admin✅ Supportato
getPodcasts.viewElenca canali podcast / episodiâś… Supportato
getNewestPodcasts.viewElenca gli episodi podcast piĂą recentiâś… Supportato

Profilo Utente ​

EndpointDescrizioneStato
getUser.viewDettagli utente e permessi di streamingâś… Supportato

Endpoint Non Implementati / Pianificati ​

I seguenti endpoint Subsonic non sono attualmente necessari per la riproduzione su DSub/Symfonium/Tempo e restituiscono un codice di endpoint non supportato:

  • download.view (gestito tramite stream.view o le API REST native di TuneCamp)
  • getSong.view, getTopSongs.view, getSimilarSongs.view
  • getLyrics.view, getAvatar.view
  • star.view, unstar.view (preferiti gestiti dall'interfaccia Web)
  • getPlayQueue.view, savePlayQueue.view, getBookmarks.view
  • getInternetRadioStations.view, getShares.view, jukeboxControl.view

Rilasciato sotto licenza MIT.