Счетчик неотвеченных показывает, что есть клиенты, которые ждут ответа от продавца. Рекомендуем размещать счетчик на кнопке, по которой менеджер переходит в окно со всеми доступными чатами.
Чтобы использовать счетчик неотвеченных, подключитесь к веб-сокетам по url. Чтобы получить url, вызовите:
GET https://integrations.wazzup24.com/counters/ws_host/api_v3/:apiKey
где apiKey — API ключ вашей интеграции.
В ответ придет json, в котором в поле host будет указан адрес для подключения.
{
"host": "ws-counters2.wazzup24.com"
}
// Адрес, полученный при обращении к `https://integrations.wazzup24.com/counters/ws_host/api_v3/:apiKey`
const wsHost = 'ws-counters2.wazzup24.com';
// Опции подключения
const connectOptions = {
path: '/ws-counters/',
transports: ['websocket', 'polling']
};
// Подключение
const client = io(`https://${wsHost}`, connectOptions);
Чтобы завершить подключение, сгенерируйте событие counterConnecting и отправьте объект с полями type, apiKey и userId:
{
"type": "api_v3", // Константное значение
"apiKey": "32a817cbc1594bd5885574d8f0290cd3", // API ключ интеграции
"userId": "2e0df379" // Id пользователя в CRM
}
Готово. Теперь, когда будет меняться количество неотвеченных, данные будут приходить в событии counterUpdate в виде объекта {counter: number}.
Если у сотрудника в п.1 настроек интеграции выбрана роль «Менеджер», то счетчик отобразит неотвеченные только по тем сделкам и контактам, за которые менеджер назначен ответственным в CRM. Если у сотрудника включена настройка «Получает новых клиентов», то счетчик также покажет количество неотвеченных сообщений от клиентов, у которых еще нет ответственного в CRM.
Чтобы счетчик показывал неотвеченные по всем сделкам, выберите сотруднику в п. 1 настроек интеграции роль «Руководитель».
Для ролей «Руководитель» и «Контроль качества» предусмотрены разные цвета счетчиков. Красные для чатов, за которые сотрудник ответственен, и серые для чатов, которые только контролирует.
// apiKey интеграции, полученный из личного кабинета Wazzup
const apiKey = '420dadbdd4570844bf3b22629е71';
// id менеджера из вашей CRM
const userId = 'user1';
// Опции подключения к сервису нотификаций
const connectOptions = {
path: '/ws-counters/',
transports: ['websocket', 'polling']
};
// Получаем url для подключения к сервису нотификаций
fetch(`https://integrations.wazzup24.com/counters/ws_host/api_v3/${apiKey}`)
.then((response) => response.json())
.then((data) => {
const { host } = data;
// Подключаемся при помощи socket.io
const client = io(`https://${host}`, connectOptions);
// Слушаем событие 'connect'
client.on('connect', () => {
// Завершаем подключение: транслируем событие 'counterConnecting', в котором передаем данные клиента
client.emit('counterConnecting', {
type: 'api_v3',
apiKey,
userId
});
});
// Подтверждение подключения
client.on('counterConnected', () => console.log('Connected to Wazzup notifications!'));
// Обновление счетчика неотвеченных
client.on('counterUpdate', (data) => {
// используйте counter для работы через веб-сокеты
// или counterV2 + type для работы по новому механизму подсчета неотвеченных
// type может быть 'red' или 'grey', в случае если counterV2>0 или null, если counterV2 = 0
const { counter, counterV2, type } = data;
document.getElementById('counter').innerHTML = counter;
});
})
.catch((error) => {
console.log('Connection error', error);
});
Если основной способ не подходит, можно получить счетчик неотвеченных по запросу:
GET https://api.wazzup24.com/v3/unanswered/{user_id}
где user_id — id пользователя.
В ответ придет json, где:
Обратите внимание, если для сотрудника не выбрана роль в п. 1 настроек интеграции, то counterV2 будет приходить 0 и счетчик неотвеченных ничего не покажет.
Если у сотрудника в п.1 настроек интеграции выбрана роль «Менеджер», то счетчик отобразит неотвеченные по тем сделкам и контактам, за которые менеджер назначен ответственным в CRM. Если у сотрудника включена настройка «Получает новых клиентов», то счетчик также покажет количество неотвеченных сообщений от клиентов, у которых еще нет ответственного в CRM.
Чтобы счетчик показывал неотвеченные по всем сделкам, выберите сотруднику в п. 1 настроек интеграции роль «Руководитель».
{
"counterV2": 7,
"type": "red",
"lastMsgDateTime": "2023-05-25T12:30:46.000Z"
}