API: Como criar e atualizar usuários

Atualizado por Larson Guimarães

A API do Learning.Rocks dispõe de endpoints para a criação e atualização de usuários. Clicando aqui você pode acessar a collection completa de users.

Como criar usuários

Para criar um usuário, é necessário enviar um comando POST para a seguinte URL: https://knowledge.skore.io/workspace/v1/users

No momento da criação, algumas informações são obrigatórias, enquanto outras são opcionais.

As informações obrigatórias que devem constar no body da requisição são:

  • name: Nome do usuário na plataforma;
  • email: campo identificador preenchido com o e-mail do usuário;
  • username: Campo identificador alternativo, que pode ser preenchido com qualquer informação, desde que exclusiva e não repetida entre os usuários (ex.: CPF ou matrícula da empresa).
É obrigatório o preenchimento de ao menos um dos campos identificadores (e-mail ou username).

Além das informações obrigatórias, existem outros campos do perfil que podem ser preenchidos conforme a necessidade do projeto:

  • password: Senha de acesso à plataforma, que pode ser alterada após o primeiro login.
    • Se não for preenchido, o usuário deverá acessar via SSO ou clicar em “Esqueci minha senha” para redefinir a senha por e-mail.
  • role: Define a permissão do usuário — pode ser student, expert ou admin.
    • Se não for preenchido, o usuário será criado com a permissão padrão student.
  • language: Define o idioma da plataforma para o usuário — pode ser en-US, pt-BR ou es-ES.
    • Se não for preenchido, será considerado o idioma padrão do ambiente.
  • leaders: Define quem são os líderes do usuário, que terão acesso aos relatórios de uso do liderado.
    • Um usuário pode ter múltiplos líderes.
    • São aceitos como identificadores: id, email ou username.
    • É possível enviar os três tipos de identificadores na mesma requisição.
  • metadata: define os metadados do usuário. Para preencher esses dados, é importante que o metadado já esteja previamente criado no Gestor de Dados da plataforma.
    O envio deve ser feito em formato JSON ou string, listando o nome do metadado e, na sequência, seu valor.

É importante enviar o nome do metadado sempre em caixa baixa, sem acentuação e com “_” no lugar de espaços.

Exemplo: "metadata": {"cpf": "00000000000", "cargo": "analyst", "departamento": "product", "filial": "são paulo", "data_de_admissao": "01/01/2024"}

  • team_ids: Definição de quais times o usuário fará parte. É necessário identificar o time pelo seu id, que pode ser obtido com um “Get All Teams”, presente na collection de Teams, ou então nos relatórios da plataforma. Exemplo: “team_ids”: [12546, 58795]

Exemplo de body para a criação de um usuário:

Se a criação ocorrer corretamente, você receberá o retorno “200 OK”, e uma response com detalhes da criação e informações do usuário, conforme exemplo abaixo:

Como atualizar usuários

Abaixo estão descritos os comandos que podem ser utilizados para atualizar usuários. Entretanto, nem todos os campos precisam (ou devem) ser enviados em todas as requisições. Envie apenas os campos que você deseja atualizar, pois os comandos seguem uma lógica de sobrescrita de informações.

Se você não deseja alterar o valor de um campo, não o inclua no body da requisição. Caso envie o campo com valor vazio, como no exemplo abaixo:

  • “username”: “”,

A API interpretará que o campo deve ser apagado, deixando o valor em branco — e não que você deseja mantê-lo inalterado.

Para atualizar um usuário, é necessário enviar um comando PATCH para a seguinte URL: https://knowledge.skore.io/workspace/v1/users/30386

O último número da URL corresponde ao ID do usuário na plataforma LXM. Esse ID pode ser obtido de três maneiras:

As informações que podem ser atualizadas no perfil de um usuário são:

  • name: nome do usuário na plataforma;
  • email: campo identificador preenchido com o e-mail do usuário;
  • username: campo identificador alternativo, que pode ser preenchido com qualquer informação, desde que exclusiva e não repetida entre os usuários (ex.: CPF ou matrícula da empresa);
  • password: senha de acesso à plataforma, que pode ser alterada após o login;
  • active: status do usuário na plataforma — utilizado para inativar ou reativar usuários.
    • false → usuário inativo;
    • true → usuário ativo;
  • role: permissão do usuário. Pode ser student, expert ou admin;
  • language: define o idioma da plataforma para o usuário. Pode ser en-US, pt-BR ou es-ES;
  • leaders: define quem são os líderes do usuário, que terão acesso aos relatórios de uso do liderado.
    • Um usuário pode ter múltiplos líderes;
    • São aceitos como identificadores: id, email ou username.
Se for enviado o comando "leaders": [] (em branco), todos os líderes atuais serão removidos e o usuário ficará sem líderes na plataforma.
  • metadata: define os metadados do usuário.
    • É importante que os metadados já estejam criados no Gestor de Dados da plataforma;
    • O envio deve ser feito em formato JSON ou string, listando o metadado e seu respectivo valor;
    • O nome do metadado deve ser enviado em caixa baixa, sem acentuação e com “_” no lugar de espaços.

Exemplo: "metadata": {"cpf": "00000000000", "cargo": "analyst", "departamento": "product", "filial": "são paulo", "data_de_admissao": "01/01/2024"}

Se você enviar o valor de um metadado como: “” (em branco), o valor atual será removido. Se você não listar um dos metadados que o usuário possui, ele não será alterado. Exemplo: se desejo alterar o valor de cargo, remover o valor departamento e não alterar o valor do cpf, filial e data de admissão, o envio deve ser: "metadata": { "cargo": "coordinator", "departamento": ""}; 
  • Team_ids: Define os times dos quais o usuário fará parte. É necessário identificar cada time pelo seu ID, que pode ser obtido por meio de um “Get All Teams” (disponível na collection “Teams”) ou nos relatórios da plataforma. Exemplo: “team_ids”: [12546, 58795]
Se o usuário estiver no time de id=1234, e você deseja também adicioná-lo no time de id=4321, é necessário enviar o time atual e o novo, como: “team_ids”: [1234, 4321]. Se for enviado apenas o novo, como: “team_ids”: [4321], o usuário será removido do time atual de id=1234, permanecendo apenas no time novo de id=4321.

Exemplo de body para a atualização de um usuário:

Se a atualização ocorrer corretamente, você receberá o retorno “200 OK”, e uma response com detalhes da atualização e informações do usuário, conforme exemplo abaixo:


O que você achou desse artigo? Gostou?


Powered by HelpDocs (opens in a new tab)