Projetos no Blue formam a estrutura fundamental para organizar usuários e dados.
Listar todos os Projetos
A consulta projectList permite que você recupere projetos com opções poderosas de filtragem, ordenação e paginação.
Exemplo Básico
query ProjectListQuery {
projectList(filter: { companyIds: ["ENTER COMPANY ID"] }) {
items {
id
uid
slug
name
description
archived
color
icon
createdAt
updatedAt
allowNotification
position
unseenActivityCount
todoListsMaxPosition
lastAccessedAt
isTemplate
automationsCount
totalFileCount
totalFileSize
todoAlias
}
pageInfo {
totalPages
totalItems
page
perPage
hasNextPage
hasPreviousPage
}
}
}
Exemplo Avançado com Filtragem e Ordenação
query FilteredProjectList {
projectList(
filter: {
companyIds: ["company-123", "company-456"]
archived: false
isTemplate: false
search: "marketing"
inProject: true
folderId: null # Get root-level projects only
}
sort: [position_ASC, name_ASC]
skip: 0
take: 50
) {
items {
id
name
slug
position
archived
}
totalCount
pageInfo {
totalItems
hasNextPage
}
}
}
Campos do Projeto
A tabela a seguir descreve todos os campos disponíveis para cada projeto no ProjectListQuery:
| Campo | Tipo | Descrição |
|---|---|---|
| id | ID! | Identificador único para o projeto |
| uid | String! | Identificador único amigável para o projeto |
| slug | String! | Nome do projeto amigável para URL |
| name | String! | Nome de exibição do projeto |
| description | String | Breve descrição do projeto |
| archived | Boolean | Booleano indicando se o projeto está arquivado |
| color | String | Cor associada ao projeto para identificação visual |
| icon | String | Ícone associado ao projeto para identificação visual |
| image | Image | Objeto da imagem de capa do projeto |
| createdAt | DateTime! | Timestamp quando o projeto foi criado |
| updatedAt | DateTime! | Timestamp quando o projeto foi atualizado pela última vez |
| allowNotification | Boolean! | Booleano indicando se as notificações estão habilitadas para o projeto |
| position | Float! | Valor numérico representando a posição do projeto em uma lista |
| unseenActivityCount | Int! | Número de atividades não vistas no projeto |
| todoListsMaxPosition | Float! | Valor máximo de posição para listas de tarefas no projeto |
| lastAccessedAt | DateTime | Timestamp quando o projeto foi acessado pela última vez |
| isTemplate | Boolean! | Booleano indicando se o projeto é um modelo |
| isOfficialTemplate | Boolean! | Booleano indicando se este é um modelo oficial do Blue |
| automationsCount(isActive: Boolean) | Int! | Número de automações associadas ao projeto |
| totalFileCount | Int | Número total de arquivos no projeto |
| totalFileSize | Float | Tamanho total de todos os arquivos no projeto (em bytes) |
| todoAlias | String | Alias personalizado para "tarefa" usado no projeto |
| category | ProjectCategory! | Categoria do projeto (CRM, MARKETING, etc.) |
| hideEmailFromRoles | [UserAccessLevel!] | Array de funções que devem ocultar endereços de e-mail |
| hideStatusUpdate | Boolean | Booleano para ocultar atualizações de status |
| company | Company! | Detalhes completos do objeto da empresa |
| accessLevel(userId: String) | UserAccessLevel | Obter o nível de acesso do usuário para o projeto específico |
| folder | Folder | Pasta contendo este projeto |
| features | [ProjectFeature!] | Array de recursos de projeto habilitados |
| sequenceCustomField | CustomField | Campo personalizado usado para numeração de sequência |
| coverConfig | TodoCoverConfig | Configuração para imagens de capa de tarefas |
| hideRecordCount | Boolean | Se deve ocultar contagens de registros |
| showTimeSpentInTodoList | Boolean | Se deve mostrar o tempo gasto em listas de tarefas |
| showTimeSpentInProject | Boolean | Se deve mostrar o tempo gasto no projeto |
| todoFields | [TodoField] | Definições de campo de tarefa personalizadas |
Nota: Você pode solicitar qualquer combinação desses campos em sua consulta GraphQL.
Campos de Paginação
O objeto pageInfo fornece detalhes de paginação para os resultados da consulta:
| Campo | Tipo | Descrição |
|---|---|---|
| totalPages | Int | Número total de páginas de resultados |
| totalItems | Int | Número total de projetos que correspondem à consulta |
| page | Int | Número da página atual |
| perPage | Int | Número de itens por página |
| hasNextPage | Boolean! | Booleano indicando se há uma próxima página de resultados |
| hasPreviousPage | Boolean! | Booleano indicando se há uma página anterior de resultados |
Parâmetros da Consulta
Opções de Filtro (ProjectListFilter)
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
companyIds |
[String!]! | ✅ Sim | Array de IDs ou slugs de empresas para pesquisar |
ids |
[String!] | Não | Filtrar por IDs de projetos específicos |
archived |
Boolean | Não | Filtrar por status arquivado (verdadeiro/falso) |
isTemplate |
Boolean | Não | Filtrar projetos modelo (verdadeiro/falso) |
search |
String | Não | Pesquisar projetos por nome (não diferencia maiúsculas de minúsculas) |
folderId |
String | Não | Filtrar por ID de pasta. Use null para projetos de nível raiz |
inProject |
Boolean | Não | Filtrar por associação de usuário. Veja a nota abaixo |
Nota sobre o filtro inProject:
trueouundefined: Retorna projetos dos quais o usuário é membrofalse: Retorna projetos dos quais o usuário NÃO está (requer permissão de proprietário da empresa)- A filtragem de pasta (
folderId) só funciona quandoinProjectnão estáfalse
Opções de Ordenação (ProjectSort)
| Valor | Descrição |
|---|---|
id_ASC |
Ordenar por ID ascendente |
id_DESC |
Ordenar por ID descendente |
name_ASC |
Ordenar por nome ascendente (A-Z) |
name_DESC |
Ordenar por nome descendente (Z-A) |
createdAt_ASC |
Ordenar por data de criação (mais antigo primeiro) |
createdAt_DESC |
Ordenar por data de criação (mais recente primeiro) |
updatedAt_ASC |
Ordenar pela última atualização (mais antiga primeiro) |
updatedAt_DESC |
Ordenar pela última atualização (mais recente primeiro) |
position_ASC |
Ordenar por posição ascendente* |
position_DESC |
Ordenar por posição descendente* |
*Ordenação por posição está disponível apenas ao visualizar projetos dos quais o usuário é membro (inProject !== false)
Parâmetros de Paginação
| Parâmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
skip |
Int | 0 | Número de registros a serem ignorados |
take |
Int | 20 | Número de registros a serem retornados |
Notas Importantes
-
Comportamento padrão para projetos não membros (
inProject: false):- Exclui projetos arquivados, a menos que o filtro
archivedesteja explicitamente definido - Exclui projetos modelo, a menos que o filtro
isTemplateesteja explicitamente definido
- Exclui projetos arquivados, a menos que o filtro
-
Limitações da filtragem de pasta:
- Funciona apenas ao mostrar projetos do usuário
- Não pode ser usado com
inProject: false - Use
folderId: nullpara obter projetos que não estão em nenhuma pasta
-
Fallback de ordenação:
- A ordenação por posição é ignorada ao visualizar projetos não membros
- Retorna à ordenação por nome nesses casos
-
Parâmetros obsoletos:
orderBy,after,before,first,lastestão obsoletos- Use
sort,skip, etakeem vez disso