Как работать с JS Api Q-Chat

После добавления JS код на сайт станет доступен глобальный объект qchatapi (window.qchatapi)

Все методы, вызываемые в текущей сессии будут относиться к текущему пользователю.

Обратите внимание, что все эти действия происходят на клиенте, т.е. им нельзя доверять 100% (кроме защищенной авторизации).

Публичные методы:

onReady()

Добавляем каллбек, который будет вызван после полной загрузки чата Q-Chat.

qchatapi.onReady(() => { console.log('Q-Chat is ready!'); });

open()

Открывает окно чата.

qchatapi.open();

close()

Закрывает окно чата.

qchatapi.close();

async auth(authId: string, authKey: string)

Авторизация пользователя. Метод асинхронный.

В качестве параметров передаются authId и authKey (строки).

Подробнее про авторизацию читайте в соответствующем разделе.

await qchatapi.auth('auth-id', 'auth-key');

async setProps(props = {})

Установка пользовательских свойств.

Не затрагивает свойства, не указанные в объекте.

props — js-объект, в качестве ключей которого используется строка (название свойства), а в качестве значений может быть строка, число или boolean.

Название свойства может быть любой строкой, но есть список зарезервированных имен:

  • name — имя пользователя
  • phone — телефон пользователя
  • email — e-mail пользователя

Про использование пользовательских свойств читайте так же в авторизации пользователей.

await qchatapi.setProps({name: 'Валерий', 'Тариф': 'Pro Plus'});

async createEvent(name: string, data = {})

Регистрирует какое-либо событие на стороне пользователя.

name — название события.

data — js-объект с произвольными данными о событии.

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

await qchatapi.createEvent('Подключил тариф', {'Тариф': 'Pro Plus'});

async sendMessage(message: string)

Отправляет сообщение в чат от имени пользователя.

message — текст сообщения.

await qchatapi.sendMessage('Пример сообщения');