Laravel 5
PHP 5.5+
No commit activity in last 2 years
No release in over 2 years
There's a lot of open issues
Free and Open Source Marketing Automation API
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Runtime

5.0.*|5.1.*|5.2.*|5.3.*|5.4.*|5.5.*|5.6.*
5.0.*|5.1.*|5.2.*||5.3.*|5.4.*|5.5.*|5.6.*
mautic/api-library
2.1.1
guzzlehttp/guzzle
^6.2
 Project Readme

Looking for maintainers for this project

Mautic API in Laravel/Lumen.

Free and Open Source Marketing Automation API

Requirements

  • PHP 5.5.* or newer
  • cURL support

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. You can also choose which OAuth2 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.

Installation

First, you'll need to require the package with Composer:

composer require princealikhan/laravel-mautic-api

Aftwards, run composer update from your command line.

Then, update config/app.php by adding an entry for the service provider.

'providers' => [
	// ...
	'Princealikhan\Mautic\MauticServiceProvider',
],

Then, register class alias by adding an entry in aliases section

'aliases' => [
    //.....
    'Mautic' => 'Princealikhan\Mautic\Facades\Mautic',
],

Finally, from the command line run php artisan vendor:publish to publish the default configuration file. This will publish a configuration file name mautic.php ,consumer migration and consumer model.

Run php artisan migrate migration command to create consumer table in your database.

Configuration

You need to add your client id, client secret and callback url in mautic.php file that is found in your applications config directory.

Authorization

This Library only support OAuth2 Authorization you must need to create a OAuth2 client in order to use api.

Registering Application

In order to register you application with mautic ping this url this is one time registration.

http://your-app/mautic/application/register

Usage

Add Mautic Facade in your controller.

use Mautic;

Send a request to mautic ( Example )

Create a new contact in mautic.

$params = array(
    'firstname' => 'Prince',
    'lastname'=> 'Ali Khan',
    'email' => 'princealikhan08@gmail.com'
);

Mautic::request('POST','contacts/new',$params);

Get List of all contacts

Mautic::request('GET','contacts');

Get a unique contact

Mautic::request('GET','contacts/1');
//where 1 is unique id for a contact.

Delete a contact

Mautic::request('Delete','contacts/1/delete');
And many more endpoints support by mautic.

List of Endpoints supported by Mautic.

Contacts

[
    "contacts",
    "contacts/{id}",
    "contacts/list/fields",
    "contacts/list/owners",
    "contacts/new",
    "contacts/{id}/edit",
    "contacts/{id}/delete",
    "contacts/{id}/notes",
    "contacts/{id}/segments",
    "contacts/{id}/campaigns"
]

Assets

[
    "assets",
    "assets/{id}"
]

Campaigns

[
    "campaigns",
    "campaigns/{id}",
    "campaigns/contact/{id}/add/{leadId}",
    "campaigns/contact/{id}/remove/{leadId}"
]

Data

[
    "data",
    "data/{type}",
]

Emails

[
    "emails",
    "emails/{id}",
    "emails/{id}/send",
    "emails/{id}/send/lead/{leadId}"
]

Forms

[
    "forms",
    "forms/{id}"
]

Pages

[
    "pages",
    "pages/{id}"
]

Points

[
    "points",
    "points/{id}",
    "points/triggers",
    "points/triggers/{id}"
]

Reports

[
    "reports",
    "reports/{id}"
]

Segments

[
    "segments",
    "segments/contact/{id}/add/{leadId}",
    "segments/contact/{id}/remove/{leadId}"
]

Users

[
    "roles",
    "roles/{id}",
    "users",
    "users/{id}",
    "users/list/roles",
    "users/self",
    "users/{id}/permissioncheck",
]

Please refer to Documentation. for all customizable parameters.