Pular para o conteúdo

Teams

Times, membros e convites.

Classe Teams: 13 métodos (13 no @owbase/web, 13 no @owbase/node). Os exemplos usam a forma de objeto dos parâmetros; troque os valores entre < e > pelos seus.

Listar times

SDK: @owbase/web e @owbase/node

Obtém a lista de todos os times de que o usuário atual é membro. Use os parâmetros para filtrar os resultados.

Parâmetro Tipo Obrigatório Descrição
queries string[] não Lista de consultas geradas com a classe Query do SDK. Saiba mais sobre consultas. No máximo 100 consultas, cada uma com até 4096 caracteres. É possível filtrar pelos atributos: name, total, billingPlan
search string não Termo de busca para filtrar a lista. Tamanho máximo: 256 caracteres.
total boolean não Com false, o total não é calculado e volta como 0.

Acesso: chave de API com o escopo teams.read ou sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Teams } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const teams = new Teams(client);
const result = await teams.list({
queries: [], // opcional
search: '<SEARCH>', // opcional
total: false, // opcional
});
console.log(result);
@owbase/node
import { Client, Teams } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const teams = new Teams(client);
const result = await teams.list({
queries: [], // opcional
search: '<SEARCH>', // opcional
total: false, // opcional
});

Criar time

SDK: @owbase/web e @owbase/node

Cria um time. O usuário que cria o time vira automaticamente o dono (owner) dele. Só usuários com o papel owner podem convidar membros, adicionar novos donos e excluir ou atualizar o time.

Parâmetro Tipo Obrigatório Descrição
teamId string sim ID do time. Escolha um ID próprio ou gere um ID aleatório com ID.unique(). Caracteres válidos: a-z, A-Z, 0-9, ponto, hífen e sublinhado. Não pode começar com caractere especial. Tamanho máximo: 36 caracteres.
name string sim Nome do time. Tamanho máximo: 128 caracteres.
roles string[] não Lista de textos. Use este parâmetro para definir os papéis, no time, do usuário que o criou. O papel padrão é owner. Um papel pode ser qualquer texto. Saiba mais sobre papéis e permissões. No máximo 100 papéis, cada um com até 81 caracteres.

Acesso: chave de API com o escopo teams.write ou sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Teams } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const teams = new Teams(client);
const result = await teams.create({
teamId: '<TEAM_ID>',
name: '<NAME>',
roles: [], // opcional
});
console.log(result);
@owbase/node
import { Client, Teams } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const teams = new Teams(client);
const result = await teams.create({
teamId: '<TEAM_ID>',
name: '<NAME>',
roles: [], // opcional
});

Obter time

SDK: @owbase/web e @owbase/node

Obtém um time pelo ID. Todos os membros do time têm acesso de leitura a este recurso.

Parâmetro Tipo Obrigatório Descrição
teamId string sim ID do time.

Acesso: chave de API com o escopo teams.read ou sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Teams } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const teams = new Teams(client);
const result = await teams.get({
teamId: '<TEAM_ID>',
});
console.log(result);
@owbase/node
import { Client, Teams } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const teams = new Teams(client);
const result = await teams.get({
teamId: '<TEAM_ID>',
});

Atualizar nome

SDK: @owbase/web e @owbase/node

Atualiza o nome do time pelo ID.

Parâmetro Tipo Obrigatório Descrição
teamId string sim ID do time.
name string sim Novo nome do time. Tamanho máximo: 128 caracteres.

Acesso: chave de API com o escopo teams.write ou sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Teams } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const teams = new Teams(client);
const result = await teams.updateName({
teamId: '<TEAM_ID>',
name: '<NAME>',
});
console.log(result);
@owbase/node
import { Client, Teams } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const teams = new Teams(client);
const result = await teams.updateName({
teamId: '<TEAM_ID>',
name: '<NAME>',
});

Excluir time

SDK: @owbase/web e @owbase/node

Exclui um time pelo ID. Só membros com o papel owner podem excluir o time.

Parâmetro Tipo Obrigatório Descrição
teamId string sim ID do time.

Acesso: chave de API com o escopo teams.write ou sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Teams } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const teams = new Teams(client);
const result = await teams.delete({
teamId: '<TEAM_ID>',
});
console.log(result);
@owbase/node
import { Client, Teams } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const teams = new Teams(client);
const result = await teams.delete({
teamId: '<TEAM_ID>',
});

Listar participações no time

SDK: @owbase/web e @owbase/node

Lista os membros de um time pelo ID do time. Todos os membros do time têm acesso a este endpoint. Para esconder atributos sensíveis da resposta, ligue a privacidade das participações no console.

