подключение
Этот метод создает и возвращает экземпляр объекта 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": {}
}