Integrare un’API di distribuzione musicale significa collegare il tuo sistema a una pipeline che importa un catalogo, convalida i metadati, distribuisce le pubblicazioni alle piattaforme di streaming e legge royalty e analytics. Crei etichette, pubblicazioni e tracce tramite chiamate HTTP invece che con un modulo web, invii ogni pubblicazione per la convalida, avvii la distribuzione ai DSP e poi recuperi stream e rendiconti per riconciliarli con i tuoi dati. Le chiamate in sé sono la parte facile. Il lavoro vero è modellare correttamente i metadati musicali, gestire i passaggi asincroni e prepararsi al giorno in cui una consegna torna indietro respinta.

Questa guida ripercorre l’integrazione nell’ordine in cui la costruiresti davvero: autenticazione, creazione e distribuzione di una pubblicazione, gestione di convalida ed errori, poi lettura di guadagni e numeri. Gli schemi di endpoint qui sotto usano l’API pubblica di LabelGrid, ma la struttura si applica alla maggior parte delle piattaforme di distribuzione. Campi esatti, parametri e codici di errore si trovano nella documentazione pubblica dell’API, quindi questa è la mappa, non il riferimento campo per campo.

Cosa fa davvero un’API di distribuzione musicale?

Un’API di distribuzione espone il ciclo di vita della pubblicazione come endpoint. Ci sono quattro fasi, e ogni integrazione le attraversa nello stesso ordine. Primo, l’importazione del catalogo: crei le etichette, le pubblicazioni e le tracce che compongono il tuo catalogo, e allega metadati e audio. Secondo, la convalida: verifichi una pubblicazione rispetto alle regole delle piattaforme prima che vada da qualsiasi parte. Terzo, la distribuzione: distribuisci la pubblicazione convalidata ai servizi di streaming e alle piattaforme. Quarto, la lettura dei dati: recuperi analytics e rendiconti delle royalty in modo che il tuo sistema sappia cosa è successo dopo la pubblicazione online della musica.

Alla base della distribuzione c’è DDEX, lo standard di settore per descrivere una pubblicazione e il suo audio in modo che una piattaforma possa importarla. Non tocchi quasi mai DDEX direttamente. La piattaforma lo genera a partire dalla pubblicazione che hai creato tramite l’API e lo comunica a ciascun DSP al posto tuo. È questo il senso di usare un’API di distribuzione invece di integrare ogni piattaforma una per una: un unico modello di pubblicazione in ingresso, consegna conforme DDEX a tutti i principali DSP in uscita. L’API di distribuzione di LabelGrid copre tutte e quattro le fasi, dall’importazione ai rendiconti, sotto un’unica superficie autenticata.

Gli endpoint su cui farai affidamento corrispondono chiaramente a queste fasi:

GET   /api/public/me                        # verifica il token, scopri chi sei
GET   /api/public/releases                  # elenca il tuo catalogo
POST  /api/public/releases                  # crea una pubblicazione (importazione)
POST  /api/public/releases/{id}/validate    # verifica una pubblicazione rispetto alle regole delle piattaforme
POST  /api/public/releases/{id}/distribute  # distribuisci ai DSP
GET   /api/public/analytics                 # stream e dati sugli ascoltatori
GET   /api/public/statements                # rendiconti delle royalty

Considera questo elenco come lo scheletro dell’intera integrazione. Tutto il resto sono metadati, tentativi di ripetizione e riconciliazione agganciati a queste sette chiamate.

Come ti autentichi?

L’autenticazione è un bearer token su ogni richiesta. Ti registri, generi una credenziale API e la invii nell’header Authorization. Non c’è nessuna demo da prenotare né un passaggio commerciale da superare prima. La registrazione è self-service, la documentazione è pubblica e, una volta attivo un piano API, puoi iniziare a fare chiamate autenticate lo stesso pomeriggio. I token vengono generati dalle impostazioni del tuo account, e puoi facoltativamente limitare un token a IP conosciuti. La prima chiamata da fare è GET /api/public/me, che ti dice se il token è valido e a quale account appartiene:

curl https://api.labelgrid.com/api/public/me \
  -H "Authorization: Bearer <token>"

