Fluxo de integração de Grupos

Este fluxo visa o gerenciamento de grupos na plataforma Gupy Educação Corporativa através da API

Grupos são coleções de usuários e tem por finalidade facilitar a separação de permissões de acesso ao conteúdo disponível dentro da Gupy Educação Corporativa. O caso mais comum é a utilização de grupos para especificar quais usuários terão acesso a uma determinada campanha.

Cadastrando Grupos:

Para cadastrar um usuário temos os seguintes campos disponíveis para envio:

Nome do campoDescriçãoObrigatório/regra de negócio
namenome do grupoObrigatório
descriptiondescrição do grupoOpcional

Início do Fluxo

  1. Acesse o endpoint Cadastrar Grupo.
  2. Preencha o campo obrigatório “name” e opcionalmente acrescente uma descrição para o grupo.
  3. Passe o token de acesso no parâmetro secret e clique em “Try it!”

Exemplo de requisição:

curl --request POST \
     --url 'https://core.api.niduu.com/integrate/groups?secret=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "name": "Administradores",
  "description": "Admin com acesso full"
}
'

Listando grupos:

  1. Acesse o endpoint Listar Grupos, passando no parâmetro q o nome do grupo ou não passe nenhum parâmetro e obtenha a lista completa de grupos cadastrados.
  2. Passe o token de acesso no parâmetro secret e clique em “Try it!”

Atualizando grupos:

  1. Recupere o id dos grupos através do endpoint Listar Grupos e acesse o endpoint Atualizar Grupo;
  2. Coloque o id no parâmetro respectivo e faça as alterações necessárias no nome e/ou descrição, sendo a alteração de nome obrigatória.
  3. Passe o token de acesso no parâmetro secret e clique em “Try it!”

Exemplo de requisição:

curl --request PUT \
     --url 'https://core.api.niduu.com/integrate/groups/31292/?secret=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "name": "Teste"
}
'

Exemplo de response:

{
  "id": 31292,
  "name": "Teste 1",
  "description": "esse é um grupo teste",
  "created_at": "2023-06-22T19:18:49.971587Z",
  "created_at_i18n": "22/06/2023 19:18"
}

Excluindo grupos (A exclusão é permanente e irreversível)

  1. Recupere o id dos grupos através do endpoint Listar Grupos, é possível procurar seu id passando no parâmetro q o nome do grupo;
  2. Acesse o endpoint Excluir Grupo e preencha o parâmetro group_id;
  3. Passe o token de acesso no parâmetro secret e clique em “Try it!”

Exemplo de requisição:

curl --request DELETE \
     --url 'https://core.api.niduu.com/integrate/groups/31292/?secret=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'

❗️

Atenção:

Se a deleção do grupo implicar na remoção de colaboradores, a request inicial falhará. Para prosseguir será necessário reenviar a solicitação de exclusão com o cabeçalho (header) HTTP confirmation-code recebido na resposta da primeira request.

Exemplo de response:

{
  "detail": "This action will REMOVE 2 users who are already in this group. Do you confirm these deletions?",
  "confirmation_code": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}

Refaça a requisição passando o confirmation_code nos headers

Adicionando pessoas usuárias a um grupo:

  1. Recupere o id das pessoas usuárias através do endpoint Listar Usuários, é possível procurar seu id passando no parâmetro q seu nome, cpf ou e-mail;
  2. Recupere o id dos grupos através do endpoint Listar Grupos, é possível procurar seu id passando no parâmetro q o nome do grupo;
  3. Acesse o endpoint Adicionar Membro a um Grupo e preencha o parâmetro id com o id da pessoa usuária e o group_id com o id do grupo que a pessoa será inserida;
  4. Passe o token de acesso no parâmetro secret e clique em “Try it!”

Exemplo de requisição:

curl --request POST \
     --url 'https://core.api.niduu.com/integrate/groups/31292/members/?secret=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'\
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '{"id":677685}'

Visão geral de pessoas e grupos:

Para ver grupos em que uma pessoa usuária está inserida:

  1. Recupere o id das pessoas usuárias através do endpoint Listar Usuários, é possível procurar seu id passando no parâmetro q seu nome, cpf ou e-mail;
  2. Acesse o endpoint Listar Grupos de um Usuário e insira o id do usuário em seu respectivo parâmetro;
  3. Passe o token de acesso no parâmetro secret e clique em “Try it!”

Exemplo de requisição de busca pelo usuário utilizando o nome no parâmetro "q":

curl --request GET \
     --url 'https://auth.api.niduu.com/integrate/users?secret=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX&q=mariana' \
     --header 'accept: application/json'

Exemplo de response:

 {
      "id": 677685,
      "metadata": null,
      "is_pre_registration": true,
      "mobile_internet_allowed": true,
      "times_allowed": null,
      "created_at": "2023-06-21T18:57:11.668154Z",
      "created_at_i18n": "21/06/2023 18:57",
      "blocked": false,
      "name": "Mariana",
      "short_name": "Mariana",
      "nin": null,
      "email": "[email protected]",
      "id_number": null,
      "birth_date": "1990-12-12",
      "birth_date_i18n": "12/12/1990"
    }
  ]
}

Exemplo de requisição Listando Grupos que o usuário está inserido:

curl --request GET \
     --url 'https://core.api.niduu.com/integrate/groups_of/677685/?secret=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' \
     --header 'accept: application/json'

Exemplo de response:

{
  "next_cursor": null,
  "prev_cursor": null,
  "results": [
    {
      "id": 31292,
      "name": "Teste",
      "description": "esse é um grupo teste",
      "created_at": "2023-06-22T19:18:49.971587Z",
      "created_at_i18n": "22/06/2023 19:18"
    }
  ]
}

Para ver membros de um grupo:

  1. Recupere o id do grupo através do endpoint Listar Grupos, é possível procurar seu id passando no parâmetro q o nome do grupo;
  2. Acesse o endpoint Listar Membros de um Grupo;
  3. Insira o id do grupo no respectivo campo;
  4. Passe o token de acesso no parâmetro secret e clique em “Try it!”

Exemplo de requisição buscando o id do grupo passando o parâmetro "q" com o nome do grupo.

curl --request GET \
     --url 'https://core.api.niduu.com/integrate/groups?secret=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX&q=teste' \
     --header 'accept: application/json'

Exemplo de response:

{
  "next_cursor": null,
  "prev_cursor": null,
  "results": [
    {
      "id": 31292,
      "name": "Teste",
      "description": "esse é um grupo teste",
      "created_at": "2023-06-22T19:18:49.971587Z",
      "created_at_i18n": "22/06/2023 19:18"
    },

Exemplo de requisição para ver membros do grupo:

curl --request GET \
     --url 'https://core.api.niduu.com/integrate/groups/31292/members/?secret=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' \
     --header 'accept: application/json'

Exemplo de response:

{
  "next_cursor": null,
  "prev_cursor": null,
  "results": [
    {
      "id": 677685,
      "name": "Mariana",
      "nin": null,
      "email": "[email protected]"
    },

Principais dúvidas:

  1. Podemos fazer a carga por grupos de diretoria e depois dentro da Gupy criar outros grupos também?

Sim, é possível, também é possível fazer a criação/gestão de grupos via interface https://niduu.com/admin/groups/list