Skip to content

Usuários (Gestão)

Este módulo permite aos administradores da conta gerenciar quem tem acesso ao sistema, atribuindo papéis e controlando o status dos colaboradores.


Listar Usuários

[GET] /manager/users

Retorna todos os usuários associados à conta ativa.

Query Params

NomeTipoDescrição
searchstringBusca por nome ou e-mail do usuário.
per_pageintegerItens por página (padrão 15).
pageintegerPágina atual.

Response (200 OK)

json
{
  "data": [
    {
      "id": 1,
      "user_id": 5,
      "account_id": 10,
      "user": {
        "id": 5,
        "name": "Colaborador de Teste",
        "email": "colaborador@exemplo.com",
        "phone": "11900000000",
        "document": "12345678901",
        "status": "active"
      },
      "role": {
        "id": 2,
        "name": "gerente"
      },
      "created_at": "2024-12-10T10:00:00.000000Z",
      "updated_at": "2024-12-10T10:00:00.000000Z"
    }
  ],
  "meta": { "total": 5, "page": 1, "limit": 15 },
  "message": "Lista de usuários recuperada com sucesso!"
}

Criar Usuário (Convidar)

[POST] /manager/users

Cria um novo usuário e o vincula à conta com um papel específico. Se o e-mail não existir na base global, um novo cadastro é sugerido ou o convite é enviado.

Request Body

json
{
  "name": "Ana Souza",
  "email": "ana@empresa.com",
  "role_id": 2,
  "password": "senha_temporaria",
  "password_confirmation": "senha_temporaria"
}

Response (201 Created)

json
{
  "data": {
    "id": 2,
    "user_id": 8,
    "account_id": 10,
    "user": {
      "id": 8,
      "name": "Ana Souza",
      "email": "ana@empresa.com"
    },
    "role": { "id": 2, "name": "gerente" },
    "created_at": "2024-12-26T17:55:00.000000Z",
    "updated_at": "2024-12-26T17:55:00.000000Z"
  },
  "message": "Usuário criado com sucesso!"
}

Detalhes do Usuário

[GET] /manager/users/{id}

Retorna os detalhes de um usuário específico da conta.

Response (200 OK)

json
{
  "data": {
    "id": 1,
    "user_id": 5,
    "user": {
      "name": "Colaborador de Teste",
      "email": "colaborador@exemplo.com"
    },
    "role": { "name": "gerente" }
  },
  "message": "Detalhes do usuário recuperado com sucesso!"
}

Atualizar Usuário

[PUT] /manager/users/{id}

Atualiza os dados ou o papel de um usuário na conta.

Request Body

json
{
  "name": "Ana Souza Silva",
  "role_id": 1
}

Response (200 OK)

json
{
  "data": {
    "id": 2,
    "user": { "name": "Ana Souza Silva" },
    "role": { "name": "admin" }
  },
  "message": "Usuário atualizado com sucesso!"
}

Excluir Usuário (Remover da Conta)

[DELETE] /manager/users/{id}

Remove o vínculo do usuário com a conta. O usuário global permanece existindo, mas perde acesso aos dados desta conta específica.

Response (200 OK)

json
{
  "message": "Usuário removido da conta com sucesso!"
}

Listar Papéis (Roles) Disponíveis

[GET] /manager/guard/roles

Retorna a lista de papéis que podem ser atribuídos a usuários na conta.

Response (200 OK)

json
[
  { "id": 1, "name": "admin", "label": "Administrador" },
  { "id": 2, "name": "gerente", "label": "Gerente" },
  { "id": 3, "name": "vendedor", "label": "Vendedor" }
]

(Nota: O campo label pode variar conforme a tradução)

Documentação para Desenvolvedores