SDK
التسميات
`labels.list` و`get` و`create` و`update` و`delete`.
كل التوابع
const labels = await openemail.labels.list()const label = await openemail.labels.get('USER_INVOICES') const created = await openemail.labels.create({ name: 'Invoices', color: { backgroundColor: '#e8eaed', textColor: '#3c4043' },}) await openemail.labels.update(created.id!, { name: 'Invoices 2027' })await openemail.labels.delete(created.id!)يُحَل list إلى مصفوفة عادية، لأن التسميات غير مقسَّمة إلى صفحات. ويُعاد color عند القراءة بدل إسقاطه، كي يتمكن العميل من عرض التسمية كما يراها المستخدم. وtype دائمًا user، فلا شيء يستدعي التفرّع. والمعرّفات مشتقة من الاسم، فـInvoices هو USER_INVOICES.
المعاملات: labels.create و labels.update
namestringمطلوب- الاسم الظاهر للتسمية، يُقتطع الفراغ منه قبل قياسه، فالحد من 1 إلى 225 حرفًا بعد الاقتطاع. والفراغ وحده يعطي 422 بدل صف بلا اسم فيه نقطة لون ولا شيء يُقرأ أو يُنقر. ويرفض `create` إضافةً إلى ذلك متى كان صندوق البريد يحمل 50 تسمية مستخدم، بخطأ 422 هو `label_limit_reached` يسمّي `name`.
colorLabelColor- اختياري في كلا النداءين، وإغفاله في `update` يترك اللون المخزَّن كما هو بدل مسحه. والمتن صارم، فمفتاح قريب الشبه مثل `colour` يعطي 422 بدل عملية صامتة بلا أثر.
color.backgroundColorstringمطلوب- مطلوب متى أُعطي `color`، و32 حرفًا كحد أقصى. وفي صندوق البريد الأصلي هذا هو النصف الوحيد المحفوظ: يخزّن الصف لونًا واحدًا.
color.textColorstringمطلوب- مطلوب متى أُعطي `color`، و32 حرفًا كحد أقصى.
الاستجابة: Label
object'label'- دائمًا السلسلة `label`. وتعيده عملية الكتابة أيضًا، على `SavedLabelResource` لا على هذا النوع.
idstring- المعرّف الخاص بصندوق البريد، وهو ما يأخذه `get` و`update` و`delete`. وفي عملية الكتابة يصل باسم `SavedLabelResource.id` وهو قابل لأن يكون null. وحين يكون null، ابحث عن التسمية عبر السرد.
namestring- ما يراه المستخدم، ويكون سلسلة فارغة لا null حين يعيد صندوق البريد تسمية بلا اسم. وفي صندوق البريد الأصلي يُشتق المعرّف من هذا الاسم (فـ`Follow up` يصبح `USER_FOLLOW_UP`)، ولذلك تُرفض تسمية ثانية تُطبَّع إلى المعرّف نفسه بخطأ 409 هو `label_name_taken` بدل أن تطمس الأولى.
typestring- دائمًا `user`. ولا تُقدَّم هنا إلا تسميات المستخدم: تُرشَّح معرّفات المجلدات القياسية قبل بناء الاستجابة، ومعرّف نظامي في `get` يعطي 404. ويرتد المسار إلى `user` حين يغفل صندوق البريد الحقل، ولا شيء في `LabelInput` يضبطه.
colorLabelColor | null- يكون null حين لا يبلّغ صندوق البريد بأي لون للتسمية. اختبر السلاسل لا الكائن قبل العرض. فالزوج الفارغ ليس كالزوج الغائب.
color.backgroundColorstring- خلفية التسمية كما يحفظها صندوق البريد. تُعاد بدل أن تُسقَط، كي يتمكن العميل من عرض التسمية كما يراها المستخدم في التطبيق.
color.textColorstring- لون المقدمة. لا يملك صندوق البريد الأصلي عمودًا له: تعيد القراءات `#ffffff` مهما كُتب، فتعود خلفية فاتحة ومعها نص لا يُقرأ فوقها.