Миграция

Миграция позволяет настроить перенос и последующую сборку писем со старого почтового сервера.

Для сборки писем необходимо включить миграцию для домена и сборщик писем для каждого пользователя.

Состояние миграции

GET /domains/{domain_id}/migration

Ответ

HTTP 200 OK

{
  "server": "imap.mail.ru",
  "port": 993,
  "proto": 1,
  "use_ssl": true,
  "is_active": true
}

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

Название Тип Описание
server String Адрес сервера
port Number Порт сервера
proto Number Протокол
use_ssl Boolean Используется ли ssl
is_active Boolean Включена ли сейчас миграция

Протоколы

Код Протокол
0 POP3
1 IMAP
2 Exchange

Включение миграции

POST /domains/{domain_id}/migration

Поля

server: required: string
Адрес сервера
port: required: integer
Порт сервера
proto: required: integer
Протокол
use_ssl: required: boolean
Флаг использования SSL. Для Exchange использование SSL обязательно
{
  "server": "imap.mail.ru",
  "port": 993,
  "proto": 1,
  "use_ssl": true
}

Ответ

HTTP 201 CREATED

{
  "server": "imap.mail.ru",
  "port": 993,
  "proto": 1,
  "use_ssl": true,
  "is_active": true
}

Ошибки

code message
119 Миграция уже включена

Редактирование миграции

PUT /domains/{domain_id}/migration

Поля

server: required: string
Адрес сервера
port: required: integer
Порт сервера
use_ssl: required: boolean
Флаг использования SSL. Для Exchange использование SSL обязательно
{
  "server": "imap.mail.ru",
  "port": 993,
  "use_ssl": true
}

Ответ

HTTP 200 OK

{
  "server": "imap.mail.ru",
  "port": 993,
  "proto": 1,
  "use_ssl": true,
  "is_active": true
}

Ошибки

code message
120 Миграция выключена

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

Выключение миграции

DELETE /domains/{domain_id}/migration

Ответ

HTTP 204 NO CONTENT

Список сборщиков

GET /domains/{domain_id}/collectors

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

status__in: optional: number
Фильтрует список сборщиков, с переданными статусами, через запятую
status__not_in: optional: number
Фильтрует список сборщиков, исключая переданные статусы, через запятую
export: optional: string
Значение ‘csv’. Выгрузка пользователей и их статусов в формате csv

Ответ

HTTP 200 OK

{
  "paging": {...},
  "data": [
    {
      "id": 1,
      "status": 1,
      "email": "user@domain.ru"
      "firstname": "Ivan",
      "lastname": "Ivanov",
      "last_error": ""
    }
  ]
}

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

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

Название Тип Описание
id Number Идентификатор сборщика
status Number Статус сборщика
email String Email, с которого собираются письма
firstname String Имя пользователя
lastname String Фамилия пользователя
last_error String Последняя ошибка, возникшая при создании или редактировании сборщика

Статусы

Статус Описание
0 Сборка отключена
1 Сборщик работает
2 Сборщик приостановлен
3 Ошибка аутентификации
4 Ошибка авторизации. Неверный логин или пароль
5 Превышен лимит запросов
6 Внутренняя ошибка сборщика
7 В очереди
8 Ожидание активации сборщика
9 Выполняется создание сборщика
10 Ошибка создания сборщика
11 Ошибка редактирования сборщика
12 Почтовый аккаунт стороннего сервиса заблокирован
13 Ожидание активации сборщика пользователем

Ошибки

code message
120 Миграция выключена

Получение сборщика

GET /domains/{domain_id}/collectors/{user_id}

Ответ

HTTP 200 OK

{
  "id": 1,
  "status": 1,
  "email": "user@domain.ru"
  "firstname": "Ivan",
  "lastname": "Ivanov",
  "last_error": ""
}

Ошибки

code message
120 Миграция выключена

Включение сборщика

POST /domains/{domain_id}/collectors/{user_id}

Поля

username: required: string
Имя для авторизации
passwd: required: string
Пароль
{
  "username": "user@old-mail.ru",
  "passwd": "password"
}

Ответ

HTTP 201 CREATED

{
  "status": 7,
  "message": "В очереди"
}

Ошибки

code message
120 Миграция выключена
121 Сборщик уже включен

Для включения сборщика требуется большое количество времени. Поэтому в ответ на запрос возвращается статус 7 (в очереди). После его получения необходимо отправлять запросы на получение сборщика с переодичностью раз в 10 секунд до тех пор, пока не будет получен другой статус.

Редактирование сборщика

PUT /domains/{domain_id}/collectors/{user_id}

Поля

username: required: string
Имя для авторизации
passwd: required: string
Пароль
{
  "username": "user@old-mail.ru",
  "passwd": "password"
}

Ответ

HTTP 200 OK

{
  "status": 7,
  "message": "В очереди"
}

Ошибки

code message
120 Миграция выключена

Для редактирования сборщика требуется большое количество времени. Поэтому в ответ на запрос возвращается статус 7 (в очереди). После его получения необходимо отправлять запросы на получение сборщика с переодичностью раз в 10 секунд до тех пор, пока не будет получен другой статус.

Выключение сборщика

DELETE /domains/{domain_id}/collectors/{user_id}

Ответ

HTTP 204 NO CONTENT