.. meta:: :description: Перенос корпоративной почты с других серверов, миграция корпоративной почты ======== Миграция ======== Миграция позволяет настроить перенос и последующую сборку писем со старого почтового сервера. Для сборки писем необходимо включить миграцию для домена и сборщик писем для каждого пользователя. Состояние миграции ================== :: GET /domains/{domain_id}/migration Ответ ----- .. code-block:: javascript HTTP 200 OK { "server": "imap.mail.ru", "port": 993, "proto": 1, "use_ssl": true, "is_active": true } Описание полей -------------- +------------+---------+-------------------------------+ | Название | Тип | Описание | +============+=========+===============================+ | server | String | Адрес сервера | +------------+---------+-------------------------------+ | port | Number | Порт сервера | +------------+---------+-------------------------------+ | proto | Number | :ref:`Протокол` | +------------+---------+-------------------------------+ | use_ssl | Boolean | Используется ли ssl | +------------+---------+-------------------------------+ | is_active | Boolean | Включена ли сейчас миграция | +------------+---------+-------------------------------+ .. _Protocols: Протоколы --------- +-----+----------+ | Код | Протокол | +=====+==========+ | 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 обязательно .. code-block:: javascript { "server": "imap.mail.ru", "port": 993, "proto": 1, "use_ssl": true } Ответ ----- .. code-block:: javascript 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 обязательно .. code-block:: javascript { "server": "imap.mail.ru", "port": 993, "use_ssl": true } Ответ ----- .. code-block:: javascript 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 Ответ ----- .. code-block:: javascript HTTP 204 NO CONTENT Список сборщиков ================ :: GET /domains/{domain_id}/collectors Параметры фильтрации (строки запроса) -------------- status__in: optional: number Фильтрует список сборщиков, с переданными статусами, через запятую status__not_in: optional: number Фильтрует список сборщиков, исключая переданные статусы, через запятую export: optional: string Значение 'csv'. Выгрузка пользователей и их статусов в формате csv Ответ ----- .. code-block:: javascript HTTP 200 OK { "paging": {...}, "data": [ { "id": 1, "status": 1, "email": "user@domain.ru" "firstname": "Ivan", "lastname": "Ivanov", "last_error": "" } ] } Список сборщиков разбивается на страницы. Механизм постраничной навигации описан в разделе :ref:`Pagination`. Описание полей -------------- +------------+---------+--------------------------------------------------------+ | Название | Тип | Описание | +============+=========+========================================================+ | 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} Ответ ----- .. code-block:: javascript 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 Пароль .. code-block:: javascript { "username": "user@old-mail.ru", "passwd": "password" } Ответ ----- .. code-block:: javascript 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 Пароль .. code-block:: javascript { "username": "user@old-mail.ru", "passwd": "password" } Ответ ----- .. code-block:: javascript HTTP 200 OK { "status": 7, "message": "В очереди" } Ошибки ------ +------+----------------------------------------------+ | code | message | +======+==============================================+ | 120 | Миграция выключена | +------+----------------------------------------------+ Для редактирования сборщика требуется большое количество времени. Поэтому в ответ на запрос возвращается статус 7 (в очереди). После его получения необходимо отправлять запросы на получение сборщика с переодичностью раз в 10 секунд до тех пор, пока не будет получен другой статус. Выключение сборщика =================== :: DELETE /domains/{domain_id}/collectors/{user_id} Ответ ----- .. code-block:: javascript HTTP 204 NO CONTENT