addCallback

Этот метод добавляет новый callback.

Пример

// Callback на начало нового диалога
carrotquest.addCallback('conversation_started', function(data) {
    console.log('Пользователь начал диалог с ID = ' + data.id + ', сообщение: ' + data.body)
})

Аргументы

Аргумент Описание
topic Обязательный. Тема. Когда вы хотите получать уведомление
callback Обязательный. Функция, которая будет вызвана

При вызове callback в качестве единственного аргумента будет передан JSON-объект data с дополнительными данными. Формат данных зависит от темы topic и описан ниже.

Темы уведомлений

При установке callback нужно указать topic (темы, т.е., при наступлении каких именно условий ваш callback должен быть вызван):

conversation_started

Пользователь начал новый диалог.

carrotquest.addCallback('conversation_started', function(data) {
    // data.id - ID диалога
    // data.body - текст сообщения
    ...
})

messenger_opened

Открыт чат (при получении маленького попапа этот топик тоже сработает).

carrotquest.addCallback('messenger_opened', function(data) {
    ...
})

messenger_closed

Чат закрыт.

carrotquest.addCallback('messenger_closed', function(data) {
    ...
})

user_replied

Пользователь ответил в диалоге.

carrotquest.addCallback('user_replied', function(data) {
    // data.id - ID диалога
    // data.body - текст ответа от пользователя
    // data.message - ID сообщения (ручного или авто), если ответ является ответом на авто/ручное сообщение. Иначе `null`
    ...
})

conversation_opened

Открыт диалог.

carrotquest.addCallback('conversation_opened', function(data) {
    // data.id - ID диалога
    // data.message - ID сообщения (ручного или авто). Если это диалог, начатый пользователем - содержит `null`
    // data.type - тип диалога
    // data.parts - реплики диалога
    ...
})

event_tracked

Отслежено событие.

carrotquest.addCallback('event_tracked', function(data) {
    // data.id - ID созданного события
    // data.event - имя события
    ...
})



Если вы считаете, что указанных тем не достаточно для ваших задач, напишите нам! Мы любим хорошие идеи.