В этой статье мы подробно разберем, как организовать автоматическое присваивание тикетов в системе поддержки WPtickets с помощью плагина WPRemark. Такой подход позволит улучшить работу службы поддержки, распределяя задачи между специалистами и экономя время на ручное назначение.
Зачем нужна автоматизация присваивания тикетов в WPtickets
Если у вас растет количество обращений через WPtickets, ручное распределение тикетов становится узким местом. Автоматизация позволяет:
- Сократить время реакции на запросы;
- Избежать ошибок и дублирования при назначении;
- Распределить нагрузку между сотрудниками по заданным правилам;
- Повысить удовлетворенность клиентов за счет оперативного ответа.
Плагин WPRemark, который изначально предназначен для управления комментариями и отзывами, можно использовать для автоматического добавления меток и комментариев к тикетам, что поможет задать правила присвоения.
Настройка WPRemark для работы с WPtickets: основные шаги
Для начала убедитесь, что оба плагина установлены и активированы на вашем сайте. WPtickets отвечает за создание и работу с тикетами, WPRemark — за расширенную работу с комментариями и метками.
Основная идея состоит в том, чтобы использовать фильтры WPRemark для добавления специальных меток и триггеров, которые будут служить сигналом для автоматического назначения ответственного в WPtickets.
Откройте файл functions.php вашей темы или создайте отдельный плагин и добавьте следующий код:
function wptickets_autoresponsible_assign($ticket_id) {
$ticket = get_post($ticket_id);
if (!$ticket || $ticket->post_type !== 'wptickets') {
return;
}
// Получаем метки тикета через WPRemark
$labels = get_post_meta($ticket_id, 'wpremark_labels', true);
if (is_array($labels)) {
// Пример: если метка 'техническая поддержка' - назначаем сотрудника с ID 5
if (in_array('техническая поддержка', $labels)) {
wp_update_post(array(
'ID' => $ticket_id,
'post_author' => 5
));
}
// Добавьте другие условия по меткам
}
}
add_action('wptickets_new_ticket_created', 'wptickets_autoresponsible_assign');В данном примере мы слушаем событие создания нового тикета и проверяем метки WPRemark. Если метка совпадает с нужной, назначаем конкретного пользователя ответственным.
Обработка меток WPRemark
Для правильной работы важно, чтобы метки WPRemark корректно сохранялись в метаполях тикета. Если у вас метки хранятся иначе, измените функцию получения меток.
Также можно расширить логику, добавив автоматическую установку меток на основе ключевых слов в описании тикета через WPRemark:
function wptickets_wpremark_label_by_keywords($comment_text, $comment_post_ID) {
$keywords_map = array(
'ошибка' => 'техническая поддержка',
'оплата' => 'финансовый отдел',
'доставка' => 'логистика'
);
foreach ($keywords_map as $keyword => $label) {
if (stripos($comment_text, $keyword) !== false) {
wp_add_object_terms($comment_post_ID, $label, 'wpremark_labels');
}
}
}
add_action('comment_post', 'wptickets_wpremark_label_by_keywords', 10, 2);Этот код анализирует текст комментария (в нашем случае тикета) и автоматически добавляет нужные метки, которые потом используются для назначения ответственного.
Расширение функционала: распределение по приоритетам и очередям
Автоматическое присваивание можно усложнить, добавив приоритеты и очереди. Например, тикеты с меткой "критическая ошибка" обрабатываются в первую очередь, и назначаются на старшего специалиста.
Для этого можно расширить функцию присвоения так:
function wptickets_autoresponsible_assign_advanced($ticket_id) {
$labels = get_post_meta($ticket_id, 'wpremark_labels', true);
if (!is_array($labels)) {
return;
}
$responsible_id = null;
if (in_array('критическая ошибка', $labels)) {
$responsible_id = 2; // Старший специалист
} elseif (in_array('техническая поддержка', $labels)) {
$responsible_id = 5; // Техподдержка
} elseif (in_array('финансовый отдел', $labels)) {
$responsible_id = 8; // Финансист
}
if ($responsible_id) {
wp_update_post(array(
'ID' => $ticket_id,
'post_author' => $responsible_id
));
}
}
add_action('wptickets_new_ticket_created', 'wptickets_autoresponsible_assign_advanced');Такой подход позволяет задать гибкие правила распределения, которые можно подстроить под свою организацию.
Советы по отладке и тестированию
После внедрения автоматического назначения необходимо тщательно протестировать систему с разными сценариями. Проверьте:
- Правильность добавления и чтения меток;
- Назначение корректного ответственного;
- Обрабатываются ли все нужные ключевые слова;
- Корректность работы при отсутствии меток.
Для отладки удобно использовать плагины для логирования действий, например, WP Activity Log, чтобы видеть, какие изменения происходят с тикетами.
Выводы и рекомендации
Интеграция WPtickets и WPRemark позволяет построить мощную систему автоматического распределения тикетов по ответственным. Такая связка удобна, если вы хотите использовать метки и комментарии для классификации запросов.
Используйте предложенный код как базу для развития своей системы, добавляйте новые правила, учитывайте особенности бизнеса и не забывайте про тестирование. При необходимости можно подключить и другие плагины из каталога WPSHOP для расширения функционала.