Пользователи

Список пользователей

GET /domains/{domain_id}/users

Параметры фильтрации (строки запроса)

cloud: optional: string

Фильтрует список пользователей, оставляя только тех, которые есть в облаке. Может принимать только одно значение - «true». Используется для частного случая ТОЛЬКО в связке с no_limit=true. В остальных случаях не работает.

no_limit: optional: string

Отключает пагинацию для списка пользователей. Принимает только одно значение - «true» Используется для частного случая ТОЛЬКО в связке с cloud=true. В остальных случаях не работает.

Ответ

HTTP 200 OK

{
  "paging": {...},
  "data": [
    {
      "id": 414,
      "username": "alex",
      "email": "alex@test.com",
      "nick": null,
      "firstname": "Алексей",
      "lastname": "Пупкин",
      "is_spammer": False,
      "groups": [
        {
          "id": 563,
          "name": "programmers"
        }
      ],
      "avatars": {
        "90x90": "//filin.mail.ru/pic?width=90&height=90&email=alex@test.com"
      },
      "created_at": "2013-01-09T12:03:28Z",
      "status": "active",
      "status_at": "2013-01-09T12:03:28Z",
      "contact": null
    }
  ]
}

Список пользователей разбивается на страницы. Механизм постраничной навигации описан в разделе Постраничная навигация.

Описание полей

Название

Тип

Описание

id

Number

Идентификатор пользователя

username

String

Логин пользователя

email

String

Email пользователя

nick

String

Ник пользователя

firstname

String

Имя пользователя

lastname

String

Фамилия пользователя

is_spammer

Boolean

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

groups

Array

Список групп, в которых состоит пользователь. Каждый элемент списка содержит идентификатор (id) и имя (name) группы.

avatars

Object

Словарь, содержащий информацию об аватарах пользователя. Ключ - размер аватара, значение - его местонахождение.

created_at

String

Дата создания пользователя

status

String

Статус пользователя

status_at

String

Дата изменения статуса пользователя

contact

Object

Контакт адресной книги, прикреплённый к пользователю см. Добавление контакта адресной книги

glasha_enabled

Boolean

Включение для пользователя функционала «Ассистента» (доступно для доменов с флагом mail-permissions)

Статусы

Значение

Описание

active

Пользователь является активным

blocked

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

soft-blocked

«Мягкая» блокировка пользователя. Блокируется авторизация, при попытке пройти авторизацию пользователь будет перенаправлен на страницу https://account.mail.ru/errors/login/blocked?project=biz. Входящие письма продолжают поступать в почтовый ящик.

purging

Пользователь помечен для удаления. Удаление можно отменить.

deleted

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

Добавление пользователя

POST /domains/{domain_id}/users

Поля

username: required: string

Имя почтового ящика

password: required: string

Пароль

password_type: optional: string

Тип пароля

firstname: optional: string

Имя пользователя

lastname: optional: string

Фамилия пользователя

{
  "username": "alex",
  "password": "password",
  "firstname": "Алексей",
  "lastname": "Пупкин"
}

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

Ответ

HTTP 201 CREATED

{
  "id": 341,
  "username": "alex",
  "email": "alex@test.com",
  "nick": null,
  "firstname": "Алексей",
  "lastname": "Пупкин",
  "is_spammer": False,
  "groups": [],
  "avatars": {
    "90x90": "//filin.mail.ru/pic?width=90&height=90&email=alex@test.com"
  },
  "created_at": "2013-01-09T12:03:28Z",
  "status": "active",
  "status_at": "2013-01-09T12:03:28Z"
}

Ошибки

code

message

140

Невозможно создать пользователя.

141

Администратор с неподтверждённым номером телефона может добавить не более 5 пользователей.

142

Превышен лимит количества пользователей на домене. Обратитесь в службу поддержки.

192

Нельзя восстанавливать терминированных пользователей

Типы паролей

Значение

Описание

text

Пароль в открытом виде (по умолчанию)

md5

MD5-хеш пароля

Добавление контакта адресной книги

При создании и редактировании пользователя можно одним запросом создать соответствующий ему контакт адресной книги. Основная статья: Список контактов .

POST /domains/{domain_id}/users

{
  "username": "alex",
  "password": "password",
  "firstname": "Алексей",
  "lastname": "Пупкин",
  "contact": {
    "first_name": "Алексей",
    "last_name": "Пупкин (работа)",
    "phones": [
      {
        "phone": "+79123456789",
        "type": "work"
      }
    ]
  }
}

Ответ:

HTTP 201 CREATED

{
  "id": 341,
  "username": "alex",
  "email": "alex@test.com",
  "nick": null,
  "firstname": "Алексей",
  "lastname": "Пупкин",
  "is_spammer": False,
  "groups": [],
  "avatars": {
    "90x90": "//filin.mail.ru/pic?width=90&height=90&email=alex@test.com"
  },
  "created_at": "2013-01-09T12:03:28Z",
  "status": "active",
  "status_at": "2013-01-09T12:03:28Z",
  "contact": {
    "sid": "a1986b78e78e482bbe78e8ce5d7f85ec",
    "email": "alex@test.com",
    "first_name": "Алексей",
    "last_name": "Пупкин (работа)",
    "phones": [
      {
        "phone": "+79123456789",
        "type": "work"
      }
    ]
  }
}

Редактирование пользователя

PUT /domains/{domain_id}/users/{user_id}
PATCH /domains/{domain_id}/users/{user_id}

Параметры

firstname: optional: string

Имя пользователя. Может быть пустым

lastname: optional: string

Фамилия пользователя. Может быть пустым

password: optional: string

Новый пароль пользователя

password_type: optional: string

Тип пароля

status: optional: string

Статус пользователя. Разрешенные значения: active, blocked, soft-blocked

