Количество запросов определенного события в Piwik

Мне нужно сделать виджет / плагин для моей организации, используя Piwik, но я немного растерялся. Мы отправляем пользовательские события в Piwik, такие как:

Category: Staff
Action: Login

Как бы я запросил piwik из виджета / плагина, чтобы получить количество событий, соответствующих этой конкретной категории / действию?

4

Решение

Вот документация относительно API событий.

Есть 2 метода, которые могут вас заинтересовать:

  • Events.getCategory
  • Events.getAction

Они вернут список действий / категорий, сопоставленных с nb_uniq_visitors, nb_visits а также nb_events,

nb_events может быть тот, который вы должны использовать, чтобы получить количество событий для каждой категории или действия. Вот пример запроса для списка категорий событий:

http://demo.piwik.org/?module=API&Метод = Events.getCategory&idSite = 7&Период = день&дата = сегодня&Формат = XML&token_auth = анонимным

Обратите внимание, что вам не нужно специально писать плагин Piwik для этого, вам просто нужно запросить API отчетности. Однако, если вы хотите отобразить эти цифры в Piwik, то вам действительно нужно написать плагин.


Редактировать: Вы хотите знать, как получить этот список из пользовательского плагина Piwik.

Посмотрите на Вызов API других плагинов документация. В вашем случае вам придется вызывать API событий следующим образом:

$table = \Piwik\API\Request::processRequest('Events.getCategory', array(
'idSite' => $idSite,
'period' => $period,
'date'   => $date,
));

Когда у вас есть таблица, вы можете найти интересующую вас строку:

$row = $table->getRowFromLabel('Staff');

Затем получите количество событий за период:

$numberOfEvents = $row->getColumn('nb_events');

Обратите внимание, что вы также можете оптимизировать свой вызов API для фильтрации и получения только метки, которую вы ищете, и столбца, который вы используете:

$table = \Piwik\API\Request::processRequest('Events.getCategory', array(
'idSite'      => $idSite,
'period'      => $period,
'date'        => $date,
'label'       => 'Staff',
'showColumns' => 'nb_events',
));
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]