VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa

Autenticação

Como uma pessoa ou um sistema obtém, renova e encerra uma sessão na API da Venddor.

Toda chamada autenticada da API carrega um token de acesso (um JWT) no cabeçalho Authorization: Bearer. As rotas desta seção são as que emitem, renovam e encerram esse token, e as que criam e recuperam a conta de quem o usa. Elas ficam sob /api/v1/auth e servem os três tipos de usuário da plataforma: administrador, seller (lojista) e cliente.

Pontos principais
  • Uma única rota de login (POST /api/v1/auth/login) atende administrador, seller e cliente. O tipo de usuário vem dentro do token (user_type), não do endereço chamado.
  • O token de acesso é curto (15 minutos por padrão) e o refresh_token dura 7 dias por padrão. Quando o token de acesso vence, troque-o em POST /api/v1/auth/refresh.
  • Cada loja (tenant) tem seus próprios usuários. O mesmo e-mail em duas lojas são duas contas. Veja Multi-loja e hosts.
  • O login tem limite de 5 requisições por minuto por IP, e a conta é bloqueada por um tempo depois de várias senhas erradas. Guarde o token em vez de logar a cada chamada.
  • Integração servidor a servidor não precisa de login de pessoa: veja Tokens e escopos.

Como funciona

O ciclo de uma sessão tem quatro momentos.

Login→Token de acesso (15 min)→Refresh→Logout
  1. Entrar

    Envie e-mail (ou CPF, ou CNPJ) e senha para POST /auth/login. A resposta traz access_token, refresh_token e expires_at. Se o usuário ativou o segundo fator (2FA), a resposta traz requires_2fa e um temp_token, e você conclui em POST /auth/verify-2fa.

  2. Chamar a API

    Mande Authorization: Bearer <access_token> em cada requisição, sempre pelo endereço da loja (veja Multi-loja e hosts).

  3. Renovar

    Perto do expires_at, troque o refresh_token por um par novo em POST /auth/refresh. O refresh token antigo deixa de valer.

  4. Sair

    POST /auth/logout encerra só o aparelho atual; POST /auth/logout-all encerra todos.

Conceitos principais

Quem usa cada rota

AtorComo entraObservação
Cliente (comprador da loja)/auth/register e /auth/loginCadastro livre; a loja pode exigir aprovação ou e-mail verificado.
Seller (lojista)/auth/vendor-register e o mesmo loginA candidatura costuma ficar pendente até um administrador aprovar.
AdministradorO mesmo login, com usuário do tipo administradorContas de administrador da plataforma (painel IO) não entram por aqui e recebem wrong_panel.

Para entender qual família de rotas cada ator chama depois do login, leia Os três atores.

Identificador de login

O campo identifier aceita e-mail, CPF (11 dígitos) ou CNPJ (14 dígitos); o servidor detecta o tipo. O campo antigo email continua aceito. Se vários usuários compartilham o mesmo CPF, CNPJ ou telefone, a API devolve 409 pedindo o login por e-mail.

Senha

Uma senha nova precisa ter pelo menos 10 caracteres, com letra maiúscula, minúscula, dígito e símbolo. A resposta de erro só devolve o código password_too_weak; não explica qual regra falhou.

Tempo de vida

ItemDuração padrão
Token de acesso15 minutos (configurável por ambiente; sempre confira expires_at)
Refresh token7 dias
temp_token do 2FA5 minutos
Link de redefinição de senha24 horas
Link de verificação de e-mail72 horas

Captcha

Se a loja ativou o módulo de reCAPTCHA, as rotas de login, cadastro, recuperação de senha e reenvio de verificação exigem o cabeçalho X-Recaptcha-Token. Sem ele a resposta é 403 captcha_required. Para integração de servidor, veja os tipos de token em Tokens e escopos.

Endpoints

MétodoCaminhoPara que serveAuthPágina
POST/api/v1/auth/loginEntrar com e-mail, CPF ou CNPJ e senhanenhumaLogin
POST/api/v1/auth/verify-2faConcluir o login com o código do segundo fatornenhuma (usa temp_token)Login
POST/api/v1/auth/registerCadastrar um clientenenhumaCadastro
POST/api/v1/auth/vendor-registerCandidatura de sellernenhumaCadastro
POST/api/v1/auth/refreshTrocar o refresh token por um par novonenhuma (usa o refresh token)Sessão
POST/api/v1/auth/logoutEncerrar a sessão deste aparelhotoken ou refresh tokenSessão
POST/api/v1/auth/logout-allEncerrar todas as sessõestoken de acessoSessão
POST/api/v1/auth/forgot-passwordPedir o e-mail de redefiniçãonenhumaSenha
POST/api/v1/auth/reset-passwordDefinir a senha nova com o token do e-mailnenhuma (usa o token)Senha
POST/api/v1/auth/verify-emailConfirmar o e-mail com o token recebidonenhuma (usa o token)Verificação de e-mail
POST/api/v1/auth/verify-email/requestReenviar a verificação ao usuário logadoqualquer usuário logadoVerificação de e-mail
POST/api/v1/auth/verify-email/resendReenviar a verificação sem loginnenhumaVerificação de e-mail
GET/api/v1/auth/check-emailValidar o formato de um e-mailnenhumaVerificações de formato
GET/api/v1/auth/check-cpfValidar um CPFnenhumaVerificações de formato
GET/api/v1/auth/check-cnpjValidar um CNPJnenhumaVerificações de formato

Login sem senha por código (OTP), chaves de acesso (passkeys), recuperação B2B e convite de contador estão em Autenticação avançada.

Erros comuns

  • Logar a cada chamada. O login tem limite de 5 por minuto por IP; o excesso volta 429. Guarde o token e renove com o refresh token.
  • Reusar um refresh token. Cada renovação gera um refresh token novo e invalida o anterior. Guarde sempre o último par recebido.
  • Mandar o token de uma loja para outra. O token carrega o tenant_id da loja que o emitiu; em outra loja ele é recusado.
  • Tratar 403 de login como senha errada. Contas pendentes de aprovação, desativadas ou sem e-mail verificado recebem 403 com um código próprio (veja a página de login). A senha estava certa.
  • Usar check-email para saber se a conta existe. Ele só valida o formato e sempre diz available: true. Quem decide é o cadastro.
  • Esperar mensagem em português ou inglês fixa. O campo error é um código ou frase curta em inglês; faça a lógica pelo código, não pelo texto. Veja Erros.

Próximos passos

Login
Entrar, 2FA e as respostas de bloqueio.
Tokens e escopos
O que há dentro do token e como ele é revogado.
Limites de requisição
Todos os limites por rota.
Anterior
Rastreamento de requisições
Próxima
Login e segundo fator
Nesta página
  • Como funciona
  • Conceitos principais
  • Quem usa cada rota
  • Identificador de login
  • Senha
  • Tempo de vida
  • Captcha
  • Endpoints
  • Erros comuns
  • Próximos passos