Перейти к основному контенту

подключение

Этот метод создает и возвращает экземпляр объекта Socket.io с подключением. Этот метод требует обязательной авторизации пользователя.

const socket = await WS.connect()

socket.on('my_event', callback)

Когда атрибуты изменяются (если пользователь подписан на соответствующее событие и опция Websocket активна в событии) Поле "attributes" всегда содержит атрибуты события (поле "events"), и в зависимости от выбранного типа события для каталога или формы, поля с атрибутами "product" содержат атрибуты продукта, а "user" содержит поля из формы пользователя соответственно. Для продукта есть дополнительное поле "title" (название продукта в виде строки), а для форм регистрации и отправки кода есть дополнительные поля "code" и "email."

Значение атрибута хранится в формате *key - маркер*, *value - {type, identifier, value}*.

Пример:

{
"message": "Сообщение",
"attributes": {
"company": {
"identifier": "company",
"type": "string",
"value": "OneEntry"
}
}
}
Схема

message string
Текст сообщения
пример: Сообщение

attributes: Record<string, any>
Содержит атрибуты события
пример:

{
"company": {
"identifier": "company",
"type": "string",
"value": "OneEntry"
}
}

Пример продукта:

{
"product": {
"id": 10,
"info": {
"title": "Розовая планета",
},
"status": {
"identifier": "available",
"info": {
"title": "ДОБАВИТЬ В КОРЗИНУ"
}
},
"attributes": {
"currency": {
"identifier": "currency",
"type": "string",
"value": "USD"
}
}
}
}

Пример пользователя:

{
"user": {
"notificationData": {},
"attributes": {}
},
"order": {
"id": 1,
"attributes": {}
}
}

Пример заказа:

{
"user": {
"notificationData": {},
"attributes": {}
},
"order": {
"id": 1,
"attributes": {}
}
}

Пример формы:

{
"email": "строка",
"formData": {}
}