Fai in modo che questa chiamata restituisca una risposta pulita prima di costruire qualsiasi altra cosa. Una chiamata me funzionante dimostra che la tua credenziale, il tuo URL di base e il tuo client HTTP sono tutti corretti, così qualsiasi errore successivo riguarda la pubblicazione, non l’impianto. Conserva il token come un segreto, mai nel controllo di versione o in un bundle client, e trattalo come una password: ruotalo se trapela, e usa credenziali separate per sandbox e produzione in modo che un test non possa mai toccare il catalogo in produzione. Il tipo esatto di token, il comportamento alla scadenza ed eventuali header aggiuntivi sono documentati nel riferimento API; non indovinare, leggili lì una volta e incapsulali in un piccolo client.

Come crei e distribuisci una pubblicazione?

Tre chiamate portano una pubblicazione dal nulla alla pubblicazione online. La crei, la convalidi e la distribuisci:

POST  /api/public/releases                  # 1. crea la pubblicazione + i suoi metadati
POST  /api/public/releases/{id}/validate    # 2. verificala rispetto alle regole delle piattaforme
POST  /api/public/releases/{id}/distribute  # 3. consegnala ai DSP

Il passaggio di creazione è dove investi la maggior parte del tuo lavoro di sviluppo. Una pubblicazione porta con sé molti metadati: titolo, artisti e collaboratori, data di pubblicazione, etichetta, copertina, e le tracce con i loro titoli, crediti e audio. I campi precisi, i formati e quali sono obbligatori sono tutti nella documentazione, e dovresti modellarli esattamente invece di approssimarli. I metadati sbagliati sono la causa più comune di fallimento successivo di una pubblicazione, quindi convalida i tuoi input prima di inviarli. Controlla le dimensioni della copertina, conferma che ogni traccia abbia audio e un ISRC, e normalizza i nomi degli artisti dal tuo lato, perché individuare un problema nel tuo codice costa molto meno che scoprirlo in un rifiuto da parte della piattaforma.

Rendi idempotente la creazione. Le chiamate di rete falliscono a metà, e non vuoi che un nuovo tentativo produca una seconda copia della stessa pubblicazione. Usa una chiave di idempotenza o verifica l’esistenza di una pubblicazione tramite il tuo riferimento prima di crearne una nuova, in modo che una richiesta ripetuta restituisca la stessa pubblicazione invece di duplicarla. Questo conta soprattutto durante un’importazione massiva del catalogo, dove una connessione instabile su qualche migliaio di pubblicazioni farà sicuramente ripetere qualche richiesta.

La distribuzione è asincrona. Quando chiami distribute, stai mettendo in coda un job, non ottenendo una risposta immediata. L’API accetta la richiesta e poi la piattaforma impacchetta il DDEX e lo invia a ciascuna piattaforma in background, un’operazione che può richiedere tempo. Progetta il tuo sistema tenendone conto fin dall’inizio: invia la chiamata di distribuzione, registra che l’hai richiesta, e poi interroga periodicamente la pubblicazione per il suo stato di consegna invece di restare bloccato in attesa di una risposta. Qualsiasi codice che presuma che la distribuzione si completi in modo sincrono si romperà la prima volta che una consegna reale richiederà più di un secondo.

Come gestisci convalida ed errori?

La convalida è un passaggio separato per un motivo preciso. Chiamare POST /api/public/releases/{id}/validate verifica una pubblicazione rispetto ai requisiti delle piattaforme e ti restituisce cosa non va prima di procedere con la consegna. Convalida sempre prima di distribuire. Una pubblicazione che fallisce la convalida e viene inviata comunque spreca un ciclo di consegna e, peggio ancora, può portare a un rifiuto da parte della piattaforma, molto più lento e complicato da risolvere rispetto a un errore di convalida corretto in anticipo. Costruisci il ciclo come crea, convalida, correggi, convalida di nuovo, e distribuisci solo quando la convalida è pulita.

Suddividi la gestione degli errori per classe, perché le due classi richiedono risposte opposte. Un 4xx è colpa tua: un campo malformato, un ISRC mancante, una copertina troppo piccola. Ritentare senza modifiche fallisce di nuovo e basta, quindi segnalalo, correggi i dati e reinvia. Un 5xx o un timeout di rete è transitorio: ritenta, ma con backoff esponenziale e un limite massimo, non un ciclo serrato che martella l’API. Combina questo con la chiave di idempotenza del passaggio di creazione, così un nuovo tentativo dopo un timeout non può duplicare accidentalmente il lavoro. Leggi i codici di errore effettivi e il loro significato dalla documentazione invece di dedurli, e associa ciascuno a un’azione chiara nel tuo sistema: ritenta, correggi-e-reinvia, oppure escalation verso un operatore umano.

