Criando projetos usando a API Blue.


Criar um Novo Projeto

Para criar um novo projeto, você pode usar a seguinte mutação:

mutation {
  createProject(
    input: {
      name: "YOUR PROJECT NEW NAME"
      companyId: "YOUR COMPANY ID OR SLUG"
      description: "Project description"
      color: "#3B82F6"
      icon: "briefcase"
      category: GENERAL
    }
  ) {
    id
    name
    slug
    description
    color
    icon
    category
  }
}
icon: lightbulb

Lembre-se de incluir os cabeçalhos necessários em sua solicitação:

- `X-Bloo-Token-ID`: Seu ID de token da API
- `X-Bloo-Token-Secret`: Seu segredo de token da API
- `X-Bloo-Company-ID`: Seu ID da empresa
- `Content-Type: application/json`

Exemplo de Resposta

Em caso de sucesso, a mutação retornará os detalhes do projeto recém-criado:

{
  "data": {
    "createProject": {
      "id": "newly-created-project-id",
      "name": "YOUR PROJECT NEW NAME",
      "slug": "your-project-new-name",
      "description": "Project description",
      "color": "#3B82F6",
      "icon": "briefcase",
      "category": "GENERAL"
    }
  }
}

Criar a Partir de um Modelo

Para criar um projeto a partir de um modelo existente, você pode adicionar um templateId opcional à mutação.

mutation {
  createProject(
    input: {
      templateId: "YOUR TEMPLATE ID OR SLUG"
      name: "YOUR PROJECT NEW NAME"
      companyId: "YOUR COMPANY ID OR SLUG"
    }
  ) {
    id
  }
}
Criar um projeto a partir de um modelo não criará o projeto instantaneamente. Em vez disso, a criação do seu projeto será colocada na fila.

Exemplo Avançado com Modelo

Aqui está um exemplo completo mostrando todas as opções disponíveis ao criar a partir de um modelo:

mutation {
  createProject(
    input: {
      templateId: "marketing-template"
      name: "Q1 Marketing Campaign"
      companyId: "acme-corp"
      description: "Marketing initiatives for Q1 2024"
      color: "#10B981"
      icon: "megaphone"
      category: MARKETING
      coverConfig: {
        enabled: true
        fit: COVER
        imageSelectionType: FIRST
        source: DESCRIPTION
      }
    }
  ) {
    id
    name
    slug
    description
    color
    icon
    category
  }
}
icon: warning
O parâmetro `coverConfig` atualmente só funciona ao criar um projeto a partir de um modelo. Para projetos criados do zero, você precisará usar a mutação `editProject` após a criação para configurar as imagens de capa de tarefas.

Verificar Status da Criação

Para verificar o status da criação do seu projeto na fila, você pode usar a seguinte consulta:

query {
  copyProjectStatus {
    newProjectName
    isTemplate
    isActive
    queuePosition
    totalQueues
  }
}

Essa consulta retornará o status da criação do seu projeto na fila.

Parâmetros de Entrada

CreateProjectInput

Parâmetro Tipo Necessário Descrição
name String ✅ Sim O nome do projeto. URLs serão removidas do nome.
companyId String ✅ Sim O ID ou slug da empresa onde o projeto será criado.
description String Não Uma descrição do projeto.
color String Não Cor do projeto em formato hex (por exemplo, "#3B82F6").
icon String Não Identificador do ícone para o projeto (por exemplo, "maleta", "foguete").
category ProjectCategory Não Categoria do projeto. Padrão para GENERAL se não especificado.
templateId String Não ID de um projeto existente para usar como modelo.
coverConfig TodoCoverConfigInput Não Configuração para imagens de capa de tarefas (atualmente funciona apenas com criação baseada em modelo).

Valores de ProjectCategory

Valor Descrição
CRM Projetos de Gestão de Relacionamento com o Cliente
CROSS_FUNCTIONAL Projetos de equipe multifuncional
CUSTOMER_SUCCESS Iniciativas de sucesso do cliente
DESIGN Projetos de design e criativos
ENGINEERING Projetos de engenharia e desenvolvimento
GENERAL Projetos gerais (padrão)
HR Projetos de Recursos Humanos
IT Projetos de Tecnologia da Informação
MARKETING Campanhas e iniciativas de marketing
OPERATIONS Projetos de operações e logística
PRODUCT Projetos de gestão de produtos
SALES Projetos de vendas e desenvolvimento de negócios

TodoCoverConfigInput

Se você quiser configurar como as imagens de capa de tarefas funcionam em seu projeto, pode fornecer o parâmetro coverConfig:

Parâmetro Tipo Necessário Descrição
enabled Boolean ✅ Sim Se as imagens de capa estão habilitadas para tarefas
fit ImageFit ✅ Sim Como as imagens devem se ajustar na área de capa
imageSelectionType ImageSelectionType ✅ Sim Qual imagem selecionar entre as opções disponíveis
source ImageSource ✅ Sim De onde puxar as imagens
sourceId String Não Identificador de fonte específico (por exemplo, ID de campo personalizado)

Valores de ImageFit: COVER, CONTAIN, FILL, SCALE_DOWN

Valores de ImageSelectionType: FIRST (primeira imagem), LAST (última imagem)

Valores de ImageSource: DESCRIPTION (da descrição da tarefa), COMMENTS (dos comentários), CUSTOM_FIELD (de um campo personalizado)

Campos de Resposta

A mutação createProject retorna um objeto Project com os seguintes campos disponíveis:

Campo Tipo Descrição
id ID! Identificador único para o projeto
name String! Nome do projeto
slug String! Identificador do projeto amigável para URL
description String Descrição do projeto
color String Cor do projeto em formato hex
icon String Identificador do ícone
category ProjectCategory Valor enum da categoria do projeto
companyId String! ID da empresa
createdAt DateTime! Timestamp de criação
updatedAt DateTime! Timestamp da última atualização
archived Boolean! Se o projeto está arquivado
isTemplate Boolean! Se este é um projeto modelo

Nota: Você pode solicitar qualquer combinação desses campos em sua resposta.

Notas Importantes

  • Você deve ter acesso de nível OWNER, ADMIN ou MEMBER à empresa para criar projetos
  • Ao criar a partir de um modelo, o modelo não pode ter mais de 250.000 tarefas
  • O usuário que cria é automaticamente designado como o OWNER do projeto
  • Os nomes dos projetos são automaticamente removidos de espaços em branco
  • O parâmetro coverConfig atualmente só é funcional ao criar a partir de um modelo

Respostas de Erro

Empresa Não Encontrada

{
  "errors": [{
    "message": "Company not found",
    "extensions": {
      "code": "NOT_FOUND"
    }
  }]
}

Modelo Não Encontrado

{
  "errors": [{
    "message": "Template not found",
    "extensions": {
      "code": "NOT_FOUND"
    }
  }]
}

Modelo Muito Grande

{
  "errors": [{
    "message": "Template cannot have more than 250000 todos",
    "extensions": {
      "code": "VALIDATION_ERROR"
    }
  }]
}

Permissão Negada

{
  "errors": [{
    "message": "You do not have permission to create projects in this company",
    "extensions": {
      "code": "FORBIDDEN"
    }
  }]
}

Assistente de IA

As respostas são geradas usando IA e podem conter erros.

Como posso ajudá-lo?

Pergunte-me qualquer coisa sobre o Blue ou esta documentação.

Digite para enviar • Shift+Enter para nova linha • ⌘I para abrir