API Автентифікація
Дізнайтеся, як автентифікуватися в API BotLaunch за допомогою JWT токенів. Захистіть свої запити та керуйте доступом до ресурсів.
Безпечна автентифікація без збереження стану за допомогою JSON Web Tokens.
Токени доступу діють 1 годину, токени оновлення — 7 днів.
Використовуйте токени оновлення для безперебійного отримання нових токенів доступу.
Потік автентифікації
Виконайте ці кроки для автентифікації та здійснення безпечних API-запитів.
Вхід
Отримайте токени за допомогою облікових даних
Збереження токенів
Безпечно збережіть обидва токени
Виконання запитів
Включіть токен у заголовки
Оновлення
Отримайте новий токен після закінчення терміну дії
Ендпоінти автентифікації
/api/auth/loginАвтентифікація користувача та отримання токенів доступу та оновлення.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| string | User's email address | ||
| password | string | User'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"
}'Example Response
{
"data": {
"accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"refreshToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"expiresIn": 3600,
"user": {
"id": "usr_abc123",
"email": "user@example.com",
"role": "CLIENT_OWNER"
}
},
"message": "Login successful"
}/api/auth/registerСтворення нового облікового запису користувача та організації.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| string | Valid email address | ||
| password | string | Min 8 chars, 1 uppercase, 1 number | |
| name | string | User's full name | |
| organizationName | string | Optional | Organization 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"
}'/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"
}'Ротація токенів
Кожен запит на оновлення повертає новий токен оновлення. Зберігайте та використовуйте останній токен оновлення для наступних запитів.
/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"Використання токенів доступу
Включіть свій токен доступу в заголовок 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"
}
});Обов'язкові заголовки
AuthorizationBearer tokenx-organization-idOrganization IDContent-Typeapplication/jsonНайкращі практики безпеки
- Зберігайте токени безпечно (ніколи не в localStorage для веб)
- Використовуйте HTTPS для всіх API-запитів
- Реалізуйте оновлення токена до закінчення терміну дії
- Відкликайте токени при виході або подіях безпеки
Помилки автентифікації
Поширені помилки автентифікації та способи їх обробки.
| Status | Error | Description | Solution |
|---|---|---|---|
| 401 | Unauthorized | Missing or invalid token | Check Authorization header |
| 401 | Token Expired | Access token has expired | Use refresh token to get new access token |
| 403 | Forbidden | Insufficient permissions | Check user role and organization access |
| 429 | Too Many Requests | Login rate limit exceeded | Wait and retry after cooldown |
| 400 | Invalid Credentials | Wrong email or password | Verify credentials and try again |