Общие ящики
Общий ящик — ящик, у которого нет конкретного владельца: им пользуются несколько сотрудников, например из одного отдела.
Если у организации не подключен домен, создать общие ящики не получится. Как подключить домен
Создание и настройка общего ящика
Все операции с общими ящиками пока доступны только через API.
Шаг 1. Подготовьтесь к работе с API
-
Для работы с API вам потребуется OAuth-токен, который можно получить после создания приложения в сервисе Яндекс OAuth.
- Если у вас еще нет OAuth-приложения, то для его создания и получения токена воспользуйтесь инструкцией на странице Доступ к API. При создании приложения выберите права
ya360_admin:mail_read_shared_mailbox_inventory
иya360_admin:mail_write_shared_mailbox_inventory
. - Если у вас уже есть OAuth-приложение для работы с API Яндекс 360 для бизнеса, то добавьте ему права на просмотр и изменение настроек доступа к почтовым ящикам, а затем получите новый OAuth-токен по инструкции.
- Если у вас еще нет OAuth-приложения, то для его создания и получения токена воспользуйтесь инструкцией на странице Доступ к API. При создании приложения выберите права
-
Соберите данные, которые потребуются для API-запросов.
-
Определите идентификатор организации: откройте admin.yandex.ru и выберите Общие настройки → Профиль организации. Идентификатор будет написан под названием организации.
-
Определите идентификатор сотрудника, которому нужно предоставить доступ. Чтобы определить идентификатор:
-
Выберите Пользователи → Сотрудники.
-
Найдите строчку нужного сотрудника и нажмите на его имя.
-
Правой кнопкой нажмите на логин сотрудника и скопируйте адрес ссылки.
-
Вставьте адрес в любой текстовый редактор. Идентификатор — это часть адреса после
uid=
. Например, из адресаhttps://staff.yandex.ru/bb?org_id=5487632&uid=2260000054273165
получится идентификатор
2260000054273165
.А можно ли определить идентификаторы сотрудников тоже по API?
Конечно. Есть запрос, который возвращает их список. Посмотреть документацию
-
-
Шаг 2. Создайте общий ящик
-
Подготовьте файл с именем parameters.json, который будет содержать данные для запроса. Это можно сделать в любом текстовом редакторе. В файле укажите параметры создаваемого общего ящика в следующем формате:
{ "email": "{АДРЕС}", "name": "{ИМЯ}", "description": "{ОПИСАНИЕ}" }
где
{АДРЕС}
— адрес электронной почты общего ящика;
{ИМЯ}
— имя общего ящика;
{ОПИСАНИЕ}
— краткое описание общего ящика. -
Сформируйте и отправьте запрос на создание общего ящика:
-
HTTP-метод:
PUT
-
URL запроса:
https://api360.yandex.net/admin/v1/org/{ОРГАНИЗАЦИЯ}/mailboxes/shared
где
{ОРГАНИЗАЦИЯ}
— идентификатор организации, полученный по инструкции «Подготовка к работе с API» на шаге 2.1.Пример
https://api360.yandex.net/admin/v1/org/1234567/mailboxes/shared
-
Заголовки:
Authorization: OAuth {OAUTH-ТОКЕН} Content-Type: application/json
где
{OAUTH-ТОКЕН}
— OAuth-токен, полученный по инструкции «Подготовка к работе с API» на шаге 1. -
Тело запроса: содержится в файле parameters.json, созданном на шаге 1 данной инструкции.
Если вы работаете на Windows, то отправить запрос на разрешение делегирования ящика можно с помощью команды
curl
такого вида:curl -X PUT -H "Authorization: OAuth {OAUTH-ТОКЕН}" -H "Content-Type: application/json" -d "@parameters.json" https://api360.yandex.net/admin/v1/org/{ОРГАНИЗАЦИЯ}/mailboxes/shared
где
{OAUTH-ТОКЕН}
— OAuth-токен, полученный по инструкции «Подготовка к работе с API» на шаге 1;
parameters.json
— файл с телом запроса, созданный на шаге 1 данной инструкции;
{ОРГАНИЗАЦИЯ}
— идентификатор организации, полученный по инструкции «Подготовка к работе с API» на шаге 2.1.Я не понимаю, как это сделать
-
Подготовьте команду: скопируйте пример в любой редактор, вставьте в указанные места токен и идентификаторы.
-
Откройте папку, в которой лежит файл parameters.json.
-
Нажмите на пустое место в адресной строке.
-
Напишите туда
cmd
и нажмите клавишу Enter. -
Откроется окно «Командная строка». Вставьте в него готовую команду и нажмите Enter.
-
-
Проанализируйте полученный ответ: в случае успешного выполнения запроса в ответе вы получите статус
200 OK
с указанием идентификатора созданного общего ящика. Сохраните этот идентификатор.
Шаг 3. Предоставьте доступ
Групповые операции на предоставление доступов пока не поддерживаются. За один запрос можно предоставить, изменить или удалить право доступа только для одного сотрудника к одному почтовому ящику. Но вы можете одновременно направить несколько таких запросов.
-
Подготовьте файл с именем roles.json, который будет содержать данные для запроса. Это можно сделать в любом текстовом редакторе. В файле укажите роли сотрудника, которому открывается доступ к ящику. Описание ролей приведено в разделе Роли и права доступа.
Пример файла roles.json:
{ "roles": [ "shared_mailbox_imap_admin", "shared_mailbox_half_sender" ] }
В списке должна присутствовать одна из ролей
shared_mailbox_sender
либоshared_mailbox_owner
, потому что они отвечают за чтение почты. -
С помощью запроса к API предоставьте доступ сотрудникам к общему ящику:
-
HTTP-метод:
POST
-
URL запроса:
https://api360.yandex.net/admin/v1/org/{ОРГАНИЗАЦИЯ}/mailboxes/set/{ЯЩИК}?actorId={СОТРУДНИК С ДОСТУПОМ}¬ify={ПАРАМЕТР ОТПРАВКИ УВЕДОМЛЕНИЙ}
где
{ОРГАНИЗАЦИЯ}
— идентификатор организации, полученный по инструкции «Подготовка к работе с API» на шаге 2.1;
{ЯЩИК}
— идентификатор общего ящика, созданного по инструкции Создание ящика;
{СОТРУДНИК С ДОСТУПОМ}
— идентификатор сотрудника, которому нужно предоставить доступ к ящику, полученный по инструкции «Подготовка к работе с API» на шаге 2.2;
{ПАРАМЕТР ОТПРАВКИ УВЕДОМЛЕНИЙ}
— параметр, который определяет, кому необходимо отправить письмо-уведомление об изменении прав доступа к ящику. Возможные значения:all
,delegates
,none
. Описание значений параметра приведены в разделе Уведомления.Пример
https://api360.yandex.net/admin/v1/org/1234567/mailboxes/mailboxes/set/2260000054273165?actorId=3340000075421587¬ify=all
-
Заголовки:
Authorization: OAuth {OAUTH-ТОКЕН} Content-Type: application/json
где
{OAUTH-ТОКЕН}
— OAuth-токен, полученный по инструкции «Подготовка к работе с API» на шаге 1. -
Тело запроса: содержится в файле roles.json, созданном на шаге 1 данной инструкции.
Если вы работаете на Windows, то отправить запрос на разрешение делегирования ящика можно с помощью команды
curl
такого вида:curl -X POST -H "Authorization: OAuth {OAUTH-ТОКЕН}" -H "Content-Type: application/json" -d "@roles.json" https://api360.yandex.net/admin/v1/org/{ОРГАНИЗАЦИЯ}/mailboxes/set/{ЯЩИК}?actorId={СОТРУДНИК С ДОСТУПОМ}¬ify={ПАРАМЕТР ОТПРАВКИ УВЕДОМЛЕНИЙ}
где
{OAUTH-ТОКЕН}
— OAuth-токен, полученный по инструкции «Подготовка к работе с API» на шаге 1;
roles.json
— файл с телом запроса, созданный на шаге 1 данной инструкции;
{ОРГАНИЗАЦИЯ}
— идентификатор организации, полученный по инструкции «Подготовка к работе с API» на шаге 2.1;
{ЯЩИК}
— идентификатор общего ящика, созданного по инструкции Создание ящика;
{СОТРУДНИК С ДОСТУПОМ}
— идентификатор сотрудника, которому нужно предоставить доступ к ящику, полученный по инструкции «Подготовка к работе с API» на шаге 2.2;
{ПАРАМЕТР ОТПРАВКИ УВЕДОМЛЕНИЙ}
— параметр, который определяет, кому необходимо отправить письмо-уведомление об изменении прав доступа к ящику. Возможные значения:all
,delegates
,none
. Описание значений параметра приведены в разделе Уведомления. -
-
Проанализируйте полученный ответ: в случае успешного выполнения запроса в ответе вы получите статус
200 OK
и идентификатор задачи на изменение прав. Сохраните полученный идентификатор. -
Чтобы убедиться, что доступ предоставлен, выполните еще один запрос, подставив в него идентификатор задачи:
curl -X GET -H "Authorization: OAuth {OAUTH-ТОКЕН}" https://api360.yandex.net/admin/v1/org/{ОРГАНИЗАЦИЯ}/mailboxes/tasks/{ID ЗАДАЧИ}
В ответ вы получите статус задачи на изменение прав. Права успешно изменены, если в ответе пришло значение
complete
.
Шаг 4. Помогите сотрудникам с настройкой почты
Инструкция по настройке почтовых клиентов содержится в разделе Совместный доступ к ящикам в почтовых программах.
Отключение доступа
Чтобы отключить доступ к ящику конкретному сотруднику, выполните пункты инструкции по предоставлению доступа, только в файле с перечнем доступных ролей roles.json укажите пустой список:
{
"roles": []
}
Удаление ящика
Удалить общий ящик можно с помощью DELETE-запроса:
curl -X DELETE -H "Authorization: OAuth {OAUTH-ТОКЕН}" https://api360.yandex.net/admin/v1/org/{ОРГАНИЗАЦИЯ}/mailboxes/shared/{ЯЩИК}
Документация API
Полное описание всех методов для управления доступом вы найдете в документации.
API — специальный механизм управления сервисами Яндекс 360, предназначенный прежде всего для автоматизации процессов. Есть два способа работать с API: создать специальное приложение (это может сделать разработчик) или использовать командную строку компьютера. Документация для разработчиков содержится в отдельной справке.
Специальный код, разрешающий доступ к данным от имени конкретного пользователя.
API запрос на создание нового ресурса на сервере. Используется для отправки данных на сервер для создания нового объекта или выполнения какого-либо действия.
API запрос на удаление существующего ресурса на сервере. Используется для удаления ресурса по его идентификатору или другому уникальному идентификатору.