Изменить список разрешенных отправителей рассылок на группы и подразделения

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

Поддерживает три типа операций:

  • grant — добавить новых отправителей;
  • revoke — удалить существующих отправителей;
  • overwrite — полностью заменить текущий список.

Примечание

Чтобы выполнить запрос, приложению требуются разрешения:

  • ya360_admin:mail_read_mail_list_permissions — просмотр разрешений на рассылку;
  • ya360_admin:mail_write_mail_list_permissions — изменение разрешений на рассылку.

Запрос

POST https://cloud-api.yandex.net/v1/admin/org/{org_id}/mail-lists/{email_id}/update-permissions

Path-параметры

Имя параметра

Тип

Описание

org_id *

integer

Идентификатор организации.

email_id *

integer

Идентификатор рассылки.

Заголовки

Authorization: OAuth <токен>  
Content-Type: application/json  

Тело

Имя параметра

Тип

Описание

role_actions *

array

Массив операций с разрешениями RoleAction.

RoleAction

Имя параметра

Тип

Описание

type *

string

Тип операции:

  • grant — добавить новых отправителей к существующему списку;
  • revoke — удалить указанных отправителей из списка;
  • overwrite — заменить текущий список для указанных типов субъектов.

roles *

array

Всегда ["mail_list_sender"].

subjects *

array

Массив объектов Subject с информацией о субъектах, имеющих разрешение.

Важно

При выполнении операции overwrite нужно заново указать всех разрешенных отправителей выбранных типов — текущие списки отправителей для этих типов будут удалены. Например, при выполнении overwrite для типа субъектов group (группа) будут удалены все существующие разрешения для групп и заново добавлены разрешения для тех групп, которые вы укажете в permissions-list.json. При этом списки других типов — например, пользователей — останутся без изменений после этой операции.

Subject

Имя параметра

Тип

Описание

type *

string

Тип субъекта:

  • user — пользователь;
  • shared_mailbox — общий почтовый ящик;
  • group — группа;
  • department — подразделение;
  • organization — вся организация;
  • anonymous — любой пользователь.

id *

integer

Идентификатор субъекта.

org_id

integer

Идентификатор организации (0 — если пользователь не относится ни к одной организации).

Примеры

Пример запроса
curl -X POST -H "Authorization: OAuth <токен>" -H "Content-Type: application/json" -d "@permissions-list.json" https://cloud-api.yandex.net/v1/admin/org/1234567/mail-lists/1150000045826541/update-permissions  
Пример тела permissions-list.json для добавления отправителя-пользователя
{  
    "role_actions": [{  
      "type": "grant",  
      "roles": ["mail_list_sender"],  
      "subjects": [{  
        "type": "user",  
        "id": 1150000062907856,  
        "org_id": 1234567  
        }]  
    }]  
}
Пример тела permissions-list.json для разрешения отправки всем
{
  "role_actions": [{
    "type": "overwrite",
    "roles": ["mail_list_sender"],
    "subjects": [{
      "type": "anonymous", 
      "id": null
    }]
  }]
}
Пример тела permissions-list.json для запрета отправки всем
{
  "role_actions": [{
    "type": "revoke",
    "roles": ["mail_list_sender"],
    "subjects": [{
      "type": "anonymous",
      "id": null
    }]
  }]
}

Ответ

Успешный ответ

Результатом корректного запроса является ответ с кодом 204.

204 No Content — запрос выполнен успешно.

Неуспешный ответ

Ошибки могут быть со следующими HTTP-статусами:

  • 400 Bad Request — параметры запроса не заданы или заданы неверно;
  • 401 Unauthorized — пользователь не авторизован;
  • 403 Forbidden — у пользователя или приложения нет прав на доступ к списку разрешений;
  • 404 Not Found — запрашиваемая рассылка организации не найдена;
  • 500 Internal Server Error — ошибка произошла на стороне сервера (в этом случае попробуйте повторно отправить запрос через некоторое время).