Visao geral
A VZaps trabalha com mais de um mecanismo de autenticacao, e cada endpoint usa apenas o conjunto necessario para aquele fluxo.JWT para integradores (API publica)
Para obter um JWT sem enviar e-mail e senha em uma rota de integracao, usePOST /token com o client_token e o client_secret da conta (definidos em Seguranca no app). A resposta segue o mesmo formato de access_token e expires_in dos fluxos autenticados por sessao. Este endpoint nao utiliza Turnstile.
| Header | Quando usar | Observacao |
|---|---|---|
Authorization: Bearer <jwt> | Criacao de instancia, listagem, billing e acesso a instancia como dono | Obtido via POST /token ou pelo app web; obrigatorio em PUT /instances/create, POST /instances/list, POST /instances/{id}/subscribe, POST /instances/{id}/resume-subscription e PUT/DELETE /instances/{id}/cancel |
X-Client-Token | Integracoes server-to-server e chamadas autenticadas por token | Deve pertencer ao dono da instancia |
X-Instance-Token | Endpoints da instancia sem JWT | E retornado no response de criacao da instancia |
Regras praticas
Instancia e billing
- Use
JWTno headerAuthorization. - Nesses endpoints, nao use o token da instancia como substituto.
Listar instancias
UsePOST /instances/list com Authorization: Bearer <JWT> e no corpo os parametros de paginação e filtro (page, size, filter, sort, sortDesc). Este fluxo documentado assume sempre JWT.
Instancia (sessao, chat, webhook e demais)
Voce pode usar um dos dois modos:JWTdo dono da instancia.X-Instance-Tokenjunto comX-Client-Token.
A API valida a instancia e o
X-Client-Token do dono antes de processar a requisicao.Exemplo com JWT
Exemplo com tokens da instancia
Boas praticas
- Nao exponha
X-Client-TokeneX-Instance-Tokenem aplicacoes front-end publicas. - Separe credenciais por ambiente.
- Armazene o token da instancia retornado em
PUT /instances/createlogo apos a criacao. - Em caso de erro
Forbidden, valide primeiro se a instancia pertence ao usuario ou aoX-Client-Tokenenviado.

