Мне нужно сделать виджет / плагин для моей организации, используя Piwik, но я немного растерялся. Мы отправляем пользовательские события в Piwik, такие как:
Category: Staff
Action: Login
Как бы я запросил piwik из виджета / плагина, чтобы получить количество событий, соответствующих этой конкретной категории / действию?
Вот документация относительно API событий.
Есть 2 метода, которые могут вас заинтересовать:
Events.getCategory
Events.getAction
Они вернут список действий / категорий, сопоставленных с nb_uniq_visitors
, nb_visits
а также nb_events
,
nb_events
может быть тот, который вы должны использовать, чтобы получить количество событий для каждой категории или действия. Вот пример запроса для списка категорий событий:
Обратите внимание, что вам не нужно специально писать плагин 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',
));
Других решений пока нет …