Parâmetro Tipo Obrigatório Descrição
teamId string sim ID do time.
queries string[] não Lista de consultas geradas com a classe Query do SDK. Saiba mais sobre consultas. No máximo 100 consultas, cada uma com até 4096 caracteres. É possível filtrar pelos atributos: userId, teamId, invited, joined, confirm, roles
search string não Termo de busca para filtrar a lista. Tamanho máximo: 256 caracteres.
total boolean não Com false, o total não é calculado e volta como 0.

Acesso: chave de API com o escopo teams.read ou sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Teams } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const teams = new Teams(client);
const result = await teams.listMemberships({
teamId: '<TEAM_ID>',
queries: [], // opcional
search: '<SEARCH>', // opcional
total: false, // opcional
});
console.log(result);
@owbase/node
import { Client, Teams } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const teams = new Teams(client);
const result = await teams.listMemberships({
teamId: '<TEAM_ID>',
queries: [], // opcional
search: '<SEARCH>', // opcional
total: false, // opcional
});

Criar participação no time

SDK: @owbase/web e @owbase/node

Convida um novo membro para o time. Informe o ID de um usuário existente, ou convide usuários sem cadastro pelo e-mail ou pelo telefone. Se a chamada vier de um SDK de cliente, o Owbase envia ao usuário convidado um e-mail ou SMS com um link para entrar no time, e cria uma conta para ele se ainda não existir. Se vier de um SDK de servidor, o novo membro é adicionado ao time automaticamente.

Basta informar um destes: ID do usuário, e-mail ou telefone. Se você informar mais de um, o Owbase usa primeiro o ID do usuário, depois o e-mail e por último o telefone.

Use o parâmetro url para levar o usuário do e-mail de convite ao seu app. Depois do redirecionamento, use o endpoint Atualizar status da participação no time para o usuário aceitar o convite.

Para evitar um ataque de redirecionamento, o Owbase só aceita URLs de redirecionamento dos domínios que você adicionou como plataforma no console do Owbase.

Parâmetro Tipo Obrigatório Descrição
teamId string sim ID do time.
roles string[] sim Lista de textos. Use este parâmetro para definir os papéis do usuário no time. Um papel pode ser qualquer texto. Saiba mais sobre papéis e permissões. No máximo 100 papéis, cada um com até 81 caracteres.
email string não E-mail do novo membro do time.
userId string não ID do usuário a adicionar ao time.
phone string não Número de telefone. Escreva o número com ‘+’ e o código do país na frente, por exemplo +16175551212.
url string não URL para onde o usuário volta no seu app a partir do e-mail de convite. Este parâmetro não é obrigatório quando se usa chave de API. Só são aceitas URLs de hosts da lista de plataformas do projeto. Essa exigência ajuda a evitar um ataque de redirecionamento aberto contra a API do seu projeto.
name string não Nome do novo membro do time. Tamanho máximo: 128 caracteres.

Acesso: chave de API com o escopo teams.write ou sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Teams } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const teams = new Teams(client);
const result = await teams.createMembership({
teamId: '<TEAM_ID>',
roles: ['editor'],
email: 'email@example.com', // opcional
userId: '<USER_ID>', // opcional
phone: '+12065550100', // opcional
url: 'https://example.com', // opcional
name: '<NAME>', // opcional
});
console.log(result);
@owbase/node
import { Client, Teams } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const teams = new Teams(client);
const result = await teams.createMembership({
teamId: '<TEAM_ID>',
roles: ['editor'],
email: 'email@example.com', // opcional
userId: '<USER_ID>', // opcional
phone: '+12065550100', // opcional
url: 'https://example.com', // opcional
name: '<NAME>', // opcional
});

Obter participação no time

SDK: @owbase/web e @owbase/node

Obtém um membro do time pelo ID da participação. Todos os membros do time têm acesso de leitura a este recurso. Para esconder atributos sensíveis da resposta, ligue a privacidade das participações no console.

Parâmetro Tipo Obrigatório Descrição
teamId string sim ID do time.
membershipId string sim ID da participação.

Acesso: chave de API com o escopo teams.read ou sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Teams } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const teams = new Teams(client);
const result = await teams.getMembership({
teamId: '<TEAM_ID>',
membershipId: '<MEMBERSHIP_ID>',
});
console.log(result);
@owbase/node
import { Client, Teams } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const teams = new Teams(client);
const result = await teams.getMembership({
teamId: '<TEAM_ID>',
membershipId: '<MEMBERSHIP_ID>',
});

Atualizar participação no time

SDK: @owbase/web e @owbase/node

