Autenticação

API Autenticação

Aprenda como se autenticar na API do BotLaunch usando tokens JWT. Proteja suas requisições e gerencie o acesso aos seus recursos.

Tokens JWT

Autenticação stateless segura usando JSON Web Tokens.

Expiração do Token

Tokens de acesso expiram em 1 hora, tokens de atualização em 7 dias.

Atualização Automática

Use tokens de atualização para obter novos tokens de acesso de forma transparente.

Fluxo de Autenticação

Siga estes passos para autenticar e fazer requisições seguras à API.

1

Login

Obtenha tokens com credenciais

2

Armazenar Tokens

Armazene ambos os tokens com segurança

3

Fazer Requisições

Inclua o token nos cabeçalhos

4

Atualizar

Obtenha novo token quando expirado

Endpoints de Autenticação

POST/api/auth/login

Autentique um usuário e receba tokens de acesso e atualização.

Request Body

FieldTypeRequiredDescription
emailstringUser's email address
passwordstringUser's password

Example Request

curl -X POST "https://api.botlaunch.io/api/auth/login" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "user@example.com",
    "password": "your-secure-password"
  }'
bash

Example Response

{
  "data": {
    "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
    "refreshToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
    "expiresIn": 3600,
    "user": {
      "id": "usr_abc123",
      "email": "user@example.com",
      "role": "CLIENT_OWNER"
    }
  },
  "message": "Login successful"
}
json
POST/api/auth/register

Crie uma nova conta de usuário e organização.

Request Body

FieldTypeRequiredDescription
emailstringValid email address
passwordstringMin 8 chars, 1 uppercase, 1 number
namestringUser's full name
organizationNamestringOptionalOrganization name

Example Request

curl -X POST "https://api.botlaunch.io/api/auth/register" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "newuser@example.com",
    "password": "SecureP@ssw0rd!",
    "name": "John Doe",
    "organizationName": "My Company"
  }'
bash
POST/api/auth/refresh

Troque um token de atualização por um novo token de acesso.

Example Request

curl -X POST "https://api.botlaunch.io/api/auth/refresh" \
  -H "Content-Type: application/json" \
  -d '{
    "refreshToken": "your-refresh-token"
  }'
bash

Rotação de Token

Cada requisição de atualização retorna um novo token de atualização. Armazene e use o token de atualização mais recente para requisições subsequentes.

POST/api/auth/logout

Invalide a sessão atual e revogue os tokens.

Example Request

curl -X POST "https://api.botlaunch.io/api/auth/logout" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json"
bash

Usando Tokens de Acesso

Inclua seu token de acesso no cabeçalho Authorization para todas as requisições da API.

// Include the access token in all API requests
const response = await fetch("https://api.botlaunch.io/api/bots", {
  headers: {
    "Authorization": "Bearer eyJhbGciOiJIUzI1NiIs...",
    "x-organization-id": "org_xyz789",
    "Content-Type": "application/json"
  }
});
javascript

Cabeçalhos Obrigatórios

AuthorizationBearer token
x-organization-idOrganization ID
Content-Typeapplication/json

Melhores Práticas de Segurança

  • Armazene tokens com segurança (nunca em localStorage para web)
  • Use HTTPS para todas as requisições da API
  • Implemente a atualização do token antes da expiração
  • Revogue tokens ao fazer logout ou em eventos de segurança

Erros de Autenticação

Erros comuns de autenticação e como tratá-los.

StatusErrorDescriptionSolution
401UnauthorizedMissing or invalid tokenCheck Authorization header
401Token ExpiredAccess token has expiredUse refresh token to get new access token
403ForbiddenInsufficient permissionsCheck user role and organization access
429Too Many RequestsLogin rate limit exceededWait and retry after cooldown
400Invalid CredentialsWrong email or passwordVerify credentials and try again