Счетчик неотвеченных

Счетчик неотвеченных показывает, что есть клиенты, которые ждут ответа от продавца. Рекомендуем размещать счетчик на кнопке, по которой менеджер переходит в окно со всеми доступными чатами.

Чтобы использовать счетчик неотвеченных, подключитесь к веб-сокетам по url. Чтобы получить url, вызовите:

 GET https://integrations.wazzup24.com/counters/ws_host/api_v3/:apiKey

где apiKey — API ключ вашей интеграции.

В ответ придет json, в котором в поле host будет указан адрес для подключения.

Пример

 ```
{
"host": "ws-counters2.wazzup24.com"
}
```
Для подключения используйте библиотеку socket.io версии 4.1.3.

Пример подключения:

 // Адрес, полученный при обращении к  `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 настроек интеграции, то counter будет равен 0 и счетчик неотвеченных ничего не покажет.

Если у сотрудника в п.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" 
}