Wrapper on the Mautic API for Laravel 4/5.x
Installation using composer:
composer require gentor/mautic-api-laravel
Add the service provider in config/app.php
:
Gentor\Mautic\MauticServiceProvider::class,
Add the facade alias in config/app.php
:
Gentor\Mautic\Facades\Mautic::class,
Change your default settings in app/config/mautic.php
:
return [
'baseUrl' => env('MAUTIC_API_URL'),
'userName' => env('MAUTIC_API_USERNAME'),
'password' => env('MAUTIC_API_PASSWORD'),
];
- Creating an item
// Create contact
$fields = Mautic::contacts()->getFieldList();
$data = array();
foreach ($fields as $field) {
$data[$field['alias']] = $_POST[$field['alias']];
}
// Set the IP address the contact originated from if it is different than that of the server making the request
$data['ipAddress'] = $ipAddress;
// Create the contact
$response = Mautic::contacts()->create($data);
$contact = $response[Mautic::contacts()->itemName()];
// Create company
$fields = Mautic::companies()->getFieldList();
$data = array();
foreach ($fields as $field) {
$data[$field['alias']] = $_POST[$field['alias']];
}
// Create the company
$response = Mautic::companies()->create($data);
$contact = $response[Mautic::companies()->itemName()];
// Create contact with companies
$contact = Mautic::contacts()->createWithCompanies([
'firstname' => 'Mautic',
'lasttname' => 'Contact',
'email' => 'contact@email.com',
'companies' => [
[
'companyname' => 'Company 1',
],
[
'companyname' => 'Company 2',
],
],
]);
- Edit an item
$updatedData = array(
'firstname' => 'Updated Name'
);
$response = Mautic::contacts()->edit($contactId, $updatedData);
$contact = $response[Mautic::contacts()->itemName()];
// If you want to create a new contact in the case that $contactId no longer exists
// $response will be populated with the new contact item
$response = Mautic::contacts()->edit($contactId, $updatedData, true);
$contact = $response[Mautic::contacts()->itemName()];
- Delete an item
$response = Mautic::contacts()->delete($contactId);
$contact = $response[Mautic::contacts()->itemName()];
- Error handling
// $response returned by an API call should be checked for errors
$response = Mautic::contacts()->delete($contactId);
if (isset($response['error'])) {
echo $response['error']['code'] . ": " . $response['error']['message'];
} else {
// do whatever with the info
}