Front-end estático (GitHub Pages) + back-end Serverless (Vercel).
- Front-end: página simples que recebe a URL de álbum do Spotify e chama a API.
- Back-end: função serverless que usa o Client Credentials Flow do Spotify, obtém as faixas do álbum e retorna ISRCs (JSON ou CSV).
isrc-tool/
├─ api/
│ └─ isrcs.js # Função serverless (Vercel)
├─ index.html # Front estático (pode ir para GitHub Pages)
├─ package.json # (opcional) define Node 18 + ESM no Vercel
└─ README.md
- Crie um repositório isrc-tool no GitHub (ou use este conteúdo).
- Importe o repositório na Vercel.
- Em Settings → Environment Variables, adicione:
SPOTIFY_CLIENT_IDSPOTIFY_CLIENT_SECRET
- Deploy.
A função ficará acessível em:
https://SEU-PROJETO.vercel.app/api/isrcs
- Ative Settings → Pages na branch que contém
index.html(ex.:main). - Edite no
index.htmla constanteAPI_URLpara apontar para sua URL da Vercel.
curl -X POST "https://SEU-PROJETO.vercel.app/api/isrcs" -H 'content-type: application/json' -d '{"albumUrl":"https://open.spotify.com/album/3AZnmlGW4bQNQsjOb9ksKg"}'curl -X POST "https://SEU-PROJETO.vercel.app/api/isrcs" -H 'content-type: application/json' -d '{"albumUrl":"https://open.spotify.com/album/3AZnmlGW4bQNQsjOb9ksKg", "format":"csv"}' -o isrcs.csv- Não exponha
SPOTIFY_CLIENT_SECRETno front; use apenas nas variáveis de ambiente da Vercel. - A API usa batch (
/v1/tracks?ids=...) para ser rápida. - Tratamos CORS e preflight (OPTIONS) para funcionar direto do GitHub Pages.