👤 Usuários

👤 Users

Gerencie usuários via API pública.

Todos os endpoints exigem:

  • Authorization: Bearer {token}
  • X-Requested-With: XMLHttpRequest
  • Content-Type: application/json

Recursos do plano necessários:

  • Public API – Create User
  • Public API – Update User
  • Public API – Delete User
  • Public API – Reset User Password
  • Public API – Get User Last Activity

➕ Criar usuário

POST /users

Body

{
  "email": "[email protected]",
  "full_name": "Ana Silva",
  "password": "StrongP@ssw0rd",
  "phone": "+55 11 99999-0000"
}

200

{ "message": "Usuário criado com sucesso" }

✏️ Atualizar usuário

PATCH /users

Identifica o usuário por email e atualiza os demais campos.

Body

{
  "email": "[email protected]",
  "first_name": "Ana",
  "last_name": "Silva",
  "username": "ana.silva",
  "document": "123.456.789-00",
  "phone": "+55 11 98888-7777",
  "full_name": "Ana Carla Silva"
}

200

{ "message": "Usuário atualizado com sucesso" }

🗑️ Deletar usuário

DELETE /users

Body

{ "email": "[email protected]" }

200

{ "message": "Usuário deletado com sucesso" }

🔐 Redefinir senha

POST /users/reset-password

Envia o e-mail de redefinição e retorna a URL gerada (reset_url).

Body

{ "email": "[email protected]" }

200

{
  "message": "Password reset link sent successfully",
  "reset_url": "https://sua-plataforma.ensinio.cloud/password/reset/eyJ0b2tlbiI6..."
}

Erros comuns

  • 400 — validação (e.g. email inválido)
  • 401 — token ausente/inválido
  • 403 — feature desabilitada no plano
  • 404 — usuário não encontrado
  • 429 — rate limit
  • 500 — erro inesperado

🕘 Última atividade do usuário

GET /users/last-activity?email={email}

Retorna os dados básicos do usuário e a atividade mais recente registrada por ele
(qualquer tipo — não apenas login).

O e-mail vai na query string e deve estar codificado para URL (por exemplo, + vira %2B).

200

{
  "data": {
    "user": {
      "first_name": "Ana",
      "last_name": "Silva",
      "email": "[email protected]",
      "phone": "+55 11 99999-0000"
    },
    "last_activity": {
      "type": "session",
      "date": "2026-09-15T14:03:21.000000Z"
    }
  }
}

Quando last_activity.type é visit_lesson, a resposta também inclui group e lesson:

{
  "last_activity": {
    "type": "visit_lesson",
    "date": "2026-09-15T14:03:21.000000Z",
    "group": { "name": "Turma de Matemática" },
    "lesson": { "name": "Aula 1 - Frações" }
  }
}

Tipos possíveis de last_activity.type: session (login), visit_community,
visit_community_space, visit_classwork, visit_lesson, claim_shop_reward,
view_group_material.

Erros comuns

  • 401 — token ausente/inválido
  • 403 — feature desabilitada no plano
  • 404 — usuário não tem nenhuma atividade registrada
  • 422 — email ausente, inválido ou sem usuário correspondente