Cubicl Kılavuzu
Search…
⌃K

Görevler

Uç noktalarında kullanılan verilerin türleri ve formatlarının tanımları sayfanın alt kısmında bulunabilir.

Uç Noktaları

get
https://cubicl.io/api/v1
/tasks
Görevleri Getir
get
https://cubicl.io/api/v1
/tasks/:id
Id'e göre Görev Getir
post
https://cubicl.io/api/v1
/tasks
Görev Ekle
put
https://cubicl.io/api/v1
/tasks/:id
Görev Güncelle
delete
https://cubicl.io/api/v1
/tasks/:id
Görev Sil

Veriler

Görev

Bir görevin ayrıntıları.
{
_id: string;
name: string;
desc: string;
state: string;
start: number | null; // Başlangıç tarihi
deadline: number | null;
assignees: string[]; // Atananların ID'si
assignedBy: string; // Sahip ID'si
followers: string[];
// Müşteri portalında görev paylaşılıyorsa, bu görevi takip eden
// portal kullanıcılarının ID'leri
portalFollowers?: string[];
// 1'den 5'e kadar olabilir. En yüksek değer : 5
priority: number;
// Aynı önceliğe sahip görevleri kendi aralarında sıralamak için bir puan.
// En düşük puan en üstte gösterilir.
priorityScore: number;
// Proje ID'si
group: string;
completedAt: number;
archivedAt?: number | null;
/* none: Görev adımı yok
* steps: Görevin bir kontrol listesi var
* progress: Görevin bir ilerleme çubuğu var
*/
stepType: 'none' | 'steps' | 'progress';
// Bu türlerin tanımları için aşağıyı kontrol edin
steps?: CheckList | ProgressBar;
customer: {
_id: string,
name: string,
} | null,
createdAt: number;
files: { _id: string }[];
tags: string[];
subtasks: string[];
parent: string | null;
// Bu alan, gelen bir posta için görev oluşturulursa mevcuttur.
// E-posta gönderen için bir ID oluşturulur.
email?: {
emailUserId: string,
};
// Bu alan, Müşteri Portalı aracılığıyla bir destek talebi
// görevi oluşturulursa mevcuttur.
support?: {
portalUser: string, // Müşteri portalı kullanıcısının ID'si
};
private: boolean;
sharedWithCustomer?: boolean;
// Görev bir iş akışına aitse mevcuttur.
workflow?: {
id: string,
templateId: string,
isCompleted: boolean,
taskflowId: string
};
estimatedTime?: number; // Saniye cinsinden süre
// Görevin özel alanları varsa, her alanın adını ve değerini tutar.
customFields?: {[fieldName: string]: string};
// Görev tekrarlanıyorsa, bunun en yeni kopya olup olmadığını gösterir.
lastCopy?: boolean;
}

Görev Adımları

Görevler, adımları veya genel ilerlemeyi belirtmek için bir kontrol listesine veya ilerleme çubuğuna sahip olabilir.
type ProgressBar = {
completed: number;
total: number;
}
type CheckList = TaskStep[];
type TaskStep = {
id: string;
name: string;
desc?: string;
assignees: string[]; // Adım için atanan kullanıcıların ID'leri
/* Görev adımları özyinelemelidir. Onların da alt adımları olabilir.
* Ayarlanmazsa, adımın alt adımları yoktur.
* 'steps' değeri 'steps' olarak ayarlandıysa alt adımları tutar.
* 'progress', değeri 'total' adlı bir özelliğe sahiptir
*/
stepType?: 'steps' | 'progress';
steps?: CheckList;
// 'stepType' değeri 'progress' olarak ayarlandığında çubuktaki toplam adım
// sayısını gösteren bir sayı olmalıdır. Aksi takdirde,
// görevin tamamlandığını belirtmek için bir boolean değeri içermelidir.
completed: boolean | number;
// 'stepType' değeri 'progress' olduğunda ayarlanmalıdır.
total?: number;
}

Tekrarlama

