API keys são credenciais secretasTrate
shp_live_... como senha de banco de dados. Qualquer pessoa com a chave pode consumir sua cota e enfileirar downloads no seu projeto.Nunca:- commite no Git (
.envno.gitignore) - coloque em código frontend (React, Vue, Svelte, Next.js client components)
- envie em apps mobile sem proxy backend
- armazene em
localStorage,sessionStorageou cookies do browser - exponha em URLs, query strings ou repositórios públicos
Arquitetura correta
Arquitetura incorreta
Onde armazenar
Veja também: Chaves de API · Boas práticas
Segurança
- Use
process.env.SHAPPIRE_API_KEY(ou equivalente) — nunca hardcode - Secret manager em produção (AWS Secrets Manager, Vault, Doppler)
- Uma API key por serviço/ambiente
- Rotacione chaves periodicamente
- Mascare chaves em logs:
shp_live_...abc1
Performance
- Faça resolve uma vez e reutilize
data.idcomomedia_iddentro do TTL (1h) - Cache
GET /platformspor 5 min (a API já enviaCache-Control: max-age=300) - Polling com intervalo de 2–5 s — não consulte jobs a cada 500 ms
- Baixe
download_urlassim que o job completar
Operação
- Registre
X-Request-Idem todos os erros - Monitore taxa de
429e jobsfailed - Alerta se fila de jobs crescer sem conclusão
- Armazene arquivos no seu storage — URLs assinadas expiram (TTL 1h)
Escopos mínimos
Erros recuperáveis
Checklist de produção
-
SHAPPIRE_API_KEYem variável de ambiente - Backend como proxy (sem chave no cliente)
- Fila para downloads (respeitar limite de 2 jobs simultâneos)
- Polling com timeout máximo
- Download imediato após
completed - Logs com
request_id - YouTube tratado como não suportado no seu produto