Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Для этого виджет предоставляет набор методов и событий, используя которые, можно реализовать интерфейс управления виджетом любой сложности.

1. Методы

ОПИСАНИЕ МЕТОДАКОД
После инициализации виджет находится в скрытом состоянии. Чтобы показать его пользователю, необходимо вызвать метод open():widget.open();
Также можно открывать виджет сразу с текстом сообщения:widget.open('Текст сообщения пользователя');
Текст сообщения также можно добавить с помощью метода appendText():widget.appendText('Текст сообщения пользователя');
Скрыть виджет можно либо кликнув по кнопке закрыть в интерфейсе виджета, либо программно:widget.close();
Также API предоставляет метод смены состояния toggle, который показывает или скрывает виджет:widget.toggle();
Если виджет расположен в защищенной зоне и при инициализации использовались credentials, то при выходе из защищенной зоны необходимо в обязательном порядке вызвать метод logout(), чтобы закрыть текущую сессию пользователя и предотвратить неавторизованный доступ к переписке:widget.logout();
Уничтожение виджета, удаляет чат и кнопку:widget.destroy();
Управление пуш-токеном для нативных пушей через APNS (iPhone) и FCM (Android).widget.setIPhonePushToken("my-iphone-token"); widget.setAndroidPushToken("my-android-token");
Ручное обновление авторизованного клиента из CRM:widget.refreshClient();


2. События

События на которые можно подписаться использую стандартный для JavasScript интерфейс EventEmitter:

...

widget.on('open', function () {
    console.log('Виджет открыт');
});

widget.on('message', function () {
    console.log('Новое сообщение');
});

С помощью события события message например например, можно проиграть звук, если виджет скрыт, а пользователю пришло сообщение.


widget.on('unread', function (count) {
    console.log('Количество непрочитанных сообщений', count);
});

С помощью события события unread можно  можно показывать пользователю количество непрочитанных сообщений. Событие возникает всякий раз, когда значение меняется. При первоначальном получении списка сообщений, если непрочитанных нет, то события не будет. Предполагается, что подписчик инициализирует счетчик сообщений как 0.


widget.on('file-clicked', function (url) {
    console.log('Пользователь нажал на файл, подписанная ссылка:', url);
}

Собыдие Событие file-clicked отправляется  отправляется только в режиме виджета виджета mobile и  и передает подписанную ссылку на файл, на который нажал пользователь. Ссылка действует ограниченное количество времени. Время жизни настраивается на сервере.