Домены¶
Список доменов¶
GET /domains
Ответ¶
HTTP 200 OK
[
{
"id": 3112,
"name": "test.com",
"confirmed": true,
"migration": false,
"mx_status": -1,
"spf_status": -1,
"shared_address_book": true,
"dkim": {
"status": 0,
"subdomain": "mail._domainkey.test.com",
"value": "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDDCXo2/9Yiap0jzdauCeCsAMsuYftQB7oCCE1FIDDMmwoq5hp8HK7KPA+u9Riwmj9zYBAMCBCQckP0wN9Oxs4WUteW1rFLt/6OmNh5b0QrV2M4jy7MLxneu7oqX+dKAKqNZKlH+FReQOoGmaPqadToBeRucif8f1+f8s2YCagzRwIDAQAB"
},
"mxs": {
"records": [
{
"priority": 20,
"record": "alt1.aspmx.l.test.com."
},
{
"priority": 50,
"record": "alt4.aspmx.l.test.com."
},
{
"priority": 40,
"record": "alt3.aspmx.l.test.com."
},
{
"priority": 10,
"record": "aspmx.l.test.com."
},
{
"priority": 30,
"record": "alt2.aspmx.l.test.com."
}
],
"next_at": "2013-01-15T07:17:34Z",
"checked_at": "2013-01-15T07:17:34Z"
},
"created_at": "2013-01-04T17:29:49Z",
"is_blocked": false,
"user_count": 10,
"is_deleted": false,
"is_blocked": false,
"features": [
"contacts-enabled"
],
"is_type_confirmed": false,
"domain_version": 2,
"confirmed_at": null,
"confirmation_type": "html",
"contacts": {
"name": "Фамилия",
"email": "test@test.ru",
"phone": "81234567890"
}
"block_reason": null,
"is_trial": false,
}
]
Описание полей¶
Информация о проверке MX-записей¶
Название | Тип | Описание |
---|---|---|
next_at | String | Дата следующей проверки домена |
checked_at | String | Дата проверки домена |
records | Array | Список текущих MX-записей |
record | String | Значение MX-записи |
priority | Number | Приоритет MX-записи |
Информация о DKIM¶
Название | Тип | Описание |
---|---|---|
status | Number | DKIM статус |
subdomain | String | Поддомен, на котором находится запись |
value | String | Значение записи |
SPF статусы¶
Статус | Описание |
---|---|
-1 | Среди SPF-записей нет необходимой |
0 | Проверка SPF-записей не проводилась |
1 | Среди SPF-записей есть необходимая, и она является единственной |
MX статусы¶
Статус | Описание |
---|---|
-2 | Среди найденных MX-записей присутствует необходимая, но она не является единственной |
-1 | Среди найденных MX-записей нет необходимой |
0 | Проверка MX-записей не проводилась |
1 | Среди найденных MX-записей есть необходимая, и она является единственной |
DKIM статусы¶
status | description |
---|---|
-1 | Нет необходимой DKIM-записи |
0 | Проверка DKIM-записей не проводилась |
1 | Есть необходимая DKIM-запись |
Поле dkim
присутствует только у подтвержденных доменов в случае, если ключи были ранее сгенерированы.
Добавление домена¶
POST /domains
Ответ¶
HTTP 201 CREATED
{
"id": 3112,
"name": "test.com",
"confirmed": false,
"mx_status": 0,
"spf_status": 0,
"shared_address_book": true,
"mxs": {},
"created_at": "2013-01-04T16:33:07.022Z",
"user_count": 0
}
Ошибки¶
code | message |
---|---|
0 | Ошибка валидации данных. |
90 | Ошибка добавления домена |
91 | Домен уже добавлен |
92 | Вы уже являетесь администратором этого домена. |
Необходимо подтвердить владение доменом в течение недели после добавления. Все неподтвержденные домены удаляются по истечении этого срока.
Получение домена¶
GET /domains/{domain_id}
Ответ¶
HTTP 200 OK
{
"id": 1,
"name": "test.com",
"confirmed": true,
"migration": false,
"mx_status": -1,
"spf_status": -1,
"shared_address_book": true,
"dkim": {
"status": 0,
"subdomain": "mail._domainkey.test.com",
"value": "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDDCXo2/9Yiap0jzdauCeCsAMsuYftQB7oCCE1FIDDMmwoq5hp8HK7KPA+u9Riwmj9zYBAMCBCQckP0wN9Oxs4WUteW1rFLt/6OmNh5b0QrV2M4jy7MLxneu7oqX+dKAKqNZKlH+FReQOoGmaPqadToBeRucif8f1+f8s2YCagzRwIDAQAB"
},
"mxs": {
"records": [
{
"priority": 20,
"record": "alt1.aspmx.l.test.com."
},
{
"priority": 50,
"record": "alt4.aspmx.l.test.com."
},
{
"priority": 40,
"record": "alt3.aspmx.l.test.com."
},
{
"priority": 10,
"record": "aspmx.l.test.com."
},
{
"priority": 30,
"record": "alt2.aspmx.l.test.com."
}
],
"next_at": "2013-01-15T07:17:34Z",
"checked_at": "2013-01-15T07:17:34Z"
},
"created_at": "2013-01-04T16:33:07.022Z",
"user_count": 10
}
Варианты подтверждения домена¶
GET /domains/{domain_id}/confirm
Ответ¶
HTTP 200 OK
{
"html": {
"url": "http://test.com/mailru-domainrk3scrKVBkXxAnH8.html",
"content": "mailru-domain: rk3scrKVBkXxAnH8",
"filename": "mailru-domainrk3scrKVBkXxAnH8.html"
},
"meta": {
"tag": "<meta name=\"mailru-domain\" content=\"rk3scrKVBkXxAnH8\" />"
},
"dns": {
"record": "mailru-domain: rk3scrKVBkXxAnH8"
},
"registrar": "godaddy"
}
Ошибки¶
code | message |
---|---|
103 | Домен уже подтверждён. |
Подтверждение домена¶
POST /domains/{domain_id}/confirm
Ответ¶
Запрос на подтверждение домена успешно поставлен в очередь, и получен соответствующий task_id.
HTTP 201 CREATED { "status": "pending", "message": "Выполняется проверка", "task_id": "eafbccae-061b-4b85-ad4c-1a39b5e6a812" }
Запрос на подтверждение домена уже был ранее поставлен в очередь, возвращается task_id этого запроса.
HTTP 200 CREATED { "status": "pending", "message": "Выполняется проверка", "task_id": "eafbccae-061b-4b85-ad4c-1a39b5e6a812" }
Возможна ситуация, когда не возвращается task_id. В этом случае надо повторить запрос.
Ошибки¶
code | message |
---|---|
101 | Вы не являетесь владельцем данного домена. |
102 | Ошибка при подтверждении домена. |
103 | Домен уже подтверждён. |
105 | Неизвестный способ подтверждения. |
106 | Превышен лимит количества администрируемых доменов. Обратитесь в службу поддержки. |
108 | Превышен лимит синонимов для данного домена |
110 | Способ подтверждения не доступен |
Получение результата подтверждения домена¶
GET /domains/{domain_id}/confirm/{task_id}
Ответ¶
Выполняется проверка домена
HTTP 200 OK { "status": "pending", "message": "Выполняется проверка" }
Не удалось выполнить подтверждение домена
HTTP 200 OK { "status": "failed", "message": "Доменное имя не найдено.", "domain": { "id": 1, "name": "test.com", "confirmed": false, "migration": false, "mx_status": 0, "spf_status": 0, "mxs": {}, "created_at": "2013-01-04T17:29:49Z", "user_count": 0 } }
Домен успешно подтвержден
HTTP 200 OK { "status": "success", "message": "Домен подтвержден", "domain": { "id": 1, "name": "test.com", "confirmed": true, "migration": false, "mx_status": 0, "spf_status": 0, "shared_address_book": true, "mxs": { "records": [], "next_at": "2013-01-15T07:17:34Z", "checked_at": "2013-01-15T07:17:34Z" }, "created_at": "2013-01-04T17:29:49Z", "user_count": 0 } }
Запрос проверки MX-записей¶
POST /domains/{domain_id}/mx
Ответ¶
Запрос на подтверждение домена успешно поставлен в очередь, и получен соответствующий task_id.
HTTP 201 CREATED { "status": "pending", "message": "Выполняется проверка", "task_id": "eafbccae-061b-4b85-ad4c-1a39b5e6a812" }
Запрос на подтверждение домена уже был ранее поставлен в очередь, возвращается task_id этого запроса.
HTTP 200 OK { "status": "pending", "message": "Выполняется проверка", "task_id": "eafbccae-061b-4b85-ad4c-1a39b5e6a812" }
Возможна ситуация когда не возвращается task_id. В этом случае надо повторить запрос.
Получение результата проверки MX-записей¶
GET /domains/{domain_id}/mx/{task_id}
Ответ¶
Проверка MX-записей прошла успешно
HTTP 200 OK { "status": "success", "domain": { "id": 1, "name": "test.com", "confirmed": true, "mx_status": 0, "spf_status": 0, "mxs": { "records": [ { "priority": 10, "record": "emx.mail.ru." } ], "next_at": "2013-01-15T07:17:34Z", "checked_at": "2013-01-15T07:17:34Z" }, "created_at": "2013-01-04T17:29:49Z", "user_count": 10 } }
При проверке MX-записей произошла ошибка
HTTP 200 OK { "status": "failed", "message": "Обнаружены проблемы с MX-записями", "code": "no_needed_mx", "domain": { "id": 1, "name": "test.com", "confirmed": true, "mx_status": -1, "spf_status": 0, "mxs": { "records": [ { "priority": 20, "record": "alt1.aspmx.l.test.com." }, { "priority": 50, "record": "alt4.aspmx.l.test.com." }, { "priority": 40, "record": "alt3.aspmx.l.test.com." }, { "priority": 10, "record": "aspmx.l.test.com." }, { "priority": 30, "record": "alt2.aspmx.l.test.com." } ], "next_at": "2013-01-15T07:17:34Z", "checked_at": "2013-01-15T07:17:34Z" }, "created_at": "2013-01-04T17:29:49Z", "user_count": 10 } }
Ошибки
code message description has_other_mxs Обнаружены лишние MX-записи Домен имеет нужную MX-запись, но она не является единственной. no_needed_mx Необходимые MX-записи не найдены Домен не имеет необходимой mx записи.
Получение настроек домена¶
GET /domains/{domain_id}/settings
Ответ¶
HTTP 200 OK
{
"default_email": "support@test.com",
"is_agent_collaborated": false,
"user_limit": 5000,
"allow_password_remind": true,
"allow_password_change": true,
"enable_web_agent": true,
"shared_address_book": true,
"theme": "default",
"two_fa_preserved": true,
"is_company": false,
"offer_accepted": true,
"enable_auto_recharge": false,
"is_trial": false,
"partner": "Megafon"
}
Редактирование настроек домена¶
PUT /domains/{domain_id}/settings
Поля¶
- default_email: optional: string
- В этот ящик будут приходить все письма, которые отправлены на несуществующие адреса вашего домена. Например, письмо, отправленное по ошибке на mi@moi_domen.ru, вместо me@moi_domen.ru, попадет в этот ящик.
- is_agent_collaborated: optional: boolean
- Флаг автоматического добавления пользователей в список контактов Агента (флаг работает, пока на домене не более 100 пользователей)
- allow_password_remind: optional: boolean
- Флаг разрешения восстановления пароля пользователями
- allow_password_change: optional: boolean
- Флаг разрешения изменения пароли в ящике
- enable_web_agent: optional: boolean
- Флаг включения/выключения веб-агента в почте
- shared_address_book: optional: boolean
- Флаг включения/выключения общей адресной книги домена в почте
- theme: optional: string
- Тема интерфейса в почте (default|t4000...t4016)
- two_fa_preserved: optional: boolean
- Запрет снятия двухфакторной аутентификации в почте
- is_company: optional: boolean
Принадлежность домена к Юридическому/Физическому Лицу Значения:
true: Юридическое лицо; false: Физическое лицо; null: Не определено.- Примечание:
- флаг невозможно поменять после установки
- offer_accepted: optional: boolean
- Согласие или не согласие с договором оферты
- enable_auto_recharge: optional: boolean
- Флаг включения/выключения автоматического пополнения баланса
{
"default_email": "support@test.com",
"is_agent_collaborated": false,
"allow_password_remind": true,
"allow_password_change": false,
"enable_web_agent": true,
"shared_address_book": true,
"theme": "t4016",
"two_fa_preserved": true,
"is_company": false,
"enable_auto_recharge": true
}
Ответ¶
HTTP 200 OK
{
"default_email": "support@test.com",
"is_agent_collaborated": false,
"user_limit": 5000,
"allow_password_remind": true,
"allow_password_change": false,
"enable_web_agent": false,
"shared_address_book": true,
"theme": "t4016",
"two_fa_preserved": true,
"is_company": false,
"offer_accepted": true,
"enable_auto_recharge": false,
"is_trial": false,
"partner": "Megafon"
}
Список логотипов¶
GET /domains/{domain_id}/logos
Чтобы получить возможность пользоваться данным методом API, необходимо обратиться в службу поддержки.
Ответ¶
HTTP 200 OK
[
{
"type": "hidpi",
"status": "available",
"url": "https://biz.mail.ru/portal_logo/alex.ru/logo_hidpi.png"
},
{
"type": "common",
"status": "available",
"url": "https://biz.mail.ru/portal_logo/alex.ru/logo.png"
}
]
Если статусы всех логотипов домена, равны “available”, то возвращается ответ с HTTP статусом 200, иначе - 202.
Описание полей¶
Название | Тип | Описание |
---|---|---|
type | String | Тип логотипа |
status | String | Статус логотипа |
url | String | Ссылка, по которой доступен логотип |
Типы логотипов¶
Тип | Размер |
---|---|
common | 240х52 |
hidpi | 480x104 |
Статусы логотипов¶
Статус | Описание |
---|---|
available | Логотип доступен |
removing | Выполняется удаление логотипа |
uploading | Выполняется загрузка логотипа |
Добавление логотипа¶
POST /domains/{domain_id}/logos
Чтобы получить возможность пользоваться данным методом API, необходимо обратиться в службу поддержки.
Поля¶
- image: required: file
- файл с изображением логотипа (допустимый размер логотипа зависит от типа логотипа), формат изображения должен быть png
- type: required: string
- тип логотипа
Ответ¶
HTTP 202 ACCEPTED
{
"type": "hidpi",
"status": "uploading",
"url": "https://biz.mail.ru/portal_logo/alex.ru/logo_hidpi.png"
}
Удаление логотипов¶
DELETE /domains/{domain_id}/logos
Чтобы получить возможность пользоваться данным методом API, необходимо обратиться в службу поддержки.
Ответ¶
HTTP 202 ACCEPTED
[
{
"type": "hidpi",
"status": "removing",
"url": "https://biz.mail.ru/portal_logo/alex.ru/logo_hidpi.png"
}
]
Генерация ключей dkim¶
POST /domains/{domain_id}/dkim
Ответ¶
{
"id": 1,
"name": "test.com",
"confirmed": true,
"migration": false,
"mx_status": -1,
"spf_status": -1,
"dkim": {
"status": 0,
"subdomain": "mail._domainkey.test.com",
"value": "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDDCXo2/9Yiap0jzdauCeCsAMsuYftQB7oCCE1FIDDMmwoq5hp8HK7KPA+u9Riwmj9zYBAMCBCQckP0wN9Oxs4WUteW1rFLt/6OmNh5b0QrV2M4jy7MLxneu7oqX+dKAKqNZKlH+FReQOoGmaPqadToBeRucif8f1+f8s2YCagzRwIDAQAB"
},
"mxs": {...},
"created_at": "2013-01-04T16:33:07.022Z",
"user_count": 10
}
Если ключи были успешно сгенерированы возвращается HTTP статус 201. Если ключи были сгенерированы ранее возвращается HTTP статус 200.
Список алиасов¶
GET /domains/{domain_id}/aliases
У одного домена может быть несколько доменов-алиасов. Например, если у домена test.com есть подтвержденный домен-алиас test.ru, и на основном домене test.com есть пользователь alex@test.com, то письма, отправленные на ящик alex@test.ru, придут в основной ящик alex@test.com. Данная возможность позволяет не терять письма даже в том случае, если ваши клиенты или партнеры, перепутают доменную зону (напишут на test.ru вместо test.com). Письмо придет в соответствующий ящик, расположенный на основном домене.
Ответ¶
HTTP 200 OK
[
{
"id": 74121,
"name": "alias.com",
"confirmed": true,
"mx_status": -1,
"spf_status": -1,
"mxs": {
"records": [
{
"priority": 20,
"record": "alt1.aspmx.l.test.com."
}
],
"next_at": "2013-01-15T07:17:34Z",
"checked_at": "2013-01-15T07:17:34Z"
},
"created_at": "2013-01-04T17:29:59Z",
"alias_for": 3112
}
]
Описание полей¶
Название | Тип | Описание |
---|---|---|
id | Number | Идентификатор домена |
name | String | Название домена |
confirmed | Boolean | Показывает, подтвержден домен или нет |
mx_status | Number | MX статус |
spf_status | Number | SPF статус |
mxs | Object | Информация о проверке MX-записей |
created_at | String | Дата регистрации домена |
alias_for | Number | Идентификатор домена, к которому относится алиас |
Добавление алиаса¶
POST /domains/{domain_id}/aliases
После того, как алиас добавлен, его необходимо подтвердить. Подтверждение алиасов выполняется аналогично подтверждению обычных доменов. Для каждого домена может быть добавлено не более 5 подтвержденных доменов-алиасов.
Ответ¶
HTTP 201 CREATED
{
"id": 74121,
"name": "alias.com",
"confirmed": false,
"mx_status": 0,
"spf_status": 0,
"mxs": {},
"created_at": "2013-01-04T17:29:59Z",
"alias_for": 3112
}
Ошибки¶
code | message |
---|---|
90 | Ошибка добавления домена |
91 | Домен уже добавлен |
108 | Превышен лимит синонимов для данного домена |
Получение алиаса¶
GET /domains/{domain_id}/aliases/{alias_id}
Ответ¶
HTTP 200 OK
{
"id": 74121,
"name": "alias.com",
"confirmed": true,
"mx_status": -1,
"spf_status": -1,
"mxs": {
"records": [
{
"priority": 20,
"record": "alt1.aspmx.l.test.com."
}
],
"next_at": "2013-01-15T07:17:34Z",
"checked_at": "2013-01-15T07:17:34Z"
},
"created_at": "2013-01-04T17:29:59Z",
"alias_for": 3112
}