Saltar para o conteúdo principal

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.

Introdução

Esta seção fornece a documentação oficial para autenticação com nossa API via Postman. Inclui instruções detalhadas sobre o processo de autenticação, métodos suportados e boas práticas para garantir acesso seguro à API.

🔑 Autenticação

Para acessar qualquer endpoint da API da Lovi, você deve primeiro se autenticar e obter um token de acesso usando seu email e senha. Este token deve ser incluído no header Authorization de todas as requisições subsequentes. Rotação de Tokens: Recomendamos rotacionar tokens periodicamente e armazená-los de forma segura.
Método: POST Formato: JSON

Endpoint

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

Parâmetros de Query

ParâmetroObrigatórioValor FixoDescrição
grant_typeSimpasswordIndica que você está usando autenticação via email e senha. Este é atualmente o único método suportado.

Headers da Requisição

Informe ao servidor o tipo de conteúdo que você está enviando:
ChaveValorDescrição
Content-Typeapplication/jsonIndica que o corpo da requisição está em formato JSON.

Corpo da Requisição

É aqui que você fornece suas credenciais pessoais (seu email e senha):
{
  "email": "seu-email@exemplo.com",
  "password": "sua-senha-segura"
}
Você deve substituir:

Resposta

O servidor responderá com um token que você precisará para autenticação em futuras chamadas da API. A resposta será assim:
{
    "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": "seu-email@exemplo.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": "Sua-Empresa"
        },
        "identities": [
            {
                "identity_id": "23b66c68-ce37-4483-8470-67e08e21a61e",
                "id": "3b601fa8-49fd-4a8c-af8c-b30601410975",
                "user_id": "3b601fa8-49fd-4a8c-af8c-b30601410975",
                "identity_data": {
                    "email": "seu-email@exemplo.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": "seu-email@exemplo.com"
            }
        ],
        "created_at": "2025-01-16T18:45:09.956743Z",
        "updated_at": "2025-04-09T09:59:00.192243Z",
        "is_anonymous": false
    }
}
⚠️ Salve seu access_token — você vai usá-lo para interagir com o restante da API.

🧭 Recuperar Chaves de API da Empresa

Método: POST Formato: JSON

Endpoint

POST https://cloud.lovi.ai/functions/v1/api_keys
Headers
ParâmetroExemploObrigatórioDescrição
AuthorizationBearer your-access-tokenSimEste header é usado para autenticar a requisição. Contém um token Bearer recebido após o login.

Resposta

Cada objeto dentro do array validApiKeys representa uma chave de API associada a uma empresa específica. Os campos incluídos são:
  • company_id: Identificador único da empresa proprietária da chave de API.
  • key: A chave de API em si, usada para autenticar requisições.
  • is_active: Valor booleano indicando se a chave está atualmente ativa (true) ou inativa (false).
  • last_used: Timestamp da última vez que a chave foi usada. Se a chave nunca foi usada, o valor será null.
  • company_name: Nome da empresa associada à chave de API, útil para exibição em interfaces ou logs.
Aqui está um exemplo:
{
    "validApiKeys": [
        {
            "company_id": "your_company_id",
            "key": "your_key",
            "is_active": true,
            "last_used": null,
            "company_name": "your_company_name"
        }
    ]
}

⚠️ Nenhuma Chave de API Encontrada

Se a resposta retornar um array validApiKeys vazio, significa que nenhuma chave de API foi criada ainda para sua empresa. Exemplo:
{
    "validApiKeys": []
}
Neste caso, você deve ir ao Painel de Administração e criar uma nova chave de API para sua empresa.

Configurando chaves de API a partir do 'Painel de Administração'

Nesta seção, você verá como configurar o perfil e também como configurar a chave de API a partir do painel.
🧭 Importante: Sem uma chave de API válida e ativa, você não poderá se autenticar no nível da empresa ou realizar operações protegidas.
Uma vez que a chave de API é criada e ativa, ela aparecerá no array validApiKeys e pode ser usada para gerar um token no nível da empresa.

🔁 Token por Empresa

Uma vez que você identifique com qual empresa deseja trabalhar, deve se autenticar novamente para gerar um token no nível da empresa. Isso geralmente é necessário para ações protegidas como envio de notificações ou upload de mídia. Você usará a key recuperada anteriormente nos seus parâmetros de query ou headers, dependendo do endpoint.