Skip to content

emailService

emailService

GetEmailsTable(params) ⇒ Promise.<ApiResult>

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

Все фильтры кроме pagination и statuses опциональны: не передан — условие не применяется. Счётчики по статусам считаются с учётом остальных фильтров, то есть описывают текущий срез, а не всю таблицу.


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

ParamTypeDescription
paramsGetEmailsRequestDtoПагинация и фильтры. См. GetEmailsRequestDto

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

Returns: Promise.<ApiResult> - Страница писем под полем pagination, счётчики статусов под statusFilters

INFO

sourceMailboxes сужает выборку внутри ящиков, которые пользователю и так доступны: права проверяются на сервере по JWT и отсюда не управляются. Пустой массив в query-строке неотличим от отсутствующего поля, поэтому означает «без ограничения», а не «пустой результат».


Пример

js
await emailService.GetEmailsTable({
  pagination: { page: 1, rowsPerPage: 25, sortBy: 'CreateDateTime', descending: true },
  statuses: [1, 2, 3, 4, 5],
  statusFilters: [0],
  directions: [2],
  title: 'Rechnung',
  createdAt: { from: '2026-01-01' },
})


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>

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


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

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

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

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

INFO

recall.category — необязательное поле. Если его не передать, перезвон сохранится без категории: бэкенд её не подставляет.


Пример

js
await emailService.AddCallbackToEmail({
  emailId: 1015,
  contact: { phoneNumber: "4915140192640" },
  recall: { date: "2026-07-28T12:00:00Z", queueType: QueueTypeDto.CallCenter1, comments: "перезвонить", category: RecallCategoryDto.Client },
})


SendEmail(body) ⇒ Promise.<ApiResult>

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


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

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

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

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

INFO

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