Download the PHP package mautic/api-library without Composer
On this page you can find all versions of the php package mautic/api-library. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package api-library
Using the Mautic API Library
Requirements
- PHP 8.0 or newer
Installing the API Library
You can install the API Library with the following command:
N.B. Make sure you have installed a PSR-18 HTTP Client before you install this package or install one at the same time e.g. composer require mautic/api-library guzzlehttp/guzzle:^7.3
.
HTTP Client
We are decoupled from any HTTP messaging client with the help of PSR-18 HTTP Client. This requires an extra package providing psr/http-client-implementation. To use Guzzle 7, for example, simply require guzzlehttp/guzzle
:
The installed HTTP Client is auto-discovered using php-http/discovery, but you can also provide your own HTTP Client if you like.
Mautic Setup
The API must be enabled in Mautic. Within Mautic, go to the Configuration page (located in the Settings menu) and under API Settings enable Mautic's API. If you intend to use Basic Authentication, ensure you enable it. You can also choose which OAuth protocol to use here. After saving the configuration, go to the API Credentials page (located in the Settings menu) and create a new client. Enter the callback/redirect URI that the request will be sent from. Click Apply, then copy the Client ID and Client Secret to the application that will be using the API.
Authorization
Obtaining an access token
The first step is to obtain authorization. Mautic supports OAuth 1.0a and OAuth 2, however it is up to the administrator to decide which is enabled. Thus it is best to have a configuration option within your project for the administrator to choose what method should be used by your code.
Using Basic Authentication Instead
Instead of messing around with OAuth, you may simply elect to use BasicAuth instead.
Here is the BasicAuth version of the code above.
Note: If the credentials are incorrect an error response will be returned.
API Requests
Now that you have an access token and the auth object, you can make API requests. The API is broken down into contexts.
Get a context object
Supported contexts are currently:
See the developer documentation.
Retrieving items
All of the above contexts support the following functions for retrieving items:
Creating an item
Editing an item
Deleting an item
Error handling
Contributing
Setting up your environment (automatically)
In order to get started quickly, we recommend that you use DDEV which sets things up automatically for you. It clones https://github.com/mautic/mautic, sets up a local instance for you, and connects the API library tests to that instance.
To get started, run ddev start
! Our first-run experience will guide you through the setup.
Setting up your environment (manually)
If you want to set up your local environment manually, ensure that you copy /tests/local.config.php.dist
to /tests/local.config.php
, and fill in the required settings. We recommend using the Basic Authentication method to get up and running quickly.
Unit tests
Configure the unit tests config before running the unit tests. The tests fire real API requests to a Mautic instance.
- Ensure you have set up your local environment using the steps above.
- Run
composer test
to run the tests.
Modify this command to run a specific test: composer test -- --filter testCreateGetAndDelete tests/Api/NotesTest.php
Modify this command to run all tests in one class: composer test -- --filter test tests/Api/NotesTest.php
Contributors ✨
Thanks goes to these wonderful people (emoji key):
Zdeno Kuzmany 💻 |
dlopez-akalam 💻 |
mollux 💻 |
Martina Scholz 💻 |
John Linhart 👀 |
Marinus van Velzen 💻 |
Pierre Ammeloot 📓 |
Martin Vooremäe 💻 ⚠️ |
This project follows the all-contributors specification. Contributions of any kind welcome!
All versions of api-library with dependencies
ext-json Version *
psr/log Version ~1.0 || ~2.0 || ~3.0
psr/http-client Version ^1.0
psr/http-client-implementation Version ^1.0
guzzlehttp/psr7 Version ^2.4
php-http/discovery Version ^1.15