Пользователи¶
Список пользователей¶
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 | Логин пользователя |
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 | Имя алиаса |
String | Email алиаса | |
created_at | String | Дата создания алиаса |
Валидация алиаса¶
POST /domains/{domain_id}/users/{user_id}/aliases/validate
Валидация на:
- Такой алиас для данного пользователя уже существует
- Максимальное / минимальное количество символов в алиасе
- Содержание и порядок спецсимволов
- На домене существует алиас с таким именем
Ответ¶
HTTP 204 NO CONTENT
Ошибки¶
code | message |
---|---|
400 | Описание ошибки валидации |
Добавление алиаса¶
POST /domains/{domain_id}/users/{user_id}/aliases
Для каждого пользователя может быть добавлено не более 5 алиасов.
Ответ¶
HTTP 201 CREATED
{
"id": 653,
"username": "alexey",
"email": "alexey@test.com",
"created_at": "2013-11-22T14:31:39Z"
}
Ошибки¶
code | message |
---|---|
143 | Превышен лимит алиасов для этого пользователя |
144 | Невозможно добавить синоним пользователя |