{
  "firstname": "Алексей",
  "lastname": "Пупкин",
  "password": "mysecretpassword"
}

Редактирование полей firstname и lastname не может производиться по-отдельности. При указании значения хотя бы одного из этих полей, указание второго поля является обязательным.

Ответ

HTTP 200 OK

{
  "id": 4124,
  "username": "alex",
  "email": "alex@test.com",
  "nick": null,
  "firstname": "Алексей",
  "lastname": "Пупкин",
  "is_spammer": False,
  "groups": [],
  "avatars": {
    "90x90": "//filin.mail.ru/pic?width=90&height=90&email=alex@test.com"
  },
  "created_at": "2013-01-09T12:03:28Z",
  "status": "active",
  "status_at": "2013-08-11T14:52:23Z",
  "contact": null
}

Ошибки

code

message

145

Невозможно сменить пароль пользователя.

147

Невозможно отредактировать пользователя.

Редактирование контакта адресной книги

При создании и редактировании пользователя можно одним запросом создать соответствующий ему контакт адресной книги. Основная статья: Список контактов .

PUT/PATCH /domains/{domain_id}/users/{user_id}

{
  "firstname": "Лёша",
  "contact": {
    "first_name": "Лёша",
    "middle_name": "Витальевич",
  }
}

Ответ:

HTTP 200 OK

{
  "id": 4124,
  "username": "alex",
  "email": "alex@test.com",
  "nick": null,
  "firstname": "Лёша",
  "lastname": "Пупкин",
  "is_spammer": False,
  "groups": [],
  "avatars": {
    "90x90": "//filin.mail.ru/pic?width=90&height=90&email=alex@test.com"
  },
  "created_at": "2013-01-09T12:03:28Z",
  "status": "active",
  "status_at": "2013-08-11T14:52:23Z",
  "contact": {
    "sid": "a1986b78e78e482bbe78e8ce5d7f85ec",
    "email": "alex@test.com",
    "first_name": "Лёша",
    "last_name": "Пупкин (работа)",
    "middle_name": "Витальевич",
    "phones": [
      {
        "phone": "+79123456789",
        "type": "work"
      }
    ]
  }
}

Получение пользователя

GET /domains/{domain_id}/users/{user_id}

Ответ

HTTP 200 OK

{
  "id": 4123,
  "username": "alex",
  "email": "alex@test.com",
  "nick": null,
  "firstname": "Алексей",
  "lastname": "Пупкин",
  "is_spammer": False,
  "groups": [
      {
        "id": 1341,
        "name": "programmers"
      }
    ],
  "avatars": {
    "90x90": "//filin.mail.ru/pic?width=90&height=90&email=alex@test.com"
  },
  "created_at": "2013-01-09T12:03:28Z",
  "status": "active",
  "status_at": "2013-01-09T12:03:28Z",
  "contact": null
}

Удаление пользователя

DELETE /domains/{domain_id}/users/{user_id}

Ответ

HTTP 200 OK

{
  "id": 1231,
  "username": "alex",
  "email": "alex@test.com",
  "nick": null,
  "firstname": "Алексей",
  "lastname": "Пупкин",
  "is_spammer": False,
  "groups": [],
  "avatars": {
    "90x90": "//filin.mail.ru/pic?width=90&height=90&email=alex@test.com"
  },
  "created_at": "2013-01-09T12:03:28Z",
  "status": "deleted",
  "status_at": "2013-01-12T11:00:45Z",
  "contact": null
}

Ошибки

code

message

134

Невозможно удалить ящик по умолчанию. Смените его в Настройках.

135

Невозможно удалить ящик администратора домена.

Список алиасов

GET /domains/{domain_id}/users/{user_id}/aliases

У одного пользователя может быть несколько адресов-алиасов. Например, если у пользователя alex@test.com есть алиас alexey@test.com, то письма, отправленные на любой из этих адресов, придут на основной адрес.

Ответ

HTTP 200 OK

[
  {
    "id": 653,
    "username": "alexey",
    "email": "alexey@test.com",
    "created_at": "2013-11-22T14:31:39Z"
  }
]

Описание полей

Название

Тип

Описание

id

Number

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

username

String

Имя алиаса

email

String

Email алиаса

created_at

String

Дата создания алиаса

Валидация алиаса

POST /domains/{domain_id}/users/{user_id}/aliases/validate

Валидация на:

  • Такой алиас для данного пользователя уже существует

  • Максимальное / минимальное количество символов в алиасе

  • Содержание и порядок спецсимволов

  • На домене существует алиас с таким именем

Поля

alias: required: string

Алиас

{
  "alias": "alexey",
  "domain_name": "domain.com"
}

Ответ

HTTP 204 NO CONTENT

Ошибки

code

message

400

Описание ошибки валидации

Добавление алиаса

POST /domains/{domain_id}/users/{user_id}/aliases

Для каждого пользователя может быть добавлено не более 5 алиасов.

Поля

username: required: string

Имя почтового ящика

{
  "username": "alexey"
}

Ответ

HTTP 201 CREATED

{
  "id": 653,
  "username": "alexey",
  "email": "alexey@test.com",
  "created_at": "2013-11-22T14:31:39Z"
}

Ошибки

code

message

143

Превышен лимит алиасов для этого пользователя

144

Невозможно добавить синоним пользователя

Получение алиаса

GET /domains/{domain_id}/users/{user_id}/aliases/{alias_id}

Ответ

HTTP 200 OK

{
  "id": 653,
  "username": "alexey",
  "email": "alexey@test.com",
  "created_at": "2013-11-22T14:31:39Z"
}

Удаление алиаса

DELETE /domains/{domain_id}/users/{user_id}/aliases/{alias_id}

Ответ

HTTP 204 NO CONTENT