लेबल
`labels->list`, `listAll`, `iterate`, `listColors`, `get`, `create`, `update` और `delete`।
हर मेथड
$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 नाम के अनुसार क्रमबद्ध लेबल का एक OpenEmail\Result\Page लौटाता है, और listAll और iterate हर पेज पर चलते हैं। listAll एक array लौटाता है, और iterate एक Generator लौटाता है जो एक बार में एक लेबल yield करता है। हर लेबल camelCase कुंजियों वाला एक array है जिसमें उसका रंग, threadCount और यह होता है कि वह कब बना और आख़िरी बार कब बदला। listColors ऐप द्वारा दिया जाने वाला palette, चौदह ठोस रंग और सात gradient, बिना paging वाली arrays की सादी सूची के रूप में लौटाता है। type हमेशा user होता है। id उस नाम से बनती है जिससे लेबल बनाया गया था, इसलिए Invoices का USER_INVOICES होता है, और यह कभी नहीं बदलती।
create और update के फ़ील्ड API के नामों वाले एक array की कुंजियाँ हैं, इसलिए रंग 'color' => ['backgroundColor' => '#3B82F6'] है।
लेबल वर्कस्पेस का होता है, इसलिए नाम बदलना, रंग बदलना या हटाना उसे हर सदस्य और हर कुंजी के लिए बदल देता है। threads->update किसी बातचीत पर लेबल लगाता और हटाता है, और $client->threads->list(folder: 'USER_INVOICES') उस लेबल वाली हर बातचीत सूचीबद्ध करता है। “थ्रेड” पेज दोनों को कवर करता है।
पैरामीटर: labels->create और labels->update
namestring- लेबल का display name, मापने से पहले trim किया जाता है, इसलिए trim के बाद सीमा 1 से 225 अक्षर है। `create` पर ज़रूरी और `update` पर वैकल्पिक, जहाँ इसे छोड़ने से नाम बना रहता है। सिर्फ़ खाली जगह 422 है। ऐसा नाम जो किसी दूसरे लेबल के पास पहले से हो, case की परवाह किए बिना तुलना करने पर, 409 `label_name_taken` है, जो `ConflictException` के रूप में throw होता है। वर्कस्पेस में 50 लेबल होने पर `create` 422 `label_limit_reached` के साथ अस्वीकार करता है, जो `ValidationException` के रूप में throw होता है।
colorarray or null- दोनों कॉल पर वैकल्पिक। `update` पर इसे छोड़ने से सहेजा गया रंग बना रहता है, और `'color' => null` उसे साफ़ कर देता है। बॉडी सख़्त है, इसलिए `colour` जैसी लगभग सही कुंजी चुपचाप कुछ न करने के बजाय 422 है।
color.backgroundColorstringआवश्यक- एक hex रंग (`#RGB`, `#RGBA`, `#RRGGBB` या `#RRGGBBAA`, बड़े अक्षरों में सहेजा जाता है) या एक ग्रेडिएंट टोकन: `gradient:sunset`, `gradient:ember`, `gradient:meadow`, `gradient:lagoon`, `gradient:aurora`, `gradient:berry` या `gradient:midnight`। खाली string का मतलब है कोई रंग नहीं, और बाकी कुछ भी 422 `invalid_parameter` देता है।
color.textColorstring- लिया जाता है और अनदेखा किया जाता है। स्याही `backgroundColor` से निकाली जाती है, ठीक वैसे ही जैसे app करता है।
जवाब: एक लेबल
लेबल camelCase कुंजियों वाला एक array है, इसलिए $label['threadCount'] संख्या पढ़ता है, और $label['color']['backgroundColor'] ?? null रंग पढ़ता है और लेबल में रंग न होने पर null देता है।
objectstring- हमेशा स्ट्रिंग `label`। `create` और `update` यही array लौटाते हैं, जैसा सहेजा गया वैसा वापस पढ़कर।
idstring- लेबल की id, और वही जो `get`, `update`, `delete` और `threads->update` लेते हैं। यह कभी नहीं बदलती, नाम बदलने के बाद भी नहीं।
namestring- जो उपयोगकर्ता देखता है।
typestring- हमेशा `user`। सिस्टम लेबल यहाँ कभी नहीं दिए जाते, और `get` पर सिस्टम id 404 है, जो `NotFoundException` के रूप में throw होता है।
colorarray or null- जब लेबल में कोई रंग न हो तो यह null होता है।
color.backgroundColorstring- सहेजा गया रंग: एक hex मान या gradient टोकन। `listColors` gradient के दोनों सिरे देता है।
color.textColorstring- वह स्याही जो app रंग पर खींचता है, `#18181B` या `#FFFFFF`, जो सहेजी नहीं जाती बल्कि सर्वर पर निकाली जाती है।
threadCountint- अभी कितनी बातचीतों पर यह लेबल है। कुछ पतों तक सीमित key के लिए केवल उन्हीं पतों पर पहुँची बातचीतें गिनी जाती हैं।
createdAtstring or null- लेबल कब बना, ISO 8601 में, या इन समयों के दर्ज होने से पहले बने लेबल के लिए null।
updatedAtstring or null- आख़िरी बार नाम या रंग कब बदला, ISO 8601 में, या इन समयों के दर्ज होने से पहले बने लेबल के लिए null।
जवाब: एक रंग swatch (labels->listColors)
kindstring- नमूना एक रंग है या gradient: `solid` या `gradient`।
namestring- स्वॉच का नाम, जैसे `red` या `sunset`।
valuestring- इस स्वॉच को इस्तेमाल करने के लिए `color.backgroundColor` के रूप में क्या भेजें।
solidstring- उन जगहों के लिए एक अकेला hex जहाँ ग्रेडिएंट नहीं खींचा जा सकता। ठोस रंग में `value` के बराबर।
fromstring or null- gradient कहाँ से शुरू होता है, 135 डिग्री पर बनाया गया। ठोस रंग पर यह null होता है।
tostring or null- gradient कहाँ ख़त्म होता है। ठोस रंग पर यह null होता है।
textColorstring- वह स्याही जो app इस स्वॉच पर खींचता है।