В системах поддержки клиентов на базе WordPress часто возникает необходимость формировать регулярные отчеты по тикетам: для анализа работы службы поддержки, оценки нагрузки и эффективности агентов. В этой статье разберем, как создать автоматический отчет по тикетам с помощью плагина WPtickets и дополнения WPRemark. Такой отчет можно отправлять автоматически по почте или сохранять в удобном формате для дальнейшего анализа.
Почему важен автоматический отчет по тикетам в службе поддержки
Ручное формирование отчетов занимает время, особенно при большом количестве тикетов и агентов. Автоматизация позволяет:
- Экономить время сотрудников и руководителей;
- Получать регулярный объективный анализ работы службы поддержки;
- Отслеживать ключевые показатели (количество новых тикетов, время ответа, количество решенных запросов и т.д.);
- Быстро выявлять узкие места и улучшать процессы.
Плагин WPtickets предоставляет мощный API для работы с тикетами, а WPRemark расширяет возможности по генерации отчетов и уведомлений.
Настройка плагинов WPtickets и WPRemark для отчетов
Перед созданием отчета убедитесь, что оба плагина установлены и активированы на вашем сайте. WPtickets отвечает за работу с тикетами, WPRemark — за создание шаблонов писем и автоматизацию рассылок.
Для начала создадим функцию, которая будет собирать данные по тикетам за нужный период. Например, за последнюю неделю:
function wpticketsru_get_weekly_tickets_report() {
$args = array(
'post_type' => 'wpticket',
'post_status' => 'any',
'date_query' => array(
array(
'after' => '1 week ago',
'inclusive' => true,
),
),
'posts_per_page' => -1,
);
$query = new WP_Query($args);
$total_tickets = $query->found_posts;
$open_tickets = 0;
$closed_tickets = 0;
foreach ($query->posts as $ticket_post) {
$status = get_post_meta($ticket_post->ID, '_wpticket_status', true);
if ($status === 'closed') {
$closed_tickets++;
} else {
$open_tickets++;
}
}
return array(
'total' => $total_tickets,
'open' => $open_tickets,
'closed' => $closed_tickets,
);
}
Эта функция использует WP_Query для выборки тикетов за последнюю неделю и подсчитывает общее количество, а также сколько из них открыты и закрыты.
Формирование текстового отчета
Дальше создадим функцию, которая преобразует данные в удобочитаемый формат для отправки по email:
function wpticketsru_format_report_text($data) {
$text = "Отчет по тикетам за последнюю неделю:\n";
$text .= "Всего тикетов: " . $data['total'] . "\n";
$text .= "Открытых тикетов: " . $data['open'] . "\n";
$text .= "Закрытых тикетов: " . $data['closed'] . "\n";
return $text;
}
Теперь можно отправить этот отчет на email с помощью WPRemark. Для этого создадим шаблон письма в WPRemark и вызовем функцию отправки:
Автоматическая отправка отчета с помощью WPRemark и WP Cron
Для регулярной отправки отчета используем планировщик заданий WordPress — WP Cron. Добавим задачу, которая будет выполняться раз в неделю:
add_action('wpticketsru_send_weekly_report', 'wpticketsru_send_report_email');
function wpticketsru_schedule_weekly_report() {
if (!wp_next_scheduled('wpticketsru_send_weekly_report')) {
wp_schedule_event(time(), 'weekly', 'wpticketsru_send_weekly_report');
}
}
add_action('wp', 'wpticketsru_schedule_weekly_report');
function wpticketsru_send_report_email() {
$data = wpticketsru_get_weekly_tickets_report();
$message = wpticketsru_format_report_text($data);
$to = 'manager@example.com'; // Замените на email получателя
$subject = 'Автоматический отчет по тикетам WPtickets';
wp_mail($to, $subject, $message);
}
Эта реализация базовая, но ее можно расширять: например, подключать шаблоны WPRemark, добавлять более детальные данные (среднее время ответа, рейтинг агентов), экспорт в CSV или PDF.
Расширение отчета: добавление подробной статистики и кастомных метрик
WPtickets хранит множество метаданных — количество ответов, прикрепленные файлы, приоритеты. Используя их, можно создавать более глубокие отчеты.
Пример дополнительного подсчета среднего времени ответа:
function wpticketsru_get_average_response_time() {
$args = array(
'post_type' => 'wpticket',
'post_status' => 'any',
'posts_per_page' => -1,
);
$query = new WP_Query($args);
$total_response_time = 0;
$count = 0;
foreach ($query->posts as $ticket_post) {
$created = get_post_time('U', false, $ticket_post);
$first_response = get_post_meta($ticket_post->ID, '_wpticket_first_response_time', true);
if ($first_response) {
$response_time = $first_response - $created;
$total_response_time += $response_time;
$count++;
}
}
if ($count === 0) return 0;
return round($total_response_time / $count);
}
Далее можно добавить это значение в текст отчета, преобразовав секунды в часы и минуты для удобства.
Советы по улучшению автоматических отчетов в WPtickets
- Используйте кастомные поля WPtickets для сбора уникальных данных;
- Интегрируйте WPRemark для создания красочных и информативных HTML-отчетов;
- Добавляйте графики и диаграммы с помощью сторонних библиотек, например, Chart.js, в отчетах на странице администратора;
- Автоматизируйте отправку отчетов через email с помощью WP Cron и проверяйте логи для отлова ошибок;
- Если у вас мультисайт, создайте мультистор отчетность, собирая данные со всех сайтов.
Таким образом, автоматизация отчетности по тикетам с WPtickets и WPRemark поможет повысить эффективность службы поддержки и своевременно принимать решения на основе аналитики.
Для более детальной настройки и расширения возможностей рекомендуем ознакомиться с документацией плагинов на WPSHOP.ru.