type Recurrence = {
type: 'daily' | 'weekly' | 'monthly';
// Örnek: Her 3 günde/haftada/ayda bir kopyalanacak görev için 3 değeri verilmeli.
period: number;
// Yeni kopya, görev son tarihinden sonra veya görev tamamlandığında oluşturulur.
createWhen: 'after-deadline' | 'completed';
// Doğruysa, tekrarlama devam eder. Aksi takdirde duraklayacaktır.
active: boolean;
/* 'none': Süresiz olarak devam eder
* 'date': 'end' parametresinde belirtilen tarihe kadar devam eder.
* 'count': 'maxCount' parametresinde ayarlanan kopya sayısı oluşturulana kadar
* devam eder. Görevin kendisi ilk kopyadır. Dolayısıyla, maxCount 1 ise hiçbir
* kopya oluşturulmayacaktır.
*/
stopCondition: 'none' | 'date' | 'count';
end?: number;
maxCount?: number;
// 'type' parametresi 'weekly' ise, bir kopyanın haftanın hangi günlerinde oluşturulması
// gerektiğini ayarlayabilirsiniz. Liste, o gün bir kopyanın oluşturulup oluşturulmayacağını
// gösteren haftanın günleridir. Pazartesi ile başlar.
days?: boolean[];
}

Varsayılan Görev Durumları

Görev durumları proje için özelleştirilmemişse, varsayılan durumlar kullanılır. Bu değerler, kullanıcı arayüzünde gösterildiğinde kullanıcının diline çevrilir.
Durum Değeri
Kullanıcı Aayüzünde Çevirisi
cb_waiting
Bekliyor
cb_active
Aktif
cb_completed
Tamamlandı
cb_suspended
Askıya Alındı
Görev durumlarının özelleştirilip özelleştirilmediğini veya varsayılanların kullanılıp kullanılmadığını görmek için proje nesnesini kontrol edebilirsiniz.

Görev Aktivitesi

Güncelleme, ilerleme eylemleri ve görevlerdeki mesajlar görev aktivitelerini oluşturur.
type TaskActivity = {
_id: string;
// Aktiviteyi oluşturan kullanıcının ID'si
user: string;
// Aktiviteyi oluşturan portal kullanıcının ID'si. Yalnızca Müşteri Portalında
// bir müşteri tarafından etkinlik oluşturulduğunda mevcuttur.
portalUser?: string;
// E-posta gönderenin ID'si. Aktivite, gelen bir posta nedeniyle oluşturulduğunda mevcuttur.
emailUser?: string;
type:
| 'post' // Görevle ilgili bir gönderi (yorum)
| 'update' // Görev güncellendi
| 'progress' // Görev adımı tamamlandı/tamamlanmadı, ilerleme değişti
| 'archive' // Görev arşivlendi
| 'restore' // Görev arşivden geri yüklendi
| 'state-change' // Görev durumu değiştirildi
| 'delete'; // Görev silindi
// Güncelleme ile ilgili bilgileri tutar. Şekil 'type' parametresine bağlıdır.
data?: object;
// 'type' parametresi 'post' ise yorum içeriğini tutar
content?: string;
// 'type' parametresi 'post' ise dosya ayrıntılarını tutar
files?: File[] = [];
createdAt: number;
// Aktivite, önceki bir gönderiye verilen yanıtsa, başvurulan aktivite ID'si korunur.
replyToId?: string;
// Aktivitenin (gönderinin) bir Müşteri Portalı kullanıcısı ile paylaşılıp paylaşılmadığını belirtir.
customerCanSee: boolean;
// Gönderide bahsedilen kullanıcıların listesi
mentions: Mention[];
customFields?: {
fieldName: string;
value: string;
}[];
// Gelen bir e-postadan bir görev oluşturulursa
emailDetails?: EmailDetails;
// Gelen bir e-posta için görev oluşturulursa, görevdeki gönderiler e-posta olarak
// gönderilebilir. Bu, postanın durumunu tutar.
mailStatus?: 'not-sent' | 'sending' | 'sent' | 'mail-box-error' | 'error';
}
type Mention = {
id: string; // Kullanıcı ID'si
name: string; // Gönderide kullanıcıdan bahsetmek için kullanılan metin
}
type EmailDetails = {
to: EmailPerson[];
cc: EmailPerson[];
from: EmailPerson;
}
type EmailPerson = {
name: string;
emailAddress: string;
}