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`, что бы ни было записано, поэтому светлый фон приходит с нечитаемым текстом на нём.