Creando proyectos utilizando la API de Blue.


Crear un Nuevo Proyecto

Para crear un nuevo proyecto, puedes usar la siguiente mutación:

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

Recuerda incluir los encabezados requeridos en tu solicitud:

- `X-Bloo-Token-ID`: Tu ID de token de API
- `X-Bloo-Token-Secret`: Tu secreto de token de API
- `X-Bloo-Company-ID`: Tu ID de empresa
- `Content-Type: application/json`

Ejemplo de Respuesta

Al tener éxito, la mutación devolverá los detalles del proyecto recién creado:

{
  "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"
    }
  }
}

Crear desde una Plantilla

Para crear un proyecto a partir de una plantilla existente, puedes agregar un templateId opcional a la mutación.

mutation {
  createProject(
    input: {
      templateId: "YOUR TEMPLATE ID OR SLUG"
      name: "YOUR PROJECT NEW NAME"
      companyId: "YOUR COMPANY ID OR SLUG"
    }
  ) {
    id
  }
}
Crear un proyecto a partir de una plantilla no creará el proyecto instantáneamente. En su lugar, la creación de tu proyecto será puesta en cola.

Ejemplo Avanzado con Plantilla

Aquí hay un ejemplo completo que muestra todas las opciones disponibles al crear desde una plantilla:

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
El `coverConfig` parámetro actualmente solo funciona al crear un proyecto a partir de una plantilla. Para proyectos creados desde cero, necesitarás usar la mutación `editProject` después de la creación para configurar las imágenes de portada de todo.

Verificar el Estado de Creación

Para verificar el estado de la creación de tu proyecto en la cola, puedes usar la siguiente consulta:

query {
  copyProjectStatus {
    newProjectName
    isTemplate
    isActive
    queuePosition
    totalQueues
  }
}

Esta consulta devolverá el estado de la creación de tu proyecto en la cola.

Parámetros de Entrada

CreateProjectInput

Parámetro Tipo Requerido Descripción
name String ✅ Sí El nombre del proyecto. Se eliminarán las URL del nombre.
companyId String ✅ Sí El ID o slug de la empresa donde se creará el proyecto.
description String No Una descripción del proyecto.
color String No Color del proyecto en formato hex (por ejemplo, "#3B82F6").
icon String No Identificador de icono para el proyecto (por ejemplo, "maletín", "cohete").
category ProjectCategory No Categoría del proyecto. Por defecto es GENERAL si no se especifica.
templateId String No ID de un proyecto existente para usar como plantilla.
coverConfig TodoCoverConfigInput No Configuración para las imágenes de portada de todo (actualmente solo funciona con la creación basada en plantillas).

Valores de ProjectCategory

Valor Descripción
CRM Proyectos de Gestión de Relaciones con Clientes
CROSS_FUNCTIONAL Proyectos de equipos multifuncionales
CUSTOMER_SUCCESS Iniciativas de éxito del cliente
DESIGN Proyectos de diseño y creatividad
ENGINEERING Proyectos de ingeniería y desarrollo
GENERAL Proyectos generales (por defecto)
HR Proyectos de Recursos Humanos
IT Proyectos de Tecnología de la Información
MARKETING Campañas e iniciativas de marketing
OPERATIONS Proyectos de operaciones y logística
PRODUCT Proyectos de gestión de productos
SALES Proyectos de ventas y desarrollo de negocios

TodoCoverConfigInput

Si deseas configurar cómo funcionan las imágenes de portada de todo en tu proyecto, puedes proporcionar el parámetro coverConfig:

Parámetro Tipo Requerido Descripción
enabled Boolean ✅ Sí Si las imágenes de portada están habilitadas para los todo
fit ImageFit ✅ Sí Cómo deben ajustarse las imágenes en el área de portada
imageSelectionType ImageSelectionType ✅ Sí Qué imagen seleccionar de las opciones disponibles
source ImageSource ✅ Sí De dónde obtener las imágenes
sourceId String No Identificador de fuente específico (por ejemplo, ID de campo personalizado)

Valores de ImageFit: COVER, CONTAIN, FILL, SCALE_DOWN

Valores de ImageSelectionType: FIRST (primera imagen), LAST (última imagen)

Valores de ImageSource: DESCRIPTION (de la descripción del todo), COMMENTS (de comentarios), CUSTOM_FIELD (de un campo personalizado)

Campos de Respuesta

La mutación createProject devuelve un objeto Project con los siguientes campos disponibles:

Campo Tipo Descripción
id ID! Identificador único para el proyecto
name String! Nombre del proyecto
slug String! Identificador del proyecto amigable con URL
description String Descripción del proyecto
color String Color del proyecto en formato hex
icon String Identificador de icono
category ProjectCategory Valor enum de categoría del proyecto
companyId String! ID de la empresa
createdAt DateTime! Marca de tiempo de creación
updatedAt DateTime! Marca de tiempo de última actualización
archived Boolean! Si el proyecto está archivado
isTemplate Boolean! Si este es un proyecto de plantilla

Nota: Puedes solicitar cualquier combinación de estos campos en tu respuesta.

Notas Importantes

  • Debes tener acceso de nivel OWNER, ADMIN, o MEMBER a la empresa para crear proyectos
  • Al crear desde una plantilla, la plantilla no puede tener más de 250,000 todos
  • El usuario que crea se asigna automáticamente como el OWNER del proyecto
  • Los nombres de los proyectos se recortan automáticamente de espacios en blanco
  • El coverConfig parámetro actualmente solo es funcional al crear desde una plantilla

Respuestas de Error

Empresa No Encontrada

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

Plantilla No Encontrada

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

Plantilla Demasiado Grande

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

Permiso Denegado

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

Asistente IA

Las respuestas son generadas por IA y pueden contener errores.

¿Cómo puedo ayudarte?

Pregúntame cualquier cosa sobre Blue o esta documentación.

Enter para enviar • Shift+Enter para nueva línea • ⌘I para abrir