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).
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);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).
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);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).
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);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>',});updateName
Seção intitulada “updateName”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).
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);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).
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);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>',});listMemberships
Seção intitulada “listMemberships”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).
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);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});createMembership
Seção intitulada “createMembership”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).
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);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});getMembership
Seção intitulada “getMembership”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).
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);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>',});updateMembership
Seção intitulada “updateMembership”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).
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);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'],});deleteMembership
Seção intitulada “deleteMembership”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).
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);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>',});updateMembershipStatus
Seção intitulada “updateMembershipStatus”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.
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);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>',});getPrefs
Seção intitulada “getPrefs”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).
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);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>',});updatePrefs
Seção intitulada “updatePrefs”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).
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);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.