Как работать с 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('Пример сообщения');