Creare progetti utilizzando l'API di Blue.
Crea un Nuovo Progetto
Per creare un nuovo progetto, puoi utilizzare la seguente mutazione:
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
}
}
Ricorda di includere le intestazioni richieste nella tua richiesta:
- `X-Bloo-Token-ID`: Il tuo ID token API
- `X-Bloo-Token-Secret`: Il tuo segreto token API
- `X-Bloo-Company-ID`: Il tuo ID aziendale
- `Content-Type: application/json`
Esempio di Risposta
In caso di successo, la mutazione restituirà i dettagli del progetto appena creato:
{
"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"
}
}
}
Crea da un Modello
Per creare un progetto da un modello esistente, puoi aggiungere un templateId
opzionale alla mutazione.
mutation {
createProject(
input: {
templateId: "YOUR TEMPLATE ID OR SLUG"
name: "YOUR PROJECT NEW NAME"
companyId: "YOUR COMPANY ID OR SLUG"
}
) {
id
}
}
Esempio Avanzato con Modello
Ecco un esempio completo che mostra tutte le opzioni disponibili quando si crea da un modello:
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
}
}
Il parametro `coverConfig` attualmente funziona solo quando si crea un progetto da un modello. Per i progetti creati da zero, dovrai utilizzare la mutazione `editProject` dopo la creazione per configurare le immagini di copertura dei todo.
Controlla lo Stato di Creazione
Per controllare lo stato della creazione del tuo progetto in coda, puoi utilizzare la seguente query:
query {
copyProjectStatus {
newProjectName
isTemplate
isActive
queuePosition
totalQueues
}
}
Questa query restituirà lo stato della creazione del tuo progetto in coda.
Parametri di Input
CreateProjectInput
Parametro | Tipo | Richiesto | Descrizione |
---|---|---|---|
name |
String | ✅ Sì | Il nome del progetto. Gli URL saranno rimossi dal nome. |
companyId |
String | ✅ Sì | L'ID o lo slug dell'azienda in cui verrà creato il progetto. |
description |
String | No | Una descrizione del progetto. |
color |
String | No | Colore del progetto in formato esadecimale (es. "#3B82F6"). |
icon |
String | No | Identificatore dell'icona per il progetto (es. "valigetta", "razzo"). |
category |
ProjectCategory | No | Categoria del progetto. Per impostazione predefinita è GENERAL se non specificato. |
templateId |
String | No | ID di un progetto esistente da utilizzare come modello. |
coverConfig |
TodoCoverConfigInput | No | Configurazione per le immagini di copertura dei todo (attualmente funziona solo con la creazione basata su modello). |
Valori di ProjectCategory
Valore | Descrizione |
---|---|
CRM |
Progetti di Customer Relationship Management |
CROSS_FUNCTIONAL |
Progetti di team cross-funzionali |
CUSTOMER_SUCCESS |
Iniziative di successo del cliente |
DESIGN |
Progetti di design e creatività |
ENGINEERING |
Progetti di ingegneria e sviluppo |
GENERAL |
Progetti generali (predefiniti) |
HR |
Progetti di Risorse Umane |
IT |
Progetti di Information Technology |
MARKETING |
Campagne e iniziative di marketing |
OPERATIONS |
Progetti di operazioni e logistica |
PRODUCT |
Progetti di gestione del prodotto |
SALES |
Progetti di vendite e sviluppo commerciale |
TodoCoverConfigInput
Se desideri configurare come funzionano le immagini di copertura dei todo nel tuo progetto, puoi fornire il parametro coverConfig
:
Parametro | Tipo | Richiesto | Descrizione |
---|---|---|---|
enabled |
Boolean | ✅ Sì | Se le immagini di copertura sono abilitate per i todo |
fit |
ImageFit | ✅ Sì | Come le immagini dovrebbero adattarsi nell'area di copertura |
imageSelectionType |
ImageSelectionType | ✅ Sì | Quale immagine selezionare dalle opzioni disponibili |
source |
ImageSource | ✅ Sì | Da dove prelevare le immagini |
sourceId |
String | No | Identificatore di origine specifico (es. ID campo personalizzato) |
Valori di ImageFit: COVER
, CONTAIN
, FILL
, SCALE_DOWN
Valori di ImageSelectionType: FIRST
(prima immagine), LAST
(ultima immagine)
Valori di ImageSource: DESCRIPTION
(dalla descrizione del todo), COMMENTS
(dai commenti), CUSTOM_FIELD
(da un campo personalizzato)
Campi di Risposta
La mutazione createProject restituisce un oggetto Project con i seguenti campi disponibili:
Campo | Tipo | Descrizione |
---|---|---|
id |
ID! | Identificatore unico per il progetto |
name |
String! | Nome del progetto |
slug |
String! | Identificatore del progetto compatibile con URL |
description |
String | Descrizione del progetto |
color |
String | Colore del progetto in formato esadecimale |
icon |
String | Identificatore dell'icona |
category |
ProjectCategory | Valore enum della categoria del progetto |
companyId |
String! | ID dell'azienda |
createdAt |
DateTime! | Timestamp di creazione |
updatedAt |
DateTime! | Timestamp dell'ultima modifica |
archived |
Boolean! | Se il progetto è archiviato |
isTemplate |
Boolean! | Se questo è un progetto modello |
Nota: Puoi richiedere qualsiasi combinazione di questi campi nella tua risposta.
Note Importanti
- Devi avere accesso di livello
OWNER
,ADMIN
oMEMBER
all'azienda per creare progetti - Quando crei da un modello, il modello non può avere più di 250.000 todo
- L'utente che crea è automaticamente assegnato come
OWNER
del progetto - I nomi dei progetti vengono automaticamente trimmati dagli spazi bianchi
- Il parametro
coverConfig
attualmente funziona solo quando si crea da un modello
Risposte di Errore
Azienda Non Trovata
{
"errors": [{
"message": "Company not found",
"extensions": {
"code": "NOT_FOUND"
}
}]
}
Modello Non Trovato
{
"errors": [{
"message": "Template not found",
"extensions": {
"code": "NOT_FOUND"
}
}]
}
Modello Troppo Grande
{
"errors": [{
"message": "Template cannot have more than 250000 todos",
"extensions": {
"code": "VALIDATION_ERROR"
}
}]
}
Permesso Negato
{
"errors": [{
"message": "You do not have permission to create projects in this company",
"extensions": {
"code": "FORBIDDEN"
}
}]
}