teraone/matomo-client

A Matomo API Client Library for Laravel

v1.1.1 2024-06-04 10:20 UTC

This package is auto-updated.

Last update: 2024-11-04 11:33:32 UTC


README

Latest Version on Packagist Total Downloads GitHub Actions

This package is based on VisualAppeal/Matomo-PHP-API

Installation

You can install the package via composer:

composer require teraone/matomo-client

Publish and edit the configuration file

php artisan vendor:publish
  • Choose matomo-client
  • Update the file app/config/matomo-client.php with your Matomo credentials

Usage

To keep things simple, only JSON is supported. All Methods return a Illuminate\Http\Client\Response

// get the Matomo Client
$matomoClient = app()->get('matomo-client');

// get Visits of this month
$matomo->setDate(now(), MatomoClient::PERIOD_MONTH)
       ->setFilterLimit(10) // defaults to 100
       ->getVisits()
       ->json();



// get Event Names of the last week
$matomo->setDate(now()->subWeek(), MatomoClient::PERIOD_RANGE, now())
        ->getEventName()
        ->json();

Testing

Under the hood this library uses the Laravel HTTP Client.

You can mock all Requests in your tests

Http::fake(
  'https://matomo.test/index.php*' => \Http::response(['value' => 123], 200),
);

Changelog

Please see CHANGELOG for more information what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email gotre@teraone.de instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.