Documentação da API do servidor Loomio

/api/b3 serve para operações no nível do servidor. Use /api/b2 para ações voltadas ao usuário, realizadas com uma conta de usuário do Loomio.

Autenticação

Defina B3_API_KEY como um segredo com mais de 16 caracteres.

Envie a chave como um token bearer:

curl -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users

Envie as credenciais somente no cabeçalho Authorization. Chaves de API em strings de consulta ou no corpo das requisições são rejeitadas.

Objeto de usuário

As respostas de usuário usam esta estrutura:

{
  "id": 123,
  "name": "Ada Lovelace",
  "username": "ada",
  "email": "ada@example.org",
  "active": true,
  "deactivated_at": null,
  "identities": [
    {
      "id": 456,
      "identity_type": "oauth",
      "uid": "external-123",
      "email": "ada@example.org",
      "name": "Ada Lovelace"
    }
  ]
}

Listar usuários

Liste todas as contas de usuário da instalação do Loomio.

GET /api/b3/users

Exemplo

curl -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users

Retorna:

{
  "users": []
}

Exibir usuário

Encontre um usuário pelo seu ID de usuário do Loomio ou pela sua identidade externa.

GET /api/b3/users/:id

GET /api/b3/users/identity/:identity_type/:uid

Exemplos

Pelo ID de usuário do Loomio:

curl -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/123

Pela identidade externa:

curl -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/identity/oauth/external-123

Retorna:

{
  "user": {}
}

Atualizar usuário

Atualize os campos do perfil de um usuário encontrado pelo seu ID de usuário do Loomio ou pela sua identidade externa.

PATCH /api/b3/users/:id

PATCH /api/b3/users/identity/:identity_type/:uid

Parâmetros

Campo Descrição
name Nome de exibição
username Nome de usuário do Loomio
email Endereço de e-mail

Exemplos

Pelo ID de usuário do Loomio:

curl -X PATCH \
  -H 'Authorization: Bearer YOUR_SERVER_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"user":{"name":"Ada Lovelace","username":"ada","email":"ada@example.org"}}' \
  https://www.loomio.com/api/b3/users/123

Pela identidade externa:

curl -X PATCH \
  -H 'Authorization: Bearer YOUR_SERVER_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"user":{"name":"Ada Lovelace","username":"ada","email":"ada@example.org"}}' \
  https://www.loomio.com/api/b3/users/identity/oauth/external-123

Retorna o usuário atualizado:

{
  "user": {}
}

Desativar usuário

Desative uma conta de usuário encontrada pelo seu ID de usuário do Loomio ou pela sua identidade externa.

POST /api/b3/users/:id/deactivate

POST /api/b3/users/identity/:identity_type/:uid/deactivate

Exemplos

Pelo ID de usuário do Loomio:

curl -X POST -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/123/deactivate

Pela identidade externa:

curl -X POST -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/identity/oauth/external-123/deactivate

Retorna:

{
  "success": true,
  "user": {}
}

Reativar usuário

Reative uma conta de usuário desativada localizada pelo ID de usuário do Loomio ou pela identidade externa.

POST /api/b3/users/:id/reactivate

POST /api/b3/users/identity/:identity_type/:uid/reactivate

Exemplos

Pelo ID de usuário do Loomio:

curl -X POST -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/123/reactivate

Pela identidade externa:

curl -X POST -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/identity/oauth/external-123/reactivate

Retorna:

{
  "success": true,
  "user": {}
}

Remover dados pessoais do usuário

A remoção de dados pessoais mantém os comentários do usuário e outros conteúdos criados por ele em seus grupos, mas remove informações conhecidas que permitem identificá-lo, como nome, biografia, foto de perfil, endereço de e-mail, credenciais de acesso, identidades e sessões ativas.

Esta é a forma recomendada de remover um usuário do Loomio.

POST /api/b3/users/:id/redact

POST /api/b3/users/identity/:identity_type/:uid/redact

Exemplos

Pelo ID de usuário do Loomio:

curl -X POST -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/123/redact

Pela identidade externa:

curl -X POST -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/identity/oauth/external-123/redact

Retorna:

{
  "success": true
}

Excluir usuário

A exclusão remove o usuário e os registros que ele criou. Os comentários são removidos das conversas, os votos são removidos das enquetes, e grupos, discussões, enquetes e outros registros criados pelo usuário também podem ser excluídos por meio de associações no banco de dados.

Esta operação é muito destrutiva. É altamente recomendável optar pela remoção de dados pessoais.

DELETE /api/b3/users/:id

DELETE /api/b3/users/identity/:identity_type/:uid

Exemplos

Pelo ID de usuário do Loomio:

curl -X DELETE -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/123

Pela identidade externa:

curl -X DELETE -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/identity/oauth/external-123

Retorna:

{
  "success": true
}

Configurações de sincronização de perfil via SSO

Use estas configurações quando outro sistema gerenciar os campos de perfil do Loomio.

LOOMIO_DISABLE_EDIT_USER_PROFILE=1
# LOOMIO_SSO_UPDATE_USER_PROFILE_ON_LOGIN=1

LOOMIO_DISABLE_EDIT_USER_PROFILE=1 impede que os próprios usuários editem estes campos:

Campo Observações
name Gerenciado por sincronização externa
username Gerenciado por sincronização externa
email Gerenciado por sincronização externa
avatar_kind / uploaded_avatar Gerenciado por sincronização externa

Os usuários ainda podem editar campos locais do Loomio, como short_bio e location.

LOOMIO_SSO_UPDATE_USER_PROFILE_ON_LOGIN=1 atualiza name e email com os dados de login via SSO. Deixe essa variável comentada ou sem definir quando um script de sincronização externa deve ser a única fonte dessas atualizações.

LOOMIO_SSO_FORCE_USER_ATTRS continua funcionando em instalações existentes. Essa variável impede as edições pelos usuários e atualiza name e email no login via SSO.

Esta página foi traduzida automaticamente. Se alguma palavra estiver errada ou pouco clara, envie um email para contact@loomio.org e faremos a correção.