Skip to content

Autenticação e Perfil

Este módulo gerencia o acesso ao sistema, registro de novos usuários e a manutenção do perfil do usuário autenticado.


[GET] /

Endpoint de verificação do módulo de acesso.

Response (200 OK)

json
"access"

Registro de Usuários

[POST] /register

Realiza o cadastro simplificado de um novo usuário.

Request Body

json
{
  "name": "Novo Usuário",
  "email": "novo@exemplo.com",
  "password": "senha123",
  "password_confirmation": "senha123"
}

Response (201 Created)

json
{
  "message": "Usuário registrado com sucesso!",
  "user": {
    "id": 10,
    "name": "Novo Usuário",
    "email": "novo@exemplo.com",
    "created_at": "2024-12-26T17:30:00.000000Z"
  }
}

[POST] /register-full

Realiza o cadastro completo de um usuário "Master", incluindo dados da conta/empresa.

Request Body

json
{
  "name": "Empresário Exemplo",
  "email": "master@empresa.com",
  "document": "12345678000199",
  "password": "senha_segura",
  "account_name": "Minha Empresa LTDA"
}

Gestão de Acesso (API & Login)

[POST] /auth/login

Autentica um usuário e retorna um Bearer Token (Sanctum).

Variante 1: Login Web (Dashboard)POST /auth/login com device_name: "dashboard_sass"

Response (200 OK)

json
{
  "token": "1|abc123token...",
  "session_duration": 240,
  "expires_at": "2024-12-27 12:00:00",
  "user": {
    "id": 1,
    "name": "Admin",
    "email": "admin@fastgivemoney.com",
    "email_verified_at": "2024-01-01 10:00:00",
    "status": "active"
  },
  "roles": [
    { "id": 1, "name": "admin", "permissions": [] }
  ]
}

[POST] /account/get-token

Gera um token de curta duração (10 min) para acesso via API externa utilizando as credenciais da conta.

Request Body

json
{
  "email": "usuario@exemplo.com",
  "token": "ACCOUNT_STATIC_TOKEN"
}

Response (200 OK)

json
{
  "success": true,
  "data": {
    "token": "2|apiKeyToken...",
    "token_type": "Bearer",
    "expires_at": "2024-12-26T17:40:00+00:00",
    "permissions": [
      { "id": 1, "name": "view-charges", "guard_name": "web" }
    ]
  },
  "message": "Autenticado com sucesso"
}

Perfil e Sessão (Autenticado)

[GET] /auth/me

Retorna os dados do usuário logado e da conta ativa no contexto da sessão.

Response (200 OK)

json
{
  "account": {
    "id": 5,
    "name": "Minha Conta",
    "email": "conta@exemplo.com",
    "document": "12345678000199",
    "agency": "0001",
    "account": "12345",
    "status": "active"
  },
  "user": {
    "id": 1,
    "name": "Usuário Teste",
    "email": "teste@exemplo.com",
    "phone": "11988887777"
  },
  "permissions": [
    { "id": 1, "name": "charges.index", "slug": "listar-cobrancas" }
  ],
  "role": { "id": 2, "name": "gerente", "guard_name": "web" },
  "accounts": [
    {
      "account": { "id": 5, "name": "Minha Conta" },
      "role": { "id": 2, "name": "gerente" }
    }
  ]
}

[PUT] /auth/edit

Atualiza os dados cadastrais do usuário autenticado.

Request Body

json
{
  "name": "Nome Atualizado",
  "phone": "11900000000",
  "current_password": "SUA_SENHA_ATUAL",
  "new_password": "NOVA_SENHA_OPCIONAL",
  "new_password_confirmation": "NOVA_SENHA_OPCIONAL"
}

Response (200 OK)

json
{
  "success": true,
  "data": {
    "id": 1,
    "name": "Nome Atualizado",
    "email": "teste@exemplo.com",
    "phone": "11900000000",
    "email_verified_at": "..."
  },
  "message": "Usuário atualizado com sucesso"
}

[POST] /auth/logout

Invalida o token de acesso atual.

Response (200 OK)

json
{
  "message": "Successfully logged out"
}

Verificação e Segurança

[POST] /auth/send-verification-code

Envia um código de 6 dígitos para o e-mail do usuário para fins de verificação.

Request Body

json
{
  "email": "teste@exemplo.com"
}

Response (200 OK)

json
{
  "success": true,
  "data": null,
  "message": "Código de verificação enviado com sucesso"
}

[POST] /auth/verify-email

Valida o código de verificação recebido por e-mail.

Request Body

json
{
  "email": "teste@exemplo.com",
  "verification_code": "123456"
}

Response (200 OK)

json
{
  "message": "E-mail verificado com sucesso!"
}

[POST] /auth/forgot

Inicia o fluxo de recuperação de senha.

Request Body

json
{
  "email": "teste@exemplo.com"
}

Response (200 OK)

json
{
  "message": "E-mail de recuperação enviado."
}

[POST] /account/pin

Atualiza o PIN de segurança da conta.

Request Body

json
{
  "pin": "1234",
  "current_pin": "0000"
}

(Response 200 OK ou 401)

Documentação para Desenvolvedores