Перейти к основному содержанию

Documentation Index

Fetch the complete documentation index at: https://docs.lovi.ai/llms.txt

Use this file to discover all available pages before exploring further.

Введение

Этот раздел содержит официальную документацию по аутентификации через наш API с помощью Postman. Он включает подробные инструкции по процессу аутентификации, поддерживаемым методам и лучшим практикам для обеспечения безопасного доступа к API.

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

Для доступа к любому эндпоинту Lovi API необходимо сначала пройти аутентификацию и получить токен доступа, используя ваш email и пароль. Этот токен затем должен быть включён в заголовок Authorization всех последующих запросов. Ротация токенов: Мы рекомендуем периодически менять токены и хранить их в безопасном месте.
Метод: POST Формат: JSON

Эндпоинт

POST https://cloud.lovi.ai/functions/v1/auth?grant_type=password

Параметры запроса

ПараметрОбязательныйФиксированное значениеОписание
grant_typeДаpasswordУказывает, что вы используете аутентификацию через email и пароль. Это единственный поддерживаемый метод.

Заголовки запроса

Сообщите серверу тип отправляемого контента:
КлючЗначениеОписание
Content-Typeapplication/jsonУказывает, что тело запроса в формате JSON.

Тело запроса

Здесь вы указываете свои учётные данные (email и пароль):
{
  "email": "your-email@example.com",
  "password": "your-secure-password"
}
Вы должны заменить:
  • your-email@example.com” на ваш реальный адрес электронной почты.
  • “your-secure-password” на ваш пароль.

Ответ

Сервер ответит токеном, который вам понадобится для аутентификации в будущих API-запросах. Ответ будет выглядеть так:
{
    "access_token": "your-access-token",
    "token_type": "bearer",
    "expires_in": 3600,
    "expires_at": 1744196340,
    "refresh_token": "bNYf6m7S7dFjfHCFTob2zg",
    "user": {
        "id": "3b601fa8-49fd-4a8c-af8c-b30601410975",
        "aud": "authenticated",
        "role": "authenticated",
        "email": "your-email@example.com",
        "email_confirmed_at": "2025-01-16T18:45:09.995114Z",
        "phone": "",
        "confirmed_at": "2025-01-16T18:45:09.995114Z",
        "last_sign_in_at": "2025-04-09T09:59:00.18987884Z",
        "app_metadata": {
            "provider": "email",
            "providers": [
                "email"
            ]
        },
        "user_metadata": {
            "email_verified": true,
            "name": "Your-Company"
        },
        "identities": [
            {
                "identity_id": "23b66c68-ce37-4483-8470-67e08e21a61e",
                "id": "3b601fa8-49fd-4a8c-af8c-b30601410975",
                "user_id": "3b601fa8-49fd-4a8c-af8c-b30601410975",
                "identity_data": {
                    "email": "your-email@example.com",
                    "email_verified": false,
                    "phone_verified": false,
                    "sub": "3b601fa8-49fd-4a8c-af8c-b30601410975"
                },
                "provider": "email",
                "last_sign_in_at": "2025-01-16T18:45:09.985377Z",
                "created_at": "2025-01-16T18:45:09.985932Z",
                "updated_at": "2025-01-16T18:45:09.985932Z",
                "email": "your-email@example.com"
            }
        ],
        "created_at": "2025-01-16T18:45:09.956743Z",
        "updated_at": "2025-04-09T09:59:00.192243Z",
        "is_anonymous": false
    }
}
⚠️ Сохраните ваш access_token — он понадобится для взаимодействия с остальными эндпоинтами API.

🧭 Получение API-ключей компании

Метод: POST Формат: JSON

Эндпоинт

POST https://cloud.lovi.ai/functions/v1/api_keys
Заголовки
ПараметрПримерОбязательныйОписание
AuthorizationBearer your-access-tokenДаЭтот заголовок используется для аутентификации запроса. Он содержит Bearer-токен, полученный после входа в систему.

Ответ

Каждый объект в массиве validApiKeys представляет API-ключ, связанный с конкретной компанией. Поля включают:
  • company_id: Уникальный идентификатор компании, владеющей API-ключом.
  • key: Сам API-ключ, используемый для аутентификации запросов.
  • is_active: Булево значение, указывающее, активен ли ключ в данный момент (true) или нет (false).
  • last_used: Временная метка последнего использования ключа. Если ключ никогда не использовался, значение будет null.
  • company_name: Название компании, связанной с API-ключом, полезно для отображения в интерфейсах или журналах.
Вот пример:
{
    "validApiKeys": [
        {
            "company_id": "your_company_id",
            "key": "your_key",
            "is_active": true,
            "last_used": null,
            "company_name": "your_company_name"
        }
    ]
}

⚠️ API-ключи не найдены

Если ответ возвращает пустой массив validApiKeys, это означает, что API-ключи ещё не были созданы для вашей компании. Пример:
{
    "validApiKeys": []
}
В этом случае вам необходимо перейти в панель администратора и создать новый API-ключ для вашей компании.

Настройка API-ключей из панели администратора

В этом разделе вы узнаете, как настроить профиль и API-ключ из панели.
🧭 Важно: Без действующего и активного API-ключа вы не сможете аутентифицироваться на уровне компании или выполнять защищённые операции.
После создания и активации API-ключ появится в массиве validApiKeys и может быть использован для генерации токена уровня компании.

🔁 Токен компании

После определения компании, с которой вы хотите работать, необходимо повторно аутентифицироваться для генерации токена уровня компании. Обычно это требуется для защищённых действий, таких как отправка уведомлений или загрузка медиа. Вы будете использовать ранее полученный key в параметрах запроса или заголовках, в зависимости от эндпоинта.