Skip to content
Last updated

Аутентификация

Lumo B2B API использует API-ключи для аутентификации запросов.

Получение API-ключа

API-ключ выдаётся при подключении компании к платформе. Свяжитесь с менеджером в Telegram.

После подключения вы получите:

  • Email и пароль для входа
  • Первичный API-ключ
  • Доступ к личному кабинету

Передача ключа

Рекомендуемый способ — заголовок X-API-Key:

curl -X GET 'https://b2b.lumowallet.io/wallets/balance' \
  -H 'X-API-Key: lb2b_5f7f1f7b7f034dbf81b0b8b8d7c0b9f1'

Также поддерживаются:

  • Authorization: Bearer <api-key>
  • Query-параметр ?api_key=<api-key> (не рекомендуется)

Ротация ключа

Через логин

При каждом успешном логине генерируется новый API-ключ:

curl -X POST 'https://b2b.lumowallet.io/auth/company/login' \
  -H 'Content-Type: application/json' \
  -d '{
    "email": "[email protected]",
    "password": "your-password"
  }'

Ответ:

{
  "company": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "name": "My Company",
    "email": "[email protected]"
  },
  "apiKey": "lb2b_new_key_here"
}

⚠️ Важно: Предыдущий ключ становится недействительным.

Ручная ротация

Перевыпустите ключ без смены пароля:

curl -X POST 'https://b2b.lumowallet.io/auth/company/regenerate-key' \
  -H 'X-API-Key: YOUR_CURRENT_API_KEY'

Whitelist IP

Доступ к API ограничен списком разрешённых IP-адресов. Для добавления IP свяжитесь с менеджером.

Запросы с неавторизованных IP получат ошибку:

{
  "statusCode": 403,
  "message": "IP address not whitelisted",
  "error": "Forbidden"
}

Безопасность

  • Храните API-ключ в безопасном месте (env-переменные, secrets manager)
  • Не передавайте ключ в URL или логах
  • Периодически ротируйте ключи
  • Используйте HTTPS для всех запросов

Ошибки аутентификации

КодОшибкаОписание
401Missing credentialsНе передан API-ключ
401Invalid API keyНеверный или устаревший ключ
403IP not whitelistedIP-адрес не в whitelist
403Company is disabledКомпания деактивирована