Skip to main content
Diferente de sistemas legados que usam “Login e Senha” na requisição, nós utilizamos Bearer Tokens (Authorization: Bearer sk_live_...). Isso permite que você tenha múltiplas chaves para diferentes sistemas, com permissões diferentes, sem nunca expor sua senha mestra.

Criptografia de Ponta (Nós não sabemos sua senha)

Segurança é nosso pilar número 1. Por isso, adotamos uma arquitetura de “Zero Knowledge” para as credenciais:
  1. Geração: Quando você cria uma chave no dashboard, ela é exibida uma única vez.
  2. Hashing: Antes de salvar no banco de dados, nós passamos sua chave por um algoritmo de hash unidirecional robusto (bcrypt).
  3. Armazenamento: Apenas o “hash” (a impressão digital) fica salvo. Nem nossos engenheiros, nem o banco de dados têm acesso à sua chave original sk_live_....
O que isso significa? Se você perder sua chave, não temos como recuperá-la. Você terá que gerar uma nova. Isso garante que, mesmo em um vazamento hipotético do nosso banco de dados, sua chave estaria matematicamente segura.

O Poder dos Escopos (Princípio do Menor Privilégio)

Você não daria a chave do cofre para o entregador de pizza, certo? O mesmo vale para seu código. Ao criar uma API Key, você define exatamente o que ela pode fazer:
  • whatsapp:send: Permite apenas enviar mensagens. Perfeito para scripts de notificação ou integração com sistemas de terceiros que só precisam disparar alertas.
  • whatsapp:manage: Permite criar instâncias, escanear QR Codes e alterar configurações. Use apenas em seu backend administrativo.

Isolamento por Instância (Multi-Tenancy)

Imagine que você tem um Workspace na Zenvio com 10 clientes diferentes conectados (10 instâncias de WhatsApp). Você não quer que o sistema do “Cliente A” envie mensagens usando o número do “Cliente B” por engano. Na Zenvio, você pode travar uma API Key a uma ou mais instâncias específicas. Exemplo de uso:
  • Chave A: Acessa somente a Instância do “Restaurante do João”.
  • Chave B: Acessa somente a Instância da “Farmácia da Maria”.
Se o desenvolvedor do Restaurante tentar enviar uma mensagem usando o ID da Farmácia, receberá um erro 403 Forbidden. Isso garante isolamento total dos dados dos seus clientes.

Boas Práticas de Segurança

Para manter sua conta blindada, siga estas regras de ouro:
  1. Nunca comite chaves no GitHub: Use variáveis de ambiente (.env). Se sua chave vazar em um repositório público, hackers podem usar seus créditos.
  2. **Use **api_logspara auditoria: Nosso painel mostra exatamente qual chave fez qual requisição. Se notar atividade suspeita, você pode revogar a chave instantaneamente, sem afetar as outras.
  3. Rotação de Chaves: Recomendamos trocar as chaves de produção periodicamente. Como suportamos múltiplas chaves ativas, você pode gerar a nova, atualizar seu código e depois apagar a velha, sem downtime.

O que fazer se minha chave vazar?

Pânico? Não. Ação rápida.
  1. Acesse o Dashboard > API Keys.
  2. Identifique a chave comprometida.
  3. Clique em Revogar (Excluir).
  4. Imediatamente, qualquer requisição usando aquela chave receberá um erro 401 Unauthorized.
Sua conta e suas instâncias continuam seguras. Basta gerar uma nova chave para sua aplicação.