Referensi API lengkap untuk mengelola proyek di Blue - membuat, memperbarui, menghapus, dan mengquery proyek
Ikhtisar
Proyek adalah unit organisasi inti di Blue. Mereka berisi daftar, tugas, bidang kustom, automasi, dan semua data terkait pekerjaan lainnya. Proyek milik perusahaan dan memiliki sistem izin, template, dan konfigurasi mereka sendiri.
Operasi yang Tersedia
Operasi Proyek Inti
Operasi | Deskripsi | Tautan |
---|---|---|
Create Project | Buat proyek baru atau dari template | View Details → |
List Projects | Query dan filter proyek | View Details → |
Delete Project | Hapus proyek secara permanen | View Details → |
Archive Project | Arsipkan/tidak arsipkan proyek | View Details → |
Rename Project | Perbarui nama dan slug proyek | View Details → |
Copy Project | Duplikasi proyek yang ada | View Details → |
Komponen Proyek
Komponen | Deskripsi | Tautan |
---|---|---|
Lists | Kelola daftar tugas dalam proyek | View Details → |
Templates | Bekerja dengan template proyek | View Details → |
Activity | Lacak aktivitas dan perubahan proyek | View Details → |
Konsep Kunci
Struktur Proyek
- Proyek milik perusahaan
- Setiap proyek dapat memiliki beberapa daftar
- Daftar berisi tugas
- Proyek mendukung bidang kustom, tag, dan automasi
Model Izin
Proyek memiliki sistem izin multi-level:
Level | Izin |
---|---|
OWNER | Full control, can delete project |
ADMIN | Manage project settings, users, and content |
MEMBER | Create and edit content |
CLIENT | Limited edit access |
VIEW_ONLY | Read-only access |
COMMENT_ONLY | Can only comment |
Kategori Proyek
Proyek dapat dikategorikan untuk organisasi yang lebih baik:
- CRM
- CROSS_FUNCTIONAL
- CUSTOMER_SUCCESS
- DESAIN
- TEKNOLOGI
- UMUM (default)
- SDM
- TI
- PEMASARAN
- OPERASI
- PRIBADI
- PENGADAAN
- PRODUK
- PENJUALAN
Pola Umum
Membuat Proyek Dasar
mutation CreateProject {
createProject(input: {
name: "Q1 Marketing Campaign"
companyId: "company-123"
category: MARKETING
}) {
id
name
slug
}
}
Mengquery Proyek dengan Filter
query GetProjects {
projectList(
filter: {
companyIds: ["company-123"]
isArchived: false
categories: [MARKETING, SALES]
}
sort: [{ field: updatedAt, direction: DESC }]
take: 20
) {
items {
id
name
category
todosCount
todosDoneCount
}
pageInfo {
hasNextPage
total
}
}
}
Catatan: Query
projectList
adalah pendekatan yang direkomendasikan untuk mengquery proyek. Queryprojects
yang lama ada tetapi tidak boleh digunakan untuk implementasi baru.
Mengelola Daftar Proyek
# Get all lists in a project
query GetProjectLists {
todoLists(projectId: "project-123") {
id
title
position
todosCount
}
}
# Create a new list
mutation CreateList {
createTodoList(input: {
projectId: "project-123"
title: "To Do"
position: 1.0
}) {
id
title
}
}
Praktik Terbaik
-
Penamaan Proyek
- Gunakan nama yang jelas dan deskriptif
- Hindari karakter khusus yang mungkin mempengaruhi slug
- Jaga nama di bawah 50 karakter
-
Manajemen Izin
- Mulailah dengan izin minimal
- Gunakan peran CLIENT untuk pemangku kepentingan eksternal
- Secara teratur audit akses proyek
-
Organisasi
- Gunakan kategori untuk mengelompokkan proyek yang serupa
- Arsipkan proyek yang telah selesai daripada menghapus
- Gunakan template untuk jenis proyek yang berulang
-
Kinerja
- Gunakan paginasi untuk daftar proyek yang besar
- Filter berdasarkan status aktif/arsip
- Batasi jumlah daftar per proyek (maks 50)
Penanganan Kesalahan
Kesalahan umum yang mungkin Anda temui:
Kode Kesalahan | Deskripsi | Solusi |
---|---|---|
PROJECT_NOT_FOUND |
Proyek tidak ada atau tidak ada akses | Verify project ID and permissions |
COMPANY_NOT_FOUND |
Perusahaan tidak ada | Check company ID |
FORBIDDEN |
Izin tidak mencukupi | Ensure proper role level |
BAD_USER_INPUT |
Kesalahan validasi (misalnya, nama terlalu panjang) | Check input validation requirements |
Sumber Daya Terkait
- API Rekaman - Mengelola tugas/rekanan dalam proyek
- API Bidang Kustom - Menambahkan bidang kustom ke proyek
- API Automasi - Mengatur automasi proyek
- API Pengguna - Mengelola pengguna dan izin proyek