Два типа аутентификации
1. API ключ (для платежей)
Все платёжные эндпоинты (/v1/*) требуют заголовок X-API-Key:
bash
curl https://payapi.aibot.kz/v1/status \
-H "X-API-Key: kp_live_your_api_key"- •Live ключ (
kp_live_...) — реальные платежи - •Test ключ (
kp_test_...) — sandbox, тестовые данные
API ключ хранится как SHA-256 хеш. Вы видите его один раз при создании.
2. JWT Bearer (для управления аккаунтом)
Эндпоинты /me/* и /admin/* требуют JWT токен:
bash
curl https://payapi.aibot.kz/me \
-H "Authorization: Bearer eyJhbGciOiJSUzI1NiIs..."JWT RS256
- •Access token: срок жизни 15 минут, подписан RSA-2048 приватным ключом
- •Refresh token: срок жизни 7 дней, одноразовый (ротация при обновлении)
Получение токенов
bash
curl -X POST https://payapi.aibot.kz/auth/login \
-H "Content-Type: application/json" \
-d '{"email": "[email protected]", "password": "YourPassword"}'Ответ:
json
{
"access_token": "eyJhbGciOiJSUzI1NiIs...",
"refresh_token": "a1b2c3d4e5f6...",
"token_type": "Bearer",
"expires_in": 900
}Обновление токенов
Когда access token истекает (HTTP 401), обновите пару:
bash
curl -X POST https://payapi.aibot.kz/auth/refresh \
-H "Content-Type: application/json" \
-d '{"refresh_token": "a1b2c3d4e5f6..."}'Каждый refresh token одноразовый. После использования он аннулируется и выдаётся новый.
Безопасность
- •RS256 — асимметричная подпись (приватный ключ подписывает, публичный верифицирует)
- •API ключи хешированы SHA-256 в базе данных
- •Все соединения по HTTPS (TLS 1.3)
- •Rate limiting: 60 запросов/мин для API, 10/мин для auth