Etiketler
`labels->list`, `listAll`, `iterate`, `listColors`, `get`, `create`, `update` ve `delete`.
Her yöntem
$page = $client->labels->list(limit: 50);$every = $client->labels->listAll();$colors = $client->labels->listColors();echo count($page), ' ', count($every), ' ', count($colors), PHP_EOL; foreach ($client->labels->iterate() as $row) { echo $row['name'], ' ', $row['threadCount'], PHP_EOL;} $created = $client->labels->create([ 'name' => 'Invoices', 'color' => ['backgroundColor' => 'gradient:sunset'],]); $client->labels->update($created['id'], ['name' => 'Invoices 2027']);$client->labels->update($created['id'], ['color' => ['backgroundColor' => '#3B82F6']]); $label = $client->labels->get($created['id']);echo $label['name'], ' ', $label['color']['backgroundColor'] ?? 'no colour', PHP_EOL; $client->labels->delete($created['id']);list ada göre sıralanmış etiketlerden oluşan bir OpenEmail\Result\Page döndürür; listAll ve iterate her sayfayı dolaşır. listAll tek bir dizi döndürür, iterate ise etiketleri birer birer veren bir Generator döndürür. Her etiket, rengini, threadCount değerini ve ne zaman oluşturulup en son ne zaman değiştirildiğini taşıyan camelCase anahtarlı bir dizidir. listColors, uygulamanın sunduğu paleti (on dört düz renk ve yedi gradyan) sayfalama olmadan, dizilerden oluşan düz bir liste olarak döndürür. type her zaman user'dır. Kimlik, etiketin oluşturulduğu addan gelir; bu yüzden Invoices etiketinin kimliği USER_INVOICES olur ve asla değişmez.
create ve update alanları, API'deki adlarıyla tek bir dizinin anahtarlarıdır; bu yüzden bir renk 'color' => ['backgroundColor' => '#3B82F6'] biçimindedir.
Bir etiket çalışma alanına aittir; bu yüzden yeniden adlandırma, renk değiştirme ya da silme onu her üye ve her anahtar için değiştirir. threads->update bir yazışmaya etiket ekler ve kaldırır; $client->threads->list(folder: 'USER_INVOICES') ise bu etiketi taşıyan her yazışmayı listeler. Konuşma dizileri sayfası ikisini de anlatır.
Parametreler: labels->create ve labels->update
namestring- Etiketin görünen adı; ölçülmeden önce baştaki ve sondaki boşluklar kırpılır, bu yüzden sınır kırpmadan sonra 1 ile 225 karakter arasıdır. `create` üzerinde zorunlu, `update` üzerinde isteğe bağlıdır; orada belirtilmezse ad korunur. Yalnızca boşluk 422 verir. Büyük/küçük harf gözetmeksizin karşılaştırıldığında başka bir etikette zaten bulunan bir ad, `ConflictException` olarak fırlatılan 409 `label_name_taken` verir. Çalışma alanında 50 etiket olduğunda `create`, `ValidationException` olarak fırlatılan 422 `label_limit_reached` ile reddeder.
colorarray or null- Her iki çağrıda da isteğe bağlıdır. `update` üzerinde belirtilmezse saklanan renk korunur, `'color' => null` ise onu temizler. Gövde katıdır; bu yüzden `colour` gibi neredeyse doğru bir anahtar sessizce hiçbir şey yapmamak yerine 422 verir.
color.backgroundColorstringzorunlu- Bir hex rengi (`#RGB`, `#RGBA`, `#RRGGBB` ya da `#RRGGBBAA`, büyük harfle saklanır) ya da bir geçiş belirteci: `gradient:sunset`, `gradient:ember`, `gradient:meadow`, `gradient:lagoon`, `gradient:aurora`, `gradient:berry` ya da `gradient:midnight`. Boş bir dize renk olmadığı anlamına gelir; başka her şey 422 `invalid_parameter` döndürür.
color.textColorstring- Kabul edilir ve yok sayılır. Yazı rengi, uygulamada olduğu gibi `backgroundColor` değerinden hesaplanır.
Yanıt: bir etiket
Bir etiket camelCase anahtarlı bir dizidir; bu yüzden $label['threadCount'] sayıyı okur, $label['color']['backgroundColor'] ?? null ise rengi okur ve etiketin rengi yoksa null verir.
objectstring- Her zaman `label` dizesi. `create` ve `update`, saklandığı hâliyle geri okunan bu aynı diziyi döndürür.
idstring- Etiketin kimliği; `get`, `update`, `delete` ve `threads->update` bunu alır. Yeniden adlandırmadan sonra bile asla değişmez.
namestring- Kullanıcının gördüğü.
typestring- Her zaman `user`. Sistem etiketleri burada asla sunulmaz; `get` üzerinde bir sistem kimliği `NotFoundException` olarak fırlatılan bir 404 verir.
colorarray or null- Etiketin rengi yoksa null'dır.
color.backgroundColorstring- Saklanan renk: bir hex değeri ya da bir gradyan belirteci. `listColors` bir gradyanın iki ucunu verir.
color.textColorstring- Uygulamanın rengin üzerine çizdiği yazı rengi, `#18181B` ya da `#FFFFFF`; saklanmaz, sunucuda hesaplanır.
threadCountint- Etiketin şu anda kaç konuşmada bulunduğu. Belirli adreslerle sınırlı bir anahtar için yalnızca bu adreslere teslim edilen konuşmalar sayılır.
createdAtstring or null- Etiketin oluşturulduğu zaman, ISO 8601 olarak; bu zamanlar kaydedilmeden önce oluşturulmuş bir etikette null.
updatedAtstring or null- Son yeniden adlandırma ya da renk değişikliği, ISO 8601 olarak; bu zamanlar kaydedilmeden önce oluşturulmuş bir etikette null.
Yanıt: bir renk örneği (labels->listColors)
kindstring- Örneğin tek bir renk mi yoksa bir gradyan mı olduğu: `solid` ya da `gradient`.
namestring- Örneğin adı, `red` ya da `sunset` gibi.
valuestring- Bu örneği kullanmak için `color.backgroundColor` olarak gönderilecek değer.
solidstring- Geçiş çizilemeyen yerler için tek bir hex değeri. Düz renkte `value` ile aynıdır.
fromstring or null- 135 derecelik açıyla çizilen bir gradyanın başladığı renk. Düz bir renkte null'dır.
tostring or null- Bir gradyanın bittiği renk. Düz bir renkte null'dır.
textColorstring- Uygulamanın bu örneğin üzerine çizdiği yazı rengi.