Создание и обновление правил маршрутизации

Создает новые или обновляет существующие правила маршрутизации для организации.

Для выполнения запроса требуется право ya360_admin:mail_write_domain_routes.

Request

POST

https://cloud-api.yandex.net/v1/mail/organizations/{org_id}/routes/set

Path parameters

Name

Description

org_id

Type: integer

Идентификатор организации, для которой настраиваются правила маршрутизации.

Min value: 1

Body

application/json
{
  "items": [
    {
      "recipient_domain": "example.com",
      "relay": "mx.example.com",
      "recipient_category": "EXTERNAL_RECIPIENTS",
      "description": "Маршрутизация для внешних получателей"
    }
  ]
}

Name

Description

items

Type: SetItems

Список правил маршрутизации.

Возможное количество правил в запросе: от 1 до 1000.

Example
[
  {
    "recipient_domain": "example.com",
    "relay": "mx.example.com",
    "recipient_category": "EXTERNAL_RECIPIENTS",
    "description": "Маршрутизация для внешних получателей"
  }
]

RoutingSetRule

Правило маршрутизации для создания или обновления.

Name

Description

recipient_category

Type: string

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

Возможные значения:

  • ALL_RECIPIENTS — все получатели.
  • EXTERNAL_RECIPIENTS — внешние получатели:
    • Для правил с указанным доменом категория EXTERNAL_RECIPIENTS означает получателей, которые не являются Яндекс-получателями и у которых нет UID в blackbox.
    • Для правил с пустым доменом ("") категория EXTERNAL_RECIPIENTS означает внешних по отношению к организации получателей.

Enum: ALL_RECIPIENTS, EXTERNAL_RECIPIENTS

relay

Type: string

Адрес почтового сервера.

Example: mx.example.com

description

Type: string

Описание правила маршрутизации.

Возможная длина: от 1 до 200 символов.

Min length: 1

Max length: 200

Example: Маршрутизация для внешних получателей

recipient_domain

Type: string

Домен получателя письма. Среди доменов в теле запроса не должно быть некорректных и одинаковых.

Example: example.com

Example
{
  "recipient_domain": "example.com",
  "relay": "mx.example.com",
  "recipient_category": "EXTERNAL_RECIPIENTS",
  "description": "Маршрутизация для внешних получателей"
}

SetItems

Список правил маршрутизации.

Возможное количество правил в запросе: от 1 до 1000.

Type: RoutingSetRule[]

Example
[
  {
    "recipient_domain": "example.com",
    "relay": "mx.example.com",
    "recipient_category": "EXTERNAL_RECIPIENTS",
    "description": "Маршрутизация для внешних получателей"
  }
]

Responses

200 OK

Правила маршрутизации созданы или изменены.

Body

application/json
{
  "message": "Правила маршрутизации сохранены."
}

Name

Description

message

Type: string

Подробное описание статуса выполнения операции.

Example: Правила маршрутизации сохранены.

400 Bad Request

Некорректный запрос.

Body

application/json
{
  "error": "bad_request",
  "description": "Bad request",
  "message": "Bad request",
  "details": {}
}

Name

Description

description

Type: string

Техническое описание ошибки.

Example: Bad request

error

Type: string

Код ошибки

Example: bad_request

message

Type: string

Сообщение об ошибке.

Example: Bad request

details

Type: object

Дополнительные детали ошибки

Example
{}

401 Unauthorized

Пользователь не авторизован.

Body

application/json
{
  "error": "unauthorized",
  "description": "Unauthorized",
  "message": "Unauthorized",
  "details": {}
}

Name

Description

description

Type: string

Техническое описание ошибки.

Example: Unauthorized

error

Type: string

Код ошибки

Example: unauthorized

message

Type: string

Сообщение об ошибке.

Example: Unauthorized

details

Type: object

Дополнительные детали ошибки

Example
{}

403 Forbidden

Доступ к ресурсу запрещен. У пользователя или приложения недостаточно прав.

Body

application/json
{
  "error": "forbidden",
  "description": "Forbidden",
  "message": "Forbidden",
  "details": {}
}

Name

Description

description

Type: string

Техническое описание ошибки.

Example: Forbidden

error

Type: string

Код ошибки

Example: forbidden

message

Type: string

Сообщение об ошибке.

Example: Forbidden

details

Type: object

Дополнительные детали ошибки

Example
{}

422 Unprocessable Entity

Business logic error

Body

application/json
{
  "error": "business_logic_error",
  "description": "Business logic error",
  "message": "Business logic error",
  "details": {}
}

Name

Description

description

Type: string

Техническое описание ошибки.

Example: Business logic error

error

Type: string

Код ошибки

Example: business_logic_error

message

Type: string

Сообщение об ошибке.

Example: Business logic error

details

Type: object

Дополнительные детали ошибки

Example
{}

500 Internal Server Error

Внутренняя ошибка сервиса. Попробуйте повторно отправить запрос через некоторое время.

Body

application/json
{
  "error": "internal_server_error",
  "description": "Internal server error",
  "message": "Internal server error",
  "details": {}
}

Name

Description

description

Type: string

Техническое описание ошибки.

Example: Internal server error

error

Type: string

Код ошибки

Example: internal_server_error

message

Type: string

Сообщение об ошибке.

Example: Internal server error

details

Type: object

Дополнительные детали ошибки

Example
{}