Skip to content

Usuários do Blog

O módulo de usuários do blog permite o gerenciamento de contas independentes da tabela principal de usuários do sistema. Cada blog possui seu próprio conjunto de usuários, garantindo o isolamento de dados através do cabeçalho X-Blog-Id.

Por que usar usuários do blog?

Diferente dos usuários do workspace, os usuários do blog são focados em autoria e gestão de conteúdo. Isso permite que você tenha colaboradores específicos para cada blog sem misturar as credenciais administrativas da plataforma principal.

Autenticação

A autenticação é baseada em tokens Bearer. Para realizar a maioria das operações, você precisará obter um token de acesso.

Login

Autentica um usuário e retorna um token de acesso de 30 dias.

http
POST /v1/blog/users/public/login

Parâmetros do Body

NomeTipoObrigatórioDescrição
emailstringSimO endereço de e-mail do usuário.
passwordstringSimA senha da conta.

Exemplo de Requisição

bash
curl -X POST https://api.us.basis.tavares.in/v1/blog/users/public/login \
  -H "Content-Type: application/json" \
  -H "X-Blog-Id: seu-blog-id" \
  -d '{
    "email": "autor@exemplo.com",
    "password": "sua-senha-segura"
  }'

Resposta de Sucesso 200 OK

json
{
  "type": "bearer",
  "name": "c3369c6e-63b2-4650-adf3-0b5e33bbd7ea",
  "token": "oat_Mw.NXctOThpazQ4VGY3UlNKZW94Q0dobTVwa1QyWW5LcUxnSHkwdDVZaTE3MjI3NDUyMzg",
  "abilities": ["*"],
  "lastUsedAt": null,
  "expiresAt": "2026-04-24T17:51:47.296Z"
}

Resposta de Erro 422 Unprocessable Entity

json
{
  "errors": [
    { "message": "Usuário não encontrado" }
  ]
}

Logout

Invalida o token de acesso atual do usuário.

http
POST /v1/blog/users/logout

Parâmetros do Body

NomeTipoObrigatórioDescrição
identifierstringSimO identificador do token (campo name retornado no login).

Recuperação de Senha

Processo público para usuários que esqueceram suas credenciais.

Esqueci minha senha

Envia um código de redefinição para o e-mail informado, caso o blog possua um serviço de e-mail configurado.

http
POST /v1/blog/users/public/forgot-password

Parâmetros do Body

NomeTipoObrigatórioDescrição
emailstringSimE-mail da conta para recuperação.

Redefinir Senha

Utiliza o código recebido por e-mail para definir uma nova senha.

http
POST /v1/blog/users/public/reset-password

Parâmetros do Body

NomeTipoObrigatórioDescrição
emailstringSimE-mail da conta.
codestringSimCódigo de 7 caracteres recebido por e-mail.
passwordstringSimA nova senha (mínimo 8 caracteres).

Gerenciamento de Perfil

Estes endpoints permitem que o usuário autenticado gerencie seus próprios dados.

Obter Dados da Conta

Retorna os detalhes do usuário atualmente autenticado.

http
GET /v1/blog/users/account

Resposta de Sucesso 200 OK

json
{
  "id": 6,
  "firstName": "Gerson",
  "lastName": "Tavares",
  "email": "gerson_tavares@gmail.com",
  "role": "admin",
  "blogImage": {
    "id": 5,
    "uri": "https://..."
  }
}

Atualizar Perfil

Atualiza as informações pessoais e sociais do perfil.

http
PUT /v1/blog/users/account

Parâmetros do Body

NomeTipoObrigatórioDescrição
firstNamestringSimPrimeiro nome.
lastNamestringSimSobrenome.
emailstringSimE-mail (deve ser único).
blogImageIdnumberNãoID da imagem de perfil.
biostringNãoBreve biografia do autor.
twitterXstringNãoLink do perfil no Twitter/X.
instagramstringNãoLink do perfil no Instagram.

Alterar Senha Própria

Altera a senha do usuário logado de forma direta.

http
PATCH /v1/blog/users/change-password

Parâmetros do Body

NomeTipoObrigatórioDescrição
passwordstringSimNova senha desejada.

Endpoints Administrativos

Restrição de Acesso

Estes endpoints exigem que o usuário autenticado possua a role admin. Caso contrário, a API retornará 406 Not Acceptable.

Listar Usuários

Retorna uma lista paginada de todos os usuários do blog.

http
GET /v1/blog/users

Parâmetros de Query

NomeTipoObrigatórioDescrição
searchstringNãoFiltra por nome ou e-mail.
pagenumberNãoNúmero da página (Default: 1).
perPagenumberNãoItens por página (Default: 10).

Criar Novo Usuário

Cadastra um novo colaborador no blog.

http
POST /v1/blog/users

Parâmetros do Body

NomeTipoObrigatórioDescrição
firstNamestringSimNome do usuário.
lastNamestringSimSobrenome do usuário.
emailstringSimE-mail único no blog.
passwordstringSimSenha inicial.
roleenumSimadmin ou user.
isActivebooleanNãoDefine se a conta inicia ativa (Default: true).

Obter Detalhes de Usuário

Busca os dados completos de um usuário específico pelo ID.

http
GET /v1/blog/users/:id

Atualizar Usuário

Atualiza os dados de qualquer usuário do blog.

http
PUT /v1/blog/users/:id

Ativar/Desativar Usuário

Atalho para alterar rapidamente o status de acesso de um usuário.

http
PATCH /v1/blog/users/:id/change-active

Parâmetros do Body

NomeTipoObrigatórioDescrição
isActivebooleanSimNovo status da conta.

Remover Usuário

Remove permanentemente um usuário (Soft Delete).

http
DELETE /v1/blog/users/:id

Resposta de Sucesso 204 No Content


Utilitários

Listagem Simplificada

Retorna uma lista simplificada para preenchimento de componentes de seleção (Dropdowns).

http
GET /v1/blog/users/list

Resposta de Sucesso 200 OK

json
[
  { "value": "6", "label": "john@exemplo.com" },
  { "value": "5", "label": "johndoe@gmail.com" }
]