Pular para o conteúdo

Autenticação

Login de usuário via sessão (cookies HttpOnly). Integrações externas devem usar chave de API — não este fluxo.

Base: https://api.nivesistemas.com.br · 16 endpoints

Login — define cookies de sessão e retorna o usuário

Corpo (JSON)

Campo Tipo Obrigatório Descrição
username string sim Usuário
password string sim Senha

Resposta: { user, storeSlug } em sucesso; ou { requiresTwoFactor, pendingToken } / { requiresEnrollment, enrollmentToken } quando 2FA estiver ativo

Janela do terminal
curl -X POST "https://api.nivesistemas.com.br/auth/login" \
-H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \
-H "X-Store-Slug: loja-demo" \
-H "Content-Type: application/json" \
-d '{"username":"","password":""}'

Exemplo de corpo

{ "username": "admin", "password": "admin123" }

Exemplo de resposta

{ "user": { "id": "...", "username": "admin" }, "storeSlug": "minha-loja" }

Confirmar login com código 2FA

Corpo (JSON)

Campo Tipo Obrigatório Descrição
pendingToken string sim Token retornado no login
code string sim Código TOTP
Janela do terminal
curl -X POST "https://api.nivesistemas.com.br/auth/2fa/verify" \
-H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \
-H "X-Store-Slug: loja-demo" \
-H "Content-Type: application/json" \
-d '{"pendingToken":"","code":""}'

Login com código de recuperação 2FA

Corpo (JSON)

Campo Tipo Obrigatório Descrição
pendingToken string sim Token retornado no login
backupCode string sim Código de backup
Janela do terminal
curl -X POST "https://api.nivesistemas.com.br/auth/2fa/recover" \
-H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \
-H "X-Store-Slug: loja-demo" \
-H "Content-Type: application/json" \
-d '{"pendingToken":"","backupCode":""}'

Iniciar cadastro de 2FA (quando exigido)

Corpo (JSON)

Campo Tipo Obrigatório Descrição
enrollmentToken string sim Token retornado no login (requiresEnrollment)
Janela do terminal
curl -X POST "https://api.nivesistemas.com.br/auth/2fa/enroll/setup" \
-H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \
-H "X-Store-Slug: loja-demo" \
-H "Content-Type: application/json" \
-d '{"enrollmentToken":""}'

Confirmar cadastro de 2FA

Corpo (JSON)

Campo Tipo Obrigatório Descrição
enrollmentToken string sim Token de enrollment
code string sim Código TOTP
Janela do terminal
curl -X POST "https://api.nivesistemas.com.br/auth/2fa/enroll/confirm" \
-H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \
-H "X-Store-Slug: loja-demo" \
-H "Content-Type: application/json" \
-d '{"enrollmentToken":"","code":""}'

Dados do usuário autenticado (sessão ou API key)

Resposta: { id, username, name, permissions, … }

Janela do terminal
curl -X GET "https://api.nivesistemas.com.br/auth/me" \
-H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \
-H "X-Store-Slug: loja-demo"

Heartbeat de presença (usuário online no ERP agora)

Janela do terminal
curl -X POST "https://api.nivesistemas.com.br/auth/presence" \
-H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \
-H "X-Store-Slug: loja-demo"

Atualizar destino de impressão do usuário

Corpo (JSON)

Campo Tipo Obrigatório Descrição
printTarget string não Destino de impressão (LOCAL ou AGENT)
printA4ViaAgent boolean não Se true, folha A4 também vai direto ao ponto (padrão false)
Janela do terminal
curl -X PATCH "https://api.nivesistemas.com.br/auth/me/print-target" \
-H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \
-H "X-Store-Slug: loja-demo" \
-H "Content-Type: application/json" \
-d '{"printTarget":"","printA4ViaAgent":true}'

Atualizar preferências de interface do usuário (favoritos da navegação)

Corpo (JSON)

Campo Tipo Obrigatório Descrição
navFavorites string[] não Rotas fixadas (máx. 5)
Janela do terminal
curl -X PATCH "https://api.nivesistemas.com.br/auth/me/ui-preferences" \
-H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \
-H "X-Store-Slug: loja-demo" \
-H "Content-Type: application/json" \
-d '{"navFavorites":null}'

Logout (limpa cookies de sessão)

Janela do terminal
curl -X POST "https://api.nivesistemas.com.br/auth/logout" \
-H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \
-H "X-Store-Slug: loja-demo"

Catálogo de permissões

Janela do terminal
curl -X GET "https://api.nivesistemas.com.br/auth/permissions/catalog" \
-H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \
-H "X-Store-Slug: loja-demo"

Renovar cookies de sessão

Resposta: { user, storeSlug }

Janela do terminal
curl -X POST "https://api.nivesistemas.com.br/auth/refresh" \
-H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \
-H "X-Store-Slug: loja-demo"

Solicitar redefinição de senha por e-mail

Corpo (JSON)

Campo Tipo Obrigatório Descrição
email string sim E-mail do usuário
Janela do terminal
curl -X POST "https://api.nivesistemas.com.br/auth/forgot-password" \
-H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \
-H "X-Store-Slug: loja-demo" \
-H "Content-Type: application/json" \
-d '{"email":""}'

Redefinir senha com o token recebido

Corpo (JSON)

Campo Tipo Obrigatório Descrição
token string sim Token do e-mail
password string sim Nova senha
Janela do terminal
curl -X POST "https://api.nivesistemas.com.br/auth/reset-password" \
-H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \
-H "X-Store-Slug: loja-demo" \
-H "Content-Type: application/json" \
-d '{"token":"","password":""}'

Lojas às quais o usuário tem acesso (sessão)

Janela do terminal
curl -X GET "https://api.nivesistemas.com.br/auth/my-stores" \
-H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \
-H "X-Store-Slug: loja-demo"

Trocar de loja na sessão atual

Corpo (JSON)

Campo Tipo Obrigatório Descrição
storeSlug string sim Slug da loja
Janela do terminal
curl -X POST "https://api.nivesistemas.com.br/auth/switch-store" \
-H "Authorization: Bearer sl_live_exemplo_abc123xyz789" \
-H "X-Store-Slug: loja-demo" \
-H "Content-Type: application/json" \
-d '{"storeSlug":""}'