Автентифікація

API Автентифікація

Дізнайтеся, як автентифікуватися в API BotLaunch за допомогою JWT токенів. Захистіть свої запити та керуйте доступом до ресурсів.

JWT токени

Безпечна автентифікація без збереження стану за допомогою JSON Web Tokens.

Термін дії токена

Токени доступу діють 1 годину, токени оновлення — 7 днів.

Автооновлення

Використовуйте токени оновлення для безперебійного отримання нових токенів доступу.

Потік автентифікації

Виконайте ці кроки для автентифікації та здійснення безпечних API-запитів.

1

Вхід

Отримайте токени за допомогою облікових даних

2

Збереження токенів

Безпечно збережіть обидва токени

3

Виконання запитів

Включіть токен у заголовки

4

Оновлення

Отримайте новий токен після закінчення терміну дії

Ендпоінти автентифікації

POST/api/auth/login

Автентифікація користувача та отримання токенів доступу та оновлення.

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

Створення нового облікового запису користувача та організації.

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

Обмін токена оновлення на новий токен доступу.

Example Request

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

Ротація токенів

Кожен запит на оновлення повертає новий токен оновлення. Зберігайте та використовуйте останній токен оновлення для наступних запитів.

POST/api/auth/logout

Завершення поточної сесії та відкликання токенів.

Example Request

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

Використання токенів доступу

Включіть свій токен доступу в заголовок Authorization для всіх 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

Обов'язкові заголовки

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

Найкращі практики безпеки

  • Зберігайте токени безпечно (ніколи не в localStorage для веб)
  • Використовуйте HTTPS для всіх API-запитів
  • Реалізуйте оновлення токена до закінчення терміну дії
  • Відкликайте токени при виході або подіях безпеки

Помилки автентифікації

Поширені помилки автентифікації та способи їх обробки.

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