Altera os papéis de um membro do time. Só membros com o papel owner têm acesso a este endpoint. Saiba mais sobre papéis e permissões.

Parâmetro Tipo Obrigatório Descrição
teamId string sim ID do time.
membershipId string sim ID da participação.
roles string[] sim Lista de textos. Use este parâmetro para definir os papéis do usuário no time. Um papel pode ser qualquer texto. Saiba mais sobre papéis e permissões. No máximo 100 papéis, cada um com até 81 caracteres.

Acesso: chave de API com o escopo teams.write ou sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Teams } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const teams = new Teams(client);
const result = await teams.updateMembership({
teamId: '<TEAM_ID>',
membershipId: '<MEMBERSHIP_ID>',
roles: ['editor'],
});
console.log(result);
@owbase/node
import { Client, Teams } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const teams = new Teams(client);
const result = await teams.updateMembership({
teamId: '<TEAM_ID>',
membershipId: '<MEMBERSHIP_ID>',
roles: ['editor'],
});

Excluir participação no time

SDK: @owbase/web e @owbase/node

Permite que um usuário saia de um time, ou que um dono do time exclua a participação de qualquer outro membro. Também serve para excluir a participação de um usuário mesmo que ainda não tenha sido aceita.

Parâmetro Tipo Obrigatório Descrição
teamId string sim ID do time.
membershipId string sim ID da participação.

Acesso: chave de API com o escopo teams.write ou sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Teams } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const teams = new Teams(client);
const result = await teams.deleteMembership({
teamId: '<TEAM_ID>',
membershipId: '<MEMBERSHIP_ID>',
});
console.log(result);
@owbase/node
import { Client, Teams } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const teams = new Teams(client);
const result = await teams.deleteMembership({
teamId: '<TEAM_ID>',
membershipId: '<MEMBERSHIP_ID>',
});

Atualizar status da participação no time

SDK: @owbase/web e @owbase/node

Permite que o usuário aceite o convite para entrar num time, depois de voltar ao seu app pelo e-mail de convite que recebeu.

Se o pedido der certo, uma sessão é criada automaticamente para o usuário.

Parâmetro Tipo Obrigatório Descrição
teamId string sim ID do time.
membershipId string sim ID da participação.
userId string sim ID do usuário.
secret string sim Chave secreta.

Acesso: sem chave nem sessão: basta o ID do projeto.

@owbase/web
import { Client, Teams } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const teams = new Teams(client);
const result = await teams.updateMembershipStatus({
teamId: '<TEAM_ID>',
membershipId: '<MEMBERSHIP_ID>',
userId: '<USER_ID>',
secret: '<SECRET>',
});
console.log(result);
@owbase/node
import { Client, Teams } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const teams = new Teams(client);
const result = await teams.updateMembershipStatus({
teamId: '<TEAM_ID>',
membershipId: '<MEMBERSHIP_ID>',
userId: '<USER_ID>',
secret: '<SECRET>',
});

Obter preferências do time

SDK: @owbase/web e @owbase/node

Obtém as preferências compartilhadas do time pelo ID. Se uma preferência não precisa ser compartilhada por todos os membros, prefira guardá-la nas preferências do usuário.

Parâmetro Tipo Obrigatório Descrição
teamId string sim ID do time.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Teams } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const teams = new Teams(client);
const result = await teams.getPrefs({
teamId: '<TEAM_ID>',
});
console.log(result);
@owbase/node
import { Client, Teams } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const teams = new Teams(client);
const result = await teams.getPrefs({
teamId: '<TEAM_ID>',
});

Atualizar preferências do time

SDK: @owbase/web e @owbase/node

Atualiza as preferências do time pelo ID. O objeto enviado é guardado como está e substitui o valor anterior. O tamanho máximo das preferências é 64kB; acima disso, a chamada falha com erro.

Parâmetro Tipo Obrigatório Descrição
teamId string sim ID do time.
prefs object sim Objeto JSON chave-valor com as preferências.

Acesso: sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Teams } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const teams = new Teams(client);
const result = await teams.updatePrefs({
teamId: '<TEAM_ID>',
prefs: {},
});
console.log(result);
@owbase/node
import { Client, Teams } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const teams = new Teams(client);
const result = await teams.updatePrefs({
teamId: '<TEAM_ID>',
prefs: {},
});

As descrições desta página são traduções das que vêm da especificação da API do servidor (licença BSD-3-Clause), e os exemplos vêm do gerador de SDKs (licença MIT). Os avisos completos estão no arquivo NOTICE dos pacotes @owbase/web e @owbase/node.