Skip to content

Работа с websocket

Подключение к вебсокетам

[ВАЖНО] На сервере используется .
Подключение осуществляется по корневому адресу
Токен авторизации необходимо отправлять через поле token в auth или через extraHeaders, в поле Authorization

События, которые слушает сервер

chat-list– Эмиттит список доступных чатов.
Эмиттит событие chat-list-response.
Параметры для передачи в событие: не имеет значение, данный запрос может сделать только пользователь админ-панели.
2. chat-messages – Получить список сообщений из чата.
Эмиттит событие chat-messages-response.
Параметры для передачи в событие:
{
chatId: string;
}
3. new-message – Отправить сообщение в чат
Эмиттит событие new-message-response для всех участников чата, кроме отправителя. В случае ошибки отправителю приходит событие error-response
Параметры для передачи в событие:
{
chatId: string;
message: string;
}
[ВАЖНО] Параметр chatId обязателен при отправке сообщения админом, и необязателен при отправке клиентом.
4. read-message – Отправить информацию о прочтении сообщения в чате
Эмиттит событие read-message-response В случае ошибки отправителю приходит событие error-response
Параметры для передачи в событие:
{
chatId: string;
lastReadMessageId: string;
}
[ВАЖНО] Параметр chatId обязателен при отправке сообщения админом, и необязателен при отправке клиентом.

События, которые эмиттит сервер

1. chat-list-response – Первичное получение списка доступных чатов после подключения к вебсокетам.
Возвращаемый список:
{
data: [
{
chatId: string,
lastMessageDate: string,
unreadMessages: number,
author: {
id: number
username: string|null
email: string|null
firstName: string|null
lastName: string|null
fatherName: string|null
fullName: string|null
phone: string|null
}
},
]
}
2. new-chat-response – Получение информации о новом чате, если появился новый клиент, который раньше не присылал сообщения
Возвращаемый объект:
{
data: {
chatId: string,
lastMessageDate: string,
unreadMessages: number,
author: {
id: number
username: string|null
email: string|null
firstName: string|null
lastName: string|null
fatherName: string|null
fullName: string|null
phone: string|null
}
}
}
3. move-chat-room-to-top-response – Перемещение чат комнаты наверх списка чат комнат
Возвращаемый объект:
{ data:
{
chatId: string,
lastMessageDate: string,
unreadMessages: number,
author: {
id: number
username: string|null
email: string|null
firstName: string|null
lastName: string|null
fatherName: string|null
fullName: string|null
phone: string|null
}
}
}
4. chat-messages-response – Получение списка сообщений из чата
Возвращаемый объект
{ data: [
{
id: number,
chatId: string,
message: string,
date: string,
isRead:boolean, (Нужно добавить, отсутствует)
author: {
id: number,
username: string|null,
email: string|null,
firstName: string|null,
lastName: string|null,
fatherName: string|null,
fullName: string|null,
phone: string|null,
}
}
]}

5. new-message-response – Получение нового сообщения
Возвращаемый объект
{ data:
{
id: number,
chatId: string,
message: string,
date: string,
author: {
id: number,
username: string|null,
email: string|null,
firstName: string|null,
lastName: string|null,
fatherName: string|null,
fullName: string|null,
phone: string|null,
}
}
}
6. error-response – Возникла ошибка
Возвращаемая ошибка, если HttpException:
{
message: string
}

Want to print your doc?
This is not the way.
Try clicking the ··· in the right corner or using a keyboard shortcut (
CtrlP
) instead.