برچسبها
`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 یک آرایه برمیگرداند، و iterate یک Generator برمیگرداند که هر بار یک برچسب را yield میکند. هر برچسب یک آرایه با کلیدهای camelCase است که رنگش، threadCount و زمان ساخت و آخرین تغییرش را دارد. listColors پالتی را که برنامه پیشنهاد میدهد، چهارده رنگ یکدست و هفت گرادیان، بهصورت یک فهرست ساده از آرایهها و بدون صفحهبندی برمیگرداند. type همیشه user است. شناسه از نامی میآید که برچسب با آن ساخته شده، پس Invoices میشود USER_INVOICES، و هیچوقت عوض نمیشود.
فیلدهای create و update کلیدهای یک آرایه با نامهای 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` است که بهصورت `ConflictException` پرتاب میشود. `create` وقتی فضای کاری 50 برچسب دارد رد میکند، با یک 422 `label_limit_reached` که بهصورت `ValidationException` پرتاب میشود.
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`. رشتهٔ خالی یعنی بیرنگ، و هر چیز دیگری یک 422 `invalid_parameter` است.
color.textColorstring- پذیرفته و نادیده گرفته میشود. جوهر از `backgroundColor` محاسبه میشود، همانطور که برنامه این کار را میکند.
پاسخ: یک برچسب
هر برچسب یک آرایه با کلیدهای camelCase است، پس $label['threadCount'] تعداد را میخواند، و $label['color']['backgroundColor'] ?? null رنگ را میخواند و وقتی برچسب رنگی ندارد null میدهد.
objectstring- همیشه رشتهٔ `label`. `create` و `update` همین آرایه را برمیگردانند، همانطور که ذخیره شده خواندهشده.
idstring- شناسهٔ برچسب، و چیزی که `get`، `update`، `delete` و `threads->update` میگیرند. هیچوقت عوض نمیشود، حتی پس از تغییر نام.
namestring- چیزی که کاربر میبیند.
typestring- همیشه `user`. برچسبهای سیستمی هرگز اینجا ارائه نمیشوند، و شناسهٔ سیستمی در `get` یک 404 است که بهصورت `NotFoundException` پرتاب میشود.
colorarray or null- وقتی برچسب رنگی ندارد null است.
color.backgroundColorstring- رنگ ذخیرهشده: یک مقدار hex یا یک توکن گرادیان. `listColors` دو سر یک گرادیان را میدهد.
color.textColorstring- جوهری که برنامه روی رنگ میکشد، `#18181B` یا `#FFFFFF`، که بهجای ذخیرهشدن روی سرور محاسبه میشود.
threadCountint- تعداد گفتگوهایی که اکنون برچسب را دارند. برای کلیدی که به نشانیهای خاصی محدود است، فقط گفتگوهای تحویلشده به همان نشانیها شمرده میشوند.
createdAtstring or null- زمان ساختهشدن برچسب، بهصورت ISO 8601، یا null برای برچسبی که پیش از ثبت این زمانها ساخته شده.
updatedAtstring or null- آخرین تغییر نام یا رنگ، بهصورت ISO 8601، یا null برای برچسبی که پیش از ثبت این زمانها ساخته شده.
پاسخ: یک نمونهرنگ (labels->listColors)
kindstring- اینکه نمونهرنگ یک رنگ است یا یک گرادیان: `solid` یا `gradient`.
namestring- نام نمونه، مانند `red` یا `sunset`.
valuestring- چیزی که باید بهعنوان `color.backgroundColor` فرستاد تا از این نمونه استفاده شود.
solidstring- یک hex تنها برای جاهایی که نمیتوان گرادیان کشید. در رنگ یکدست همان `value` است.
fromstring or null- جایی که گرادیان شروع میشود، با زاویهٔ 135 درجه. در رنگ یکدست null است.
tostring or null- جایی که گرادیان تمام میشود. در رنگ یکدست null است.
textColorstring- جوهری که برنامه روی این نمونه میکشد.