Skip to content

emailService

emailService

GetEmailsTable(params) ⇒ Promise.<ApiResult>

Получает таблицу email-сообщений с пагинацией и фильтрами. См. GetEmailsRequestDto


Принимаемые параметры

ParamTypeDescription
paramsGetEmailsRequestDtoПагинация и фильтры запроса

Возвращаемые данные

Returns: Promise.<ApiResult> - Страница email-сообщений с фильтрами статусов

INFO

sourceMailboxes: не задан/null — фильтр не применяется; пустой массив — фильтр применяется без совпадений (пустой результат); массив с адресами — только перечисленные почтовые ящики (пересекается с правами доступа).




GetSourceMailboxes() ⇒ Promise.<ApiResult.<GetSourceMailboxesResponseDto>>

Получает список почтовых ящиков, по которым текущий пользователь может фильтровать email-сообщения


Возвращаемые данные

Returns: Promise.<ApiResult.<GetSourceMailboxesResponseDto>> - Список доступных пользователю почтовых ящиков (GetSourceMailboxesResponseDto)

INFO

Для admin (или при выключенной фиче mailbox-permissions) — все настроенные ящики; для обычного пользователя — только разрешённые через права. Пустой массив, если у пользователя нет email-прав.




GetMailboxPermissions() ⇒ Promise.<ApiResult.<GetMailboxPermissionsResponseDto>>

Получает карту прав на почтовые ящики — словарь { permissionId: mailboxAddress }


Возвращаемые данные

Returns: Promise.<ApiResult.<GetMailboxPermissionsResponseDto>> - Карта permissionId → mailbox (GetMailboxPermissionsResponseDto)

INFO

Парный эндпоинт к GetSourceMailboxes(): возвращает не плоский список, а сам Dictionary из конфигурации MailboxPermissions, где ключ — permission-ID (как строка), значение — адрес ящика. Удобно, когда нужно подписать UI permission-ID-ом (например, labels в filter chips).

Фильтрация та же, что в GetSourceMailboxes: admin или выключенный MailboxPermissionsEnabled — весь словарь; обычный пользователь — только entries, у которых ключ парсится в int и совпадает с его PermissionsIds.




GetEmailById(emailId) ⇒ Promise.<ApiResult.<GetEmailByIdResponseDto>>

Получает детали email-сообщения по идентификатору. Письмо возвращается под полем email (EmailDetailsDto)


Принимаемые параметры

ParamTypeDescription
emailIdnumberИдентификатор email-сообщения

Возвращаемые данные

Returns: Promise.<ApiResult.<GetEmailByIdResponseDto>> - Детали письма с HTML-боди и вложениями под полем email

WARNING

Возвращает санитайзенный HTML-боди (bodyHtml) и плоский список вложений (attachments). Inline-картинки (которые в письме ссылаются как <img src="cid:...">) сервер заменяет на короткоживущие S3 presigned URL прямо в bodyHtml — рендерить как обычный HTML. URL действительны ~10 минут; для долгого хранения тело письма перезапрашивать.




UpdateEmailStatus(params) ⇒ Promise.<ApiResult>

Обновляет статус email-сообщения


Принимаемые параметры

ParamTypeDescription
paramsUpdateEmailStatusRequestParamПараметры запроса с ID письма и новым статусом

Возвращаемые данные

Returns: Promise.<ApiResult> - Подтверждение операции




UpdateEmailContactRelation(params) ⇒ Promise.<ApiResult>

Обновляет связь email-сообщения с контактом и сущностью


Принимаемые параметры

ParamTypeDescription
paramsUpdateEmailContactRelationRequestParamПараметры запроса с ID письма, ID контакта и внешней сущностью

Возвращаемые данные

Returns: Promise.<ApiResult> - Подтверждение операции




AddCallbackToEmail(params) ⇒ Promise.<ApiResult>

Создаёт callback по email-сообщению


Принимаемые параметры

ParamTypeDescription
paramsAddCallbackToEmailRequestParamПараметры запроса с ID письма, комментарием и датой перезвона

Возвращаемые данные

Returns: Promise.<ApiResult> - Подтверждение операции




SendEmail(body) ⇒ Promise.<ApiResult>

Отправляет email-сообщение со ссылками на уже загруженные в FileManagerService вложения. См. ComposeEmailRequestDto


Принимаемые параметры

ParamTypeDescription
bodyComposeEmailRequestDtoТело запроса с заголовком, текстом, получателем и списком ссылок на вложения

Возвращаемые данные

Returns: Promise.<ApiResult> - Результат отправки

INFO

Контракт изменён: вместо FormData с файлами теперь принимает JSON со ссылками на файлы (FilePath возвращается из POST /Api/Files/FromFormFile).