Счетчик неотвеченных показывает, что есть клиенты, которые ждут ответа от продавца. Рекомендуем размещать счетчик на кнопке, по которой менеджер переходит в окно со всеми доступными чатами.
Чтобы использовать счетчик неотвеченных, подключитесь к веб-сокетам по 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, где:
- counterV2 — количество неотвеченных сообщений,
- type — тип неотвеченных по цвету: красные (red) или серые (grey). Красные для чатов, за которые сотрудник ответственен в CRM, и серые для чатов, которые только контролирует,
- lastMsgDateTime — дата последнего входящего сообщения: год, месяц, день и время.
Обратите внимание, если для сотрудника не выбрана роль в п. 1 настроек интеграции, то counterV2 будет приходить 0 и счетчик неотвеченных ничего не покажет.
Если у сотрудника в п.1 настроек интеграции выбрана роль «Менеджер», то счетчик отобразит неотвеченные по тем сделкам и контактам, за которые менеджер назначен ответственным в CRM. Если у сотрудника включена настройка «Получает новых клиентов», то счетчик также покажет количество неотвеченных сообщений от клиентов, у которых еще нет ответственного в CRM.
Чтобы счетчик показывал неотвеченные по всем сделкам, выберите сотруднику в п. 1 настроек интеграции роль «Руководитель».
Пример ответа:
{
"counterV2": 7,
"type": "red",
"lastMsgDateTime": "2023-05-25T12:30:46.000Z"
}