ZynzapAPI

Autenticação

Chaves de API com permissões mínimas, ambientes, números e IPs permitidos, limite próprio, validade, rotação sem parada e revogação.

Toda chamada leva uma chave de API no cabeçalho Authorization:

Authorization: Bearer zz_live_9f2c...

Sem chave, com chave inválida, vencida ou revogada, a resposta é 401 com reason: API_AUTH_REQUIRED (ou API_AUTH_REVOKED). A única rota sem chave é GET /, que descreve a API.

curl -X POST "https://api.zynzap.com.br/v1/rpc/GetApiKeyIdentity" \
  -H "Authorization: Bearer $ZYNZAP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "request": {}
}'

Criar uma chave

No painel, em API e integrações → Nova chave. É preciso ter a autenticação em duas etapas ativa; se a última confirmação de identidade tiver mais de 10 minutos, o painel pede o código do autenticador. O segredo aparece uma única vez (o Zynzap guarda só o hash).

Página API e integrações com totais das últimas 24 horas, busca, filtros e a lista de chaves com prefixo mascarado, ambiente, permissões, uso e status
Uma chave por sistema: fica fácil acompanhar o uso e revogar só o que precisa.

Ambientes: zz_live_ e zz_test_

PrefixoAmbienteObservação
zz_live_ProduçãoUse só no sistema real.
zz_test_TestePara desenvolvimento e homologação.
wl_live_, wl_test_LegadoChaves criadas antes do nome Zynzap. Continuam funcionando.

O ambiente é um rótulo: chaves de teste acessam a mesma conta, enviam mensagens reais e consomem saldo. Ele existe para você nunca colar a chave de produção num ambiente de testes por engano. Para testar, envie para os seus próprios números.

Permissões (scopes)

Cada chave tem permissões explícitas e nunca passa das permissões do papel de quem a criou. Cada operação da referência informa a permissão que exige; sem ela, a resposta é 403.

PermissãoO que libera
sessions:readLista números e consulta o status de conexão.
sessions:manageConecta, desconecta, reconecta e exclui números.
messages:sendEnvia mensagens de texto e mídia (envios pagos consomem saldo).
messages:revokeApaga para todos uma mensagem já enviada.
messages:view_onceLê e gerencia mídias de visualização única recebidas.
events:readRecebe eventos em tempo real (stream e webhooks).
dashboard:readLê os números do painel (Visão geral).
groups:read / groups:manageLista grupos / altera participantes, nome, descrição e permissões.
product:inboxLê e responde conversas do Atendimento, notas e chamadas.
product:contactsContatos e dados do CRM da empresa inteira.
product:campaignsCampanhas, listas, segmentos e recuperação.
product:templatesModelos de mensagem e diálogos.
product:mediaBiblioteca de mídias.
product:flowsFluxos (bots).
product:warmupAquecimento de números.
product:aiAssistente de IA.

O painel oferece modelos prontos:

ModeloPermissões
Somente leiturasessions:read, groups:read, events:read, dashboard:read
Envio de mensagenssessions:read, messages:send, events:read
Atendimentosessions:read, product:inbox, messages:send, messages:revoke, messages:view_once, events:read
Campanhassessions:read, events:read, product:campaigns, product:contacts, product:templates, product:media
Administração completaTudo o que o seu papel permite

Números permitidos

Uma chave pode alcançar todos os números ou só os selecionados. Restrita, ela só enxerga esses números e os grupos, conversas e eventos deles; qualquer outro identificador responde 404. Permissões da conta inteira (dashboard:read e product:*, exceto product:inbox) não combinam com números restritos.

Com Permitir criar e parear números (exige sessions:manage), a chave pode criar números pela API até o máximo definido; cada número criado entra na lista da chave e ocupa uma vaga do plano. Veja Números (sessões).

IPs permitidos

Opcional: até 50 IPv4, IPv6 ou faixas CIDR (ex.: 203.0.113.10, 198.51.100.0/24). Chamadas de outros endereços recebem 403 com reason: API_KEY_IP_FORBIDDEN. Use quando o seu servidor tiver IP fixo.

Limite próprio da chave

Opcional, de 1 a 120 requisições por minuto. Acima dele: 429 com reason: API_KEY_RATE_LIMITED. O limite da conta continua valendo. Veja Limites.

Validade, rotação e revogação

  • Validade: 30 dias, 90 dias, 1 ano, data personalizada (até 3 anos) ou sem expiração. Prefira prazos definidos.
  • Rotacionar segredo: gera um segredo novo para a mesma chave (permissões, limites e histórico continuam). O antigo para imediatamente, em 1 hora ou em 24 horas; durante a carência os dois funcionam, o que permite trocar sem derrubar a integração.
  • Revogar: encerra o acesso na hora, inclusive streams abertos e webhooks. Não pode ser desfeito.
  • Desativar o segundo fator da conta revoga as chaves de quem desativou.

Criar, editar e rotacionar ficam na auditoria de segurança da empresa.

Boas práticas

  • Uma chave por sistema, com o mínimo de permissões e números.
  • Guarde a chave em variável de ambiente ou cofre de segredos; nunca em repositório, front-end ou app móvel.
  • Use IPs permitidos quando possível e rotacione periodicamente com carência.
  • Se a chave vazar, revogue e crie outra.