Skip to main content
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 (.env no .gitignore)
  • coloque em código frontend (React, Vue, Svelte, Next.js client components)
  • envie em apps mobile sem proxy backend
  • armazene em localStorage, sessionStorage ou cookies do browser
  • exponha em URLs, query strings ou repositórios públicos

Arquitetura correta

O usuário final nunca vê a chave. Seu backend valida a sessão do usuário e chama a Shappire server-to-server.

Arquitetura incorreta

Qualquer usuário pode abrir DevTools → Network, copiar a chave e usar fora do seu controle.

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.id como media_id dentro do TTL (1h)
  • Cache GET /platforms por 5 min (a API já envia Cache-Control: max-age=300)
  • Polling com intervalo de 2–5 s — não consulte jobs a cada 500 ms
  • Baixe download_url assim que o job completar

Operação

  • Registre X-Request-Id em todos os erros
  • Monitore taxa de 429 e jobs failed
  • 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_KEY em 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