Registra ogni richiesta e risposta con un correlation id. Quando tra tre settimane una pubblicazione resterà bloccata, il log di cosa hai inviato e cosa è tornato indietro farà la differenza tra una correzione di cinque minuti e un pomeriggio passato a tentativi.

Come leggi royalty e analytics?

La distribuzione è solo metà del ciclo. Una volta che la musica è online, leggi le prestazioni e i guadagni per far sì che il tuo sistema rifletta la realtà. Due endpoint coprono questo bisogno:

GET  /api/public/analytics    # stream, ascoltatori e dati sulle prestazioni
GET  /api/public/statements   # rendiconti delle royalty e guadagni

Gli analytics servono per le dashboard e le decisioni: stream, dati sugli ascoltatori e come sta andando una pubblicazione sulle diverse piattaforme. I rendiconti servono per la contabilità: quanto ha effettivamente guadagnato un periodo, pronto da riconciliare con le ripartizioni e i pagamenti dovuti agli artisti. Recupera entrambi con una pianificazione regolare, conservali nel tuo database collegati al tuo catalogo, e riconcilia invece di fidarti di un singolo recupero. I dati di rendicontazione si assestano nel tempo perché le piattaforme riportano i dati in ritardo, quindi tratta ogni recupero come il quadro più aggiornato, non definitivo, e lascia che un recupero successivo corregga una stima precedente.

Aspettati che queste risposte siano paginate, e scorri tutte le pagine fino alla fine invece di leggere solo la prima e fermarti. Per l’aggiornamento dei dati, scegli tra polling e webhook in base a ciò di cui hai bisogno. Un job di riconciliazione notturno va benissimo con il polling. Se devi reagire nel momento esatto in cui una consegna va online o arriva un rendiconto, e i webhook sono disponibili, iscriviti all’evento invece di fare polling ogni minuto. I parametri di query esatti, gli intervalli di date e la struttura delle risposte per entrambi gli endpoint sono nel riferimento API, così puoi recuperare esattamente la finestra di cui hai bisogno.

Come testare in sandbox prima della produzione?

Non costruire mai un’integrazione di distribuzione direttamente contro la produzione. LabelGrid mette a disposizione un ambiente sandbox insieme alla documentazione pubblica proprio per permetterti di eseguire l’intero ciclo di creazione, convalida e distribuzione senza inviare nulla a una piattaforma reale. Collega i tuoi test di integrazione alla sandbox fin dal primo giorno, usando una credenziale separata, così un test non potrà mai consegnare per errore una pubblicazione a metà a Spotify.

Testa con dati avversari, non solo con un percorso pulito e ideale. Invia alla sandbox pubblicazioni con ISRC mancanti, copertine sottodimensionate, nomi di artisti vuoti e date errate, e verifica che la tua logica di convalida e ripetizione gestisca correttamente ciascun caso. Una pubblicazione pulita dimostra che la pipeline è collegata; quelle difettose dimostrano che la tua gestione degli errori funziona davvero, ed è lì che vivono i cataloghi reali. Rendi il ciclo di vita della sandbox parte della tua suite di test, così ogni modifica al tuo client viene verificata end-to-end prima di essere rilasciata.

Cosa dovresti costruire per primo?

Costruisci uno scheletro funzionante prima di costruire qualcosa di ampio. L’obiettivo della prima milestone è far passare una singola pubblicazione attraverso l’intero ciclo in sandbox, end-to-end, così avrai dimostrato l’intero percorso prima di ottimizzarne una singola parte. In ordine:

  • Autenticati e ottieni una risposta pulita da GET /api/public/me.
  • Crea una pubblicazione con metadati realistici tramite POST /api/public/releases.
  • Convalidala, leggi gli errori, correggi i dati e convalida di nuovo finché non passa.
  • Distribuiscila in sandbox e interroga la pubblicazione finché la consegna non risulta completata.
  • Leggi gli analytics e un rendiconto, e conservali collegati al tuo catalogo.

Una volta che questo scheletro funziona, allargalo deliberatamente: importazione massiva del catalogo con idempotenza, backoff ed instradamento degli errori adeguati, sincronizzazioni pianificate di analytics e rendiconti, e webhook se hai bisogno di una latenza più bassa. Resisti alla tentazione di costruire l’intero importatore di catalogo prima che una singola pubblicazione sia mai andata online in sandbox. Le integrazioni che vengono consegnate in tempo sono quelle che portano prima una singola pubblicazione fino in fondo, e poi scalano lo schema che già funziona.

