Задать список правил

Создает или обновляет список правил обработки писем.

Примечание

Чтобы выполнить запрос, приложению требуется разрешение на управление правилами обработки почты для домена. Убедитесь, что вы включили его при настройке приложения на OAuth-сервере Яндекса.

Request

PUT

https://api360.yandex.net/admin/v1/org/{orgId}/mail/routing/rules

Path parameters

Name

Description

orgId

Type: integer

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

Body

application/json
{
  "rules": [
    {
      "condition": {
        "address:from": "spam@example.com"
      },
      "actions": [
        {
          "action": "drop"
        }
      ],
      "scope": {
        "direction": "inbound"
      },
      "terminal": true
    }
  ]
}

Name

Description

rules

Type: v1RuleParams[]

Список правил обработки писем.

Example
[
  {
    "terminal": true,
    "condition": null,
    "actions": [
      {
        "action": "drop",
        "data": {
          "email": "example"
        }
      }
    ],
    "scope": {
      "direction": "inbound"
    }
  }
]

RuleActionParamsRuleAction

  • drop: не доставлять письмо получателю — удалить входящее письмо или не производить отправку исходящего.
  • forward: переслать копию письма на адрес, заданный в параметре email.

Type: string

Default: drop

Enum: drop, forward

v1RuleActionData

Name

Description

email

Type: string

Адрес, на который нужно переслать письмо. Используется, если параметр action имеет значение forward.

Example: example

Example
{
  "email": "example"
}

v1RuleActionParams

Name

Description

action

Type: RuleActionParamsRuleAction

Действие над письмом.

  • drop: не доставлять письмо получателю — удалить входящее письмо или не производить отправку исходящего.
  • forward: переслать копию письма на адрес, заданный в параметре email.

Default: drop

Enum: drop, forward

data

Type: v1RuleActionData

Дополнительные данные для действия.

Example
{
  "email": "example"
}
Example
{
  "action": "drop",
  "data": {
    "email": "example"
  }
}

RuleScopeParamsRuleDirection

  • inbound: правило должно применяться для входящей почты.
  • outbound: правило должно применяться для исходящей почты.

Type: string

Default: inbound

Enum: inbound, outbound

v1RuleScopeParams

Name

Description

direction

Type: RuleScopeParamsRuleDirection

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

  • inbound: правило должно применяться для входящей почты.
  • outbound: правило должно применяться для исходящей почты.

Default: inbound

Enum: inbound, outbound

Example
{
  "direction": "inbound"
}

v1RuleParams

Name

Description

actions

Type: v1RuleActionParams[]

Действия, которые необходимо выполнить при срабатывании правила.

Example
[
  {
    "action": "drop",
    "data": {
      "email": "example"
    }
  }
]

condition

Type: unknown

Условие (составное условие), которое проверяет соответствие письма текущему правилу. Подробное описание параметра.

Example: null

scope

Type: v1RuleScopeParams

Параметр, который задает область применения правила.

Example
{
  "direction": "inbound"
}

terminal

Type: boolean

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

Example
{
  "terminal": true,
  "condition": null,
  "actions": [
    {
      "action": "drop",
      "data": {
        "email": "example"
      }
    }
  ],
  "scope": {
    "direction": "inbound"
  }
}

Responses

200 OK

Запрос успешно выполнен.

Body

application/json
{}

Type: object

400 Bad Request

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

Body

application/json
{
  "code": 0,
  "message": "example",
  "details": [
    {
      "@type": "example"
    }
  ]
}

Name

Description

code

Type: integer

Код ошибки.

details

Type: protobufAny[]

Дополнительные сведения об ошибке.

Example
[
  {
    "@type": "example"
  }
]

message

Type: string

Описание ошибки.

Example: example

protobufAny

Name

Description

@type

Type: string

Example: example

[additional]

Type: unknown

Example: null

Example
{
  "@type": "example"
}

401 Unauthorized

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

Body

application/json
{
  "code": 0,
  "message": "example",
  "details": [
    {
      "@type": "example"
    }
  ]
}

Name

Description

code

Type: integer

Код ошибки.

details

Type: protobufAny[]

Дополнительные сведения об ошибке.

Example
[
  {
    "@type": "example"
  }
]

message

Type: string

Описание ошибки.

Example: example

403 Forbidden

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

Body

application/json
{
  "code": 0,
  "message": "example",
  "details": [
    {
      "@type": "example"
    }
  ]
}

Name

Description

code

Type: integer

Код ошибки.

details

Type: protobufAny[]

Дополнительные сведения об ошибке.

Example
[
  {
    "@type": "example"
  }
]

message

Type: string

Описание ошибки.

Example: example

404 Not Found

Запрашиваемый ресурс не найден.

Body

application/json
{
  "code": 0,
  "message": "example",
  "details": [
    {
      "@type": "example"
    }
  ]
}

Name

Description

code

Type: integer

Код ошибки.

details

Type: protobufAny[]

Дополнительные сведения об ошибке.

Example
[
  {
    "@type": "example"
  }
]

message

Type: string

Описание ошибки.

Example: example

500 Internal Server Error

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

Body

application/json
{
  "code": 0,
  "message": "example",
  "details": [
    {
      "@type": "example"
    }
  ]
}

Name

Description

code

Type: integer

Код ошибки.

details

Type: protobufAny[]

Дополнительные сведения об ошибке.

Example
[
  {
    "@type": "example"
  }
]

message

Type: string

Описание ошибки.

Example: example

No longer supported, please use an alternative and newer version.