Плагин с типом "Канал" в HelpDeskEddy представляет собой инструмент для интеграции с внешними сервисами через вебхуки. Он позволяет отправлять уведомления о различных событиях в системе, таких как изменение статуса оператора, вход или выход из системы, а также изменения в заявке (созданных плагином) в реальном времени. Это решение помогает минимизировать необходимость постоянных запросов к API для получения актуальной информации, что особенно полезно для создания дашбордов, аналитики или других систем мониторинга.
Основные возможности плагина
Плагин "Канал" отслеживает ключевые события в HelpDeskEddy и отправляет данные о них на внешний сервис через HTTP-запросы (обычно POST) в формате JSON. Поддерживаемые события включают:
Действия сотрудника (смена статуса, вход/выход из системы);
Действия в заявках, созданных плагином (добавление/изменение/удаление ответа, изменение статуса, закрытие заявки).
Данные, передаваемые плагином
Плагин отправляет данные в формате JSON, включающие информацию о событии и связанных объектах. Как вариант, можно использовать сервисы pipedream или requestcatcher, чтобы просмотреть в каком формате приходят данные по разным событиям. Пример структуры данных для события смены статуса:
{
"event": "user.status.updated",
"event_data": {
"user_status": "online"
},
"user": {
"id": "123",
"name": "Оператор",
"email": "operator@example.com",
"group": {
"id": "2"
},
"user_status": "na-chatah"
}
}Пример для события логина:
{
"event": "user.authorization.login",
"event_data": {
"ip": "192.168.1.1",
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Gecko/20100101 Firefox/138.0"
},
"user": {
"id": "123",
"name": "Оператор",
"email": "operator@example.com",
"group": {
"id": "2"
},
"user_status": "on-hold"
}
}Поддерживаемые данные по действиям сотрудника:
Обязательные:
ID учетной записи оператора (user.id).
Статус оператора (user_status).
Дополнительные (при необходимости):
Имя оператора (user.name).
Email оператора (user.email).
ID группы оператора (user.group.id).
IP-адрес и User-Agent (браузер) для событий логина/логаута.
Преимущества использования
Снижение нагрузки на API: Отправка данных по событиям устраняет необходимость постоянных запросов (polling) к API для проверки статуса операторов.
Гибкость: Возможность настройки передаваемых данных и событий в зависимости от требований внешнего сервиса.
Поддержка реального времени: Идеально подходит для создания дашбордов или систем мониторинга, отображающих актуальную информацию о статусе операторов.
Настройка и интеграция
Перейдите в меню "Маркетплейс/плагины" в управлении хелпдеска и добавьте новый плагин:
В настройках плагина укажите тип плагина — "Канал", после чего появятся вкладки с настройкой исходящего и входящего вебхуков:
Настройка плагина:
Укажите URL внешнего сервиса для отправки вебхуков.
Настройте события, которые нужно отслеживать.
Настройте обработку вебхуков на стороне внешнего сервиса для получения и интерпретации данных. Убедитесь, что внешний сервис принимает JSON-данные в указанном формате.
Пример запроса при изменении статуса сотрудника:
POST / HTTP/1.1
Host: hdetest.requestcatcher.com
Accept: application/json
Content-Length: 176
Content-Type: application/json
Source: Событие в HelpDeskEddy
X-Signature: sTc4rwfIbyJ3u2QSFAo7N4CUg12an4zB9m++b0ahNRU=
{"event":"user.status.updated","event_data":{"user_status":"on-hold"},"user":{"id":"1","name":"Сергей","email":"hde@test.com","group":{"id":"2"},"user_status":"on-hold"}}Примеры использования
Создание дашборда в реальном времени:
Клиент (например, ритейл-компания) использует плагин для отправки данных о статусе операторов на собственный дашборд, отображая, кто из операторов в сети, занят или неактивен.
Автоматизация процессов:
При входе оператора в систему автоматически устанавливается статус "в сети".
При выходе или неактивности статус меняется на "не в сети".
Синхронизация данных:
Передача изменений статуса или данных контакта в другую систему (например, CRM) для синхронизации информации.
Плагин типа "Канал" в HelpDeskEddy — мощный инструмент для интеграции с внешними сервисами, обеспечивающий передачу данных о ключевых событиях в реальном времени. Он поддерживает гибкую настройку событий и данных, снижая нагрузку на API и упрощая создание интерактивных дашбордов или автоматизированных процессов.