ceytek-labs / matomo-services-lite
Matomo Services Lite is a lightweight and extendable library designed to help you manage data easily using the Matomo in your PHP projects.
Requires
- php: ^7.0|^8.0
README
Matomo Services Lite - Matomo API for PHP
Matomo Services Lite is a lightweight and extendable library designed to help you manage data easily using the Matomo in your PHP projects.
Disclaimer: This package is not an official product of Matomo. The developers accept no responsibility for any issues, discrepancies, or damages that may arise from its use.
Requirements
- PHP 7.0 or higher (including PHP 8)
Installation
You can add this package to your projects via Composer:
composer require ceytek-labs/matomo-services-lite
Services
- Actions
- Devices Detection
- Events
- Marketing Campaigns Reporting
- Sites Manager
- Users Manager
- Visits Summary
Actions
The Actions API lets you request reports for all your Visitor Actions: Page URLs, Page titles, Events, Content Tracking, File Downloads and Clicks on external websites.
Example Usage
The following example demonstrates how to manage data in a Actions document:
Actions: Get
use CeytekLabs\MatomoServicesLite\Matomo; $result = Matomo::make() ->setApi('<your-api-url>') ->setToken('<your-token>') ->actions() ->setIdSite('<your-id-site>') ->setPeriod('<your-period>') ->setDate('<your-date>') ->get(); echo '<pre>'; print_r($result);
Actions: Get Page Urls
use CeytekLabs\MatomoServicesLite\Matomo; $result = Matomo::make() ->setApi('<your-api-url>') ->setToken('<your-token>') ->actions() ->setIdSite('<your-id-site>') ->setPeriod('<your-period>') ->setDate('<your-date>') ->getPageUrls(); echo '<pre>'; print_r($result);
Devices Detection
The DevicesDetection API lets you access reports on your visitors devices, brands, models, Operating system, Browsers.
Example Usage
The following example demonstrates how to manage data in a Devices Detection document:
Devices Detection: Get Type
use CeytekLabs\MatomoServicesLite\Matomo; $result = Matomo::make() ->setApi('<your-api-url>') ->setToken('<your-token>') ->devicesDetection() ->setIdSite('<your-id-site>') ->setPeriod('<your-period>') ->setDate('<your-date>') ->getType(); echo '<pre>'; print_r($result);
Events
The Events API lets you request reports about your users' Custom Events.
Example Usage
The following example demonstrates how to manage data in a Devices Detection document:
Events: Get Action
use CeytekLabs\MatomoServicesLite\Matomo; $result = Matomo::make() ->setApi('<your-api-url>') ->setToken('<your-token>') ->events() ->setIdSite('<your-id-site>') ->setPeriod('<your-period>') ->setDate('<your-date>') ->getAction(); echo '<pre>'; print_r($result);
Events: Get Category
use CeytekLabs\MatomoServicesLite\Matomo; $result = Matomo::make() ->setApi('<your-api-url>') ->setToken('<your-token>') ->events() ->setIdSite('<your-id-site>') ->setPeriod('<your-period>') ->setDate('<your-date>') ->getCategory(); echo '<pre>'; print_r($result);
Events: Get Name
use CeytekLabs\MatomoServicesLite\Matomo; $result = Matomo::make() ->setApi('<your-api-url>') ->setToken('<your-token>') ->events() ->setIdSite('<your-id-site>') ->setPeriod('<your-period>') ->setDate('<your-date>') ->getName(); echo '<pre>'; print_r($result);
Events: Get Name From Action ID
use CeytekLabs\MatomoServicesLite\Matomo; $result = Matomo::make() ->setApi('<your-api-url>') ->setToken('<your-token>') ->events() ->setIdSite('<your-id-site>') ->setPeriod('<your-period>') ->setDate('<your-date>') ->setIdSubtable('<your-id-subtable>') ->getNameFromActionId(); echo '<pre>'; print_r($result);
Marketing Campaigns Reporting
API for plugin MarketingCampaignsReporting
Example Usage
The following example demonstrates how to manage data in a Marketing Campaigns Reporting document:
Marketing Campaigns Reporting: Get Name
use CeytekLabs\MatomoServicesLite\Matomo; $result = Matomo::make() ->setApi('<your-api-url>') ->setToken('<your-token>') ->marketingCampaignsReporting() ->setIdSite('<your-id-site>') ->setPeriod('<your-period>') ->setDate('<your-date>') ->getName(); echo '<pre>'; print_r($result);
Sites Manager
The SitesManager API gives you full control on Websites in Matomo (create, update and delete), and many methods to retrieve websites based on various attributes.
Example Usage
The following example demonstrates how to manage data in a Sites Manager document:
Sites Manager: Get All Sites
use CeytekLabs\MatomoServicesLite\Matomo; $result = Matomo::make() ->setApi('<your-api-url>') ->setToken('<your-token>') ->sitesManager() ->getAllSites(); echo '<pre>'; print_r($result);
Users Manager
The UsersManager API lets you Manage Users and their permissions to access specific websites.
Example Usage
The following example demonstrates how to manage data in a Users Manager document:
Users Manager: Get Users With Site Access
use CeytekLabs\MatomoServicesLite\Matomo; $result = Matomo::make() ->setApi('<your-api-url>') ->setToken('<your-token>') ->usersManager() ->setIdSite('<your-id-site>') ->setAccess('<your-access>') ->getUsersWithSiteAccess(); echo '<pre>'; print_r($result);
Visits Summary
VisitsSummary API lets you access the core web analytics metrics (visits, unique visitors, count of actions (page views & downloads & clicks on outlinks), time on site, bounces and converted visits).
Example Usage
The following example demonstrates how to manage data in a Visits Summary document:
Visits Summary: Get
use CeytekLabs\MatomoServicesLite\Matomo; $result = Matomo::make() ->setApi('<your-api-url>') ->setToken('<your-token>') ->visitsSummary() ->setIdSite('<your-id-site>') ->setPeriod('<your-period>') ->setDate('<your-date>') ->get(); echo '<pre>'; print_r($result);
Contributing
Feel free to submit a pull request or report an issue. Any contributions and feedback are highly appreciated!
License
This project is licensed under the MIT License.