Настройка доступа сотрудников к ящикам друг друга (делегирование)

Вы можете предоставлять одним сотрудникам доступ к ящикам других сотрудников. Это может быть полезно, если, например, сотрудник уходит в отпуск и нужно отвечать клиентам от его имени.

Обратите внимание:

  1. Доступ к почтовому ящику коллеги пока можно получить только через почтовый клиент по протоколам IMAP и SMTP.
  2. Управление доступом пока осуществляется только по API.

Варианты доступа

Яндекс Почта поддерживает три вида доступа к делегированному ящику.

Чтение (IMAP full access)
Позволяет делать все, кроме отправки писем:
  • читать почту;
  • управлять письмами, в том числе их удалять;
  • управлять папками.
Отправка от имени (Send on behalf)
В заголовке письма указывается, что письмо отправлено другим сотрудником от имени владельца ящика. Например, если сотрудник по имени Алексей Иванов отправляет письмо от имени своего начальника Сергея Петрова, получатель увидит примерно следующее: «От имени Сергея Петрова, Алексей Иванов».
Отправка как (Send as)

Для получателя письмо выглядит так, словно владелец ящика отправил его лично. Например, если сотрудник по имени Алексей Иванов отправляет письмо от имени своего начальника Сергея Петрова, получатель увидит только имя Сергея Петрова.

Сотруднику можно выдать как все три доступа, так и только нужные.

Сможет ли сотрудник выбрать способ отправки письма, если предоставить ему оба вида доступа?
Да, если такую возможность поддерживает его почтовый клиент. Инструкции по настройке почтовых клиентов есть в справке для пользователей.

Как предоставить доступ

  1. Воспользуйтесь инструкцией на странице Доступ к API, чтобы получить OAuth-токен. При создании приложения выберите доступы ya360_admin:mail_read_shared_mailbox_inventory и ya360_admin:mail_write_shared_mailbox_inventory .
  2. Определите идентификатор организации: откройте admin.yandex.by и выберите Общие настройки → Профиль организации. Идентификатор будет написан под названием организации.
  3. Определите идентификаторы владельца ящика и сотрудника, которому нужно предоставить доступ. Чтобы определить идентификатор:
    1. Выберите Пользователи → Сотрудники.
    2. Найдите строчку нужного сотрудника и нажмите на его имя.
    3. Правой кнопкой нажмите на логин сотрудника и скопируйте адрес ссылки.
    4. Вставьте адрес в любой текстовый редактор. Идентификатор — это часть адреса после uid=. Например, из адреса

      https://staff.yandex.ru/bb?org_id=5487632&uid=2260000054273165

      получится идентификатор

      2260000054273165
    А можно ли определить идентификаторы сотрудников тоже по API?
    Конечно. Есть запрос, который возвращает их список. Посмотреть документацию
  4. Составьте URL запроса, вставив идентификаторы в шаблон:

    https://api360.yandex.net/admin/v1/org/{ОРГАНИЗАЦИЯ}/mail/delegated?resourceId={ВЛАДЕЛЕЦ ЯЩИКА}&actorId={СОТРУДНИК С ДОСТУПОМ}

    Получится примерно так:

    https://api360.yandex.net/admin/v1/org/5487632/mail/delegated?resourceId=2260000054273165&actorId=3340000075421587

  5. Создайте файл с именем body.json со следующим содержимым:

    {
      "rights": [
        "imap_full_access",
        "send_on_behalf",
        "send_as"
      ]
    }

    Если вы хотите ограничить возможности сотрудника, уберите send_on_behalf или send_as из списка, например:

    {
      "rights": [
        "imap_full_access",
        "send_on_behalf"
      ]
    }

    Не убирайте из списка доступ imap_full_access, потому что он отвечает за чтение почты.

  6. Сформируйте и отправьте POST-запрос. Если вы работаете на Windows, это можно сделать с помощью команды curl такого вида:

    curl -X POST -H "Authorization: OAuth {OAUTH-ТОКЕН}" -H "Content-Type: application/json" -d "@body.json" https://api360.yandex.net/admin/v1/org/{ID ОРГАНИЗАЦИИ}/mail/delegated?resourceId={ID ВЛАДЕЛЬЦА ЯЩИКА}&actorId={ID СОТРУДНИКА С ДОСТУПОМ}

    Я не понимаю, как это сделать
    1. Подготовьте команду: скопируйте пример в любой редактор, вставьте в указанные места токен и идентификаторы.
    2. Откройте папку, в которой лежит файл body.json.
    3. Нажмите на пустое место в адресной строке.
    4. Напишите туда cmd и нажмите клавишу Enter.
    5. Откроется окно «Командная строка». Вставьте в него готовую команду и нажмите Enter.
  7. Сохраните идентификатор задачи, полученный в ответ.
  8. Чтобы убедиться, что доступ предоставлен, спустя несколько минут выполните другой запрос:

    curl -X GET -H "Authorization: OAuth {OAUTH-ТОКЕН}" GET https://api360.yandex.net/admin/v1/org/{ID ОРГАНИЗАЦИИ}/mail/delegated/tasks/{ID ЗАДАЧИ}

Как отозвать доступ

  1. Если вы не знаете идентификаторы организации, владельца ящика и сотрудника с доступом к ящику, выполните пункты 1–3 из предыдущей инструкции.
  2. Составьте URL запроса, вставив идентификаторы в шаблон:

    https://api360.yandex.net/admin/v1/org/{ОРГАНИЗАЦИЯ}/mail/delegated?resourceId={ВЛАДЕЛЕЦ ЯЩИКА}&actorId={СОТРУДНИК С ДОСТУПОМ}

    Получится примерно так:

    https://api360.yandex.net/admin/v1/org/5487632/mail/delegated?resourceId=2260000054273165&actorId=3340000075421587
  3. Сформируйте и отправьте DELETE-запрос. Если вы работаете на Windows, это можно сделать с помощью команды curl такого вида: curl -X DELETE -H "Authorization: OAuth {OAUTH-ТОКЕН}" https://api360.yandex.net/admin/v1/org/{ID ОРГАНИЗАЦИИ}/mail/delegated?resourceId={ID ВЛАДЕЛЬЦА ЯЩИКА}&actorId={ID СОТРУДНИКА С ДОСТУПОМ}

  4. Сохраните идентификатор задачи, полученный в ответ.
  5. Чтобы убедиться, что доступ предоставлен, спустя несколько минут выполните другой запрос:

    curl -X GET -H "Authorization: OAuth {OAUTH-ТОКЕН}" GET https://api360.yandex.net/admin/v1/org/{ID ОРГАНИЗАЦИИ}/mail/delegated/tasks/{ID ЗАДАЧИ}

Документация API

Полное описание всех методов для управления доступом вы найдете в документации.

Как помочь сотруднику настроить почтовый клиент

Сотрудник может получить доступ к ящику коллеги только через почтовый клиент — Microsoft Outlook, Mozilla Thundebird или Почта для macOS. Настройка этих программ описана в справке для пользователей.