दस्तावेज़ पर जाएँ
Ruby

लेबल

`labels.list`, `list_all`, `iterate`, `list_colors`, `get`, `create`, `update` और `delete`।

हर मेथड

labels.rb
page = client.labels.list(limit: 50)every = client.labels.list_allcolors = client.labels.list_colorsputs page.items.size, every.size, colors.size client.labels.iterate do |row|  puts "#{row[:name]} #{row[:threadCount]}"end 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])puts label[:name], label.dig(:color, :backgroundColor) client.labels.delete(created[:id])

list नाम से क्रमित लेबलों का एक OpenEmail::Page लौटाता है, और list_all तथा iterate हर पेज पर चलते हैं। list_all एक Array लौटाता है, और iterate एक बार में एक लेबल block में yield करता है, या block के बिना एक Enumerator लौटाता है। हर लेबल Symbol कुंजियों वाला Hash है जिसमें उसका रंग, threadCount और वह कब बना तथा आख़िरी बार कब बदला, ये होते हैं। list_colors ऐप द्वारा दिया जाने वाला पैलेट, चौदह ठोस रंग और सात gradient, बिना पेजिंग के Hashes की एक सादी Array के रूप में लौटाता है। type हमेशा user होता है। id उस नाम से आती है जिससे लेबल बनाया गया था, इसलिए Invoices की id USER_INVOICES है, और यह कभी नहीं बदलती।

create और update के फ़ील्ड keyword arguments या एक Hash होते हैं, और API के नाम बनाए रखते हैं, इसलिए रंग 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` है, जो `OpenEmail::ConflictError` के रूप में raise होता है। जब वर्कस्पेस में 50 लेबल हो जाते हैं तो `create` 422 `label_limit_reached` के साथ अस्वीकार करता है, जो `OpenEmail::ValidationError` के रूप में raise होता है।
colorHash or nil
दोनों कॉल पर वैकल्पिक। `update` पर इसे छोड़ने से सहेजा गया रंग बना रहता है, और `color: nil` उसे साफ़ कर देता है। बॉडी सख़्त है, इसलिए `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 करता है।

जवाब: एक लेबल

लेबल Symbol कुंजियों वाला एक Hash है, इसलिए label[:threadCount] गिनती पढ़ता है, और label.dig(:color, :backgroundColor) रंग पढ़ता है और लेबल का कोई रंग न हो तो nil देता है।

objectString
हमेशा स्ट्रिंग `label`। `create` और `update` यही Hash लौटाते हैं, जैसा सहेजा गया वैसा पढ़कर।
idString
लेबल की id, और वही जो `get`, `update`, `delete` और `threads.update` लेते हैं। यह कभी नहीं बदलती, नाम बदलने के बाद भी नहीं।
nameString
जो उपयोगकर्ता देखता है।
typeString
हमेशा `user`। सिस्टम लेबल यहाँ कभी नहीं दिए जाते, और `get` पर सिस्टम id 404 है, जो `OpenEmail::NotFoundError` के रूप में raise होता है।
colorHash or nil
जब लेबल का कोई रंग न हो तो यह nil है।
color.backgroundColorString
सहेजा गया रंग: एक hex मान या gradient टोकन। `list_colors` gradient के दोनों सिरे देता है।
color.textColorString
वह स्याही जो app रंग पर खींचता है, `#18181B` या `#FFFFFF`, जो सहेजी नहीं जाती बल्कि सर्वर पर निकाली जाती है।
threadCountInteger
अभी कितनी बातचीतों पर यह लेबल है। कुछ पतों तक सीमित key के लिए केवल उन्हीं पतों पर पहुँची बातचीतें गिनी जाती हैं।
createdAtString or nil
लेबल कब बना, ISO 8601 के रूप में, या उस लेबल के लिए nil जो इन समयों के दर्ज होने से पहले बना।
updatedAtString or nil
आख़िरी बार नाम या रंग कब बदला, ISO 8601 के रूप में, या उस लेबल के लिए nil जो इन समयों के दर्ज होने से पहले बना।

जवाब: एक रंग नमूना (labels.list_colors)

kindString
नमूना एक रंग है या gradient: `solid` या `gradient`।
nameString
स्वॉच का नाम, जैसे `red` या `sunset`।
valueString
इस स्वॉच को इस्तेमाल करने के लिए `color.backgroundColor` के रूप में क्या भेजें।
solidString
उन जगहों के लिए एक अकेला hex जहाँ ग्रेडिएंट नहीं खींचा जा सकता। ठोस रंग में `value` के बराबर।
fromString or nil
gradient कहाँ से शुरू होता है, 135 डिग्री पर खींचा गया। ठोस रंग पर nil।
toString or nil
gradient कहाँ ख़त्म होता है। ठोस रंग पर nil।
textColorString
वह स्याही जो app इस स्वॉच पर खींचता है।