پرش به مستندات
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 هر بار یک برچسب را به یک بلاک yield می‌کند، یا بدون بلاک یک Enumerator برمی‌گرداند. هر برچسب یک Hash با کلیدهای Symbol است که رنگش، threadCount و زمان ساخت و آخرین تغییرش را دارد. list_colors پالتی را که برنامه پیشنهاد می‌دهد، چهارده رنگ یکدست و هفت گرادیان، به‌صورت یک Array سادهٔ Hashها و بدون صفحه‌بندی برمی‌گرداند. type همیشه user است. شناسه از نامی می‌آید که برچسب با آن ساخته شده، پس Invoices می‌شود USER_INVOICES، و هیچ‌وقت عوض نمی‌شود.

فیلدهای create و update آرگومان‌های کلیدواژه‌ای یا یک Hash هستند و نام‌های API را نگه می‌دارند، پس رنگ به شکل color: {backgroundColor: "#3B82F6"} است.

برچسب به فضای کاری تعلق دارد، پس تغییر نام، تغییر رنگ یا حذف، آن را برای همهٔ اعضا و همهٔ کلیدها تغییر می‌دهد. threads.update برچسب‌ها را روی یک گفت‌وگو می‌گذارد و برمی‌دارد، و client.threads.list(folder: "USER_INVOICES") هر گفت‌وگویی را که آن برچسب را دارد فهرست می‌کند. صفحهٔ «رشته‌ها» هر دو را پوشش می‌دهد.

پارامترها: labels.create و labels.update

nameString
نام نمایشی برچسب، که پیش از اندازه‌گیری فاصله‌های دو سرش حذف می‌شود، پس محدوده پس از این حذف 1 تا 225 نویسه است. در `create` الزامی و در `update` اختیاری است، که ننوشتنش نام را نگه می‌دارد. فقط فاصله یک 422 است. نامی که برچسب دیگری از پیش دارد، با مقایسه‌ای بی‌توجه به بزرگی و کوچکی حروف، یک 409 `label_name_taken` است که به‌صورت `OpenEmail::ConflictError` raise می‌شود. `create` وقتی فضای کاری 50 برچسب دارد رد می‌کند، با یک 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`. رشتهٔ خالی یعنی بی‌رنگ، و هر چیز دیگری یک 422 `invalid_parameter` است.
color.textColorString
پذیرفته و نادیده گرفته می‌شود. جوهر از `backgroundColor` محاسبه می‌شود، همان‌طور که برنامه این کار را می‌کند.

پاسخ: یک برچسب

هر برچسب یک Hash با کلیدهای Symbol است، پس label[:threadCount] تعداد را می‌خواند، و label.dig(:color, :backgroundColor) رنگ را می‌خواند و وقتی برچسب رنگی ندارد nil می‌دهد.

objectString
همیشه String برابر `label`. `create` و `update` همین Hash را برمی‌گردانند، همان‌طور که ذخیره شده خوانده‌شده.
idString
شناسهٔ برچسب، و چیزی که `get`، `update`، `delete` و `threads.update` می‌گیرند. هیچ‌وقت عوض نمی‌شود، حتی پس از تغییر نام.
nameString
چیزی که کاربر می‌بیند.
typeString
همیشه `user`. برچسب‌های سیستمی هرگز اینجا ارائه نمی‌شوند، و شناسهٔ سیستمی در `get` یک 404 است که به‌صورت `OpenEmail::NotFoundError` raise می‌شود.
colorHash or nil
وقتی برچسب رنگی ندارد nil است.
color.backgroundColorString
رنگ ذخیره‌شده: یک مقدار hex یا یک توکن گرادیان. `list_colors` دو سر یک گرادیان را می‌دهد.
color.textColorString
جوهری که برنامه روی رنگ می‌کشد، `#18181B` یا `#FFFFFF`، که به‌جای ذخیره‌شدن روی سرور محاسبه می‌شود.
threadCountInteger
تعداد گفتگوهایی که اکنون برچسب را دارند. برای کلیدی که به نشانی‌های خاصی محدود است، فقط گفتگوهای تحویل‌شده به همان نشانی‌ها شمرده می‌شوند.
createdAtString or nil
زمان ساخته شدن برچسب، به‌صورت ISO 8601، یا nil برای برچسبی که پیش از ثبت این زمان‌ها ساخته شده.
updatedAtString or nil
آخرین تغییر نام یا رنگ، به‌صورت ISO 8601، یا nil برای برچسبی که پیش از ثبت این زمان‌ها ساخته شده.

پاسخ: یک نمونه‌رنگ (labels.list_colors)

kindString
اینکه نمونه‌رنگ یک رنگ است یا یک گرادیان: `solid` یا `gradient`.
nameString
نام نمونه، مانند `red` یا `sunset`.
valueString
چیزی که باید به‌عنوان `color.backgroundColor` فرستاد تا از این نمونه استفاده شود.
solidString
یک hex تنها برای جاهایی که نمی‌توان گرادیان کشید. در رنگ یکدست همان `value` است.
fromString or nil
جایی که گرادیان شروع می‌شود، با زاویهٔ 135 درجه. در رنگ یکدست nil است.
toString or nil
جایی که گرادیان تمام می‌شود. در رنگ یکدست nil است.
textColorString
جوهری که برنامه روی این نمونه می‌کشد.