Due cose determinano quanto sarà fluido il resto della costruzione. Impostare correttamente il tuo modello di metadati, in modo che le pubblicazioni superino la convalida al primo tentativo, e trattare consegna e reportistica come asincrone fin dall’inizio, in modo che nulla nel tuo codice presupponga una risposta immediata. Fai bene queste due cose e un’integrazione con un’API di distribuzione diventa un problema di ingegneria ben compreso. Se stai valutando diverse piattaforme, la panoramica per sviluppatori e la documentazione white-label e API coprono cosa espone la superficie, e il riferimento degli endpoint è pubblico su api.labelgrid.com/docs/api.

Integra la distribuzione come si aspettano gli sviluppatori

Un’API pubblica con un ambiente sandbox, registrazione self-service e consegna conforme DDEX a tutti i principali DSP. Leggi la documentazione, costruisci contro la sandbox, rilascia quando sei pronto.

Vedi i piani API

Domande frequenti

Cos'è un'API di distribuzione musicale?

Un’API di distribuzione musicale è un’interfaccia programmabile per portare le registrazioni sui servizi di streaming e sulle piattaforme senza usare un modulo web. Crei etichette, pubblicazioni e tracce via HTTP, invii ogni pubblicazione per la convalida, avvii la consegna ai DSP e poi leggi stream, dati sugli ascoltatori e rendiconti delle royalty di ritorno nel tuo sistema. È la stessa pipeline di distribuzione che guida una dashboard, esposta come endpoint in modo che il tuo software possa farla funzionare.

Serve conoscere DDEX per integrare l'API?

Non per iniziare. DDEX è lo standard per metadati e audio che i distributori usano per consegnare le pubblicazioni alle piattaforme, e una buona piattaforma genera quel DDEX per te a partire dalla pubblicazione che crei tramite l’API. Tu lavori con pubblicazioni, tracce e campi di metadati; la piattaforma gestisce l’impacchettamento DDEX dietro la chiamata di consegna. Capire DDEX ti aiuta a ragionare sul perché certi metadati sono obbligatori, ma non lo scrivi a mano.

Quanto tempo richiede integrare un'API di distribuzione musicale?

Dipende dall’ambito. Un’integrazione minima che crea una pubblicazione, la convalida e la distribuisce può funzionare contro una sandbox in pochi giorni. Un’integrazione completa in produzione, con sincronizzazione del catalogo, gestione dei tentativi, riconciliazione degli analytics e importazione dei rendiconti delle royalty, richiede più tempo, perché la maggior parte dello sforzo sta nel modellare correttamente i metadati e nel gestire i percorsi asincroni e di errore, non nelle singole chiamate.

Cosa puoi fare con un'API di distribuzione?

Importazione del catalogo, convalida delle pubblicazioni, consegna e distribuzione ai DSP, analytics e rendiconti delle royalty. In pratica significa creare e aggiornare il tuo catalogo, verificare le pubblicazioni rispetto alle regole delle piattaforme prima di inviarle, distribuirle e recuperare stream e guadagni per riconciliarli con la tua contabilità.

Conviene usare il polling o i webhook per lo stato di consegna?

Entrambi gli approcci sono validi, e quello giusto dipende da cosa espone la tua piattaforma e da quanto rapidamente devi reagire. I webhook ti inviano un cambio di stato nel momento in cui avviene ed evitano il polling costante; il polling è più semplice da costruire ed è adatto a job in background che riconciliano periodicamente. Molti team iniziano con il polling per consegna e analytics, e poi spostano gli eventi sensibili alla latenza verso i webhook, se disponibili.

Esiste una sandbox per testare un'API di distribuzione?

Sì. LabelGrid mette a disposizione un ambiente sandbox insieme alla documentazione pubblica della sua API, così puoi esercitare l’intero ciclo di creazione, convalida e distribuzione prima di toccare la produzione. Testa con metadati realistici ma avversari, non solo con dati puliti, così la tua gestione degli errori è collaudata prima che una pubblicazione reale ne dipenda.

Table of contents:

Inizia Oggi a Distribuire la Tua Musica

Tutte le principali piattaforme DSP. Ripartizione automatica delle royalty. Analisi in tempo reale. Unisciti a migliaia di etichette e artisti che già usano LabelGrid.