| Package Data | |
|---|---|
| Maintainer Username: | hilenium |
| Maintainer Contact: | mpclarkson@gmail.com (Matthew Clarkson) |
| Package Create Date: | 2016-04-22 |
| Package Last Update: | 2019-08-05 |
| Language: | PHP |
| License: | MIT |
| Last Refreshed: | 2025-11-02 15:00:53 |
| Package Statistics | |
|---|---|
| Total Downloads: | 66,903 |
| Monthly Downloads: | 69 |
| Daily Downloads: | 0 |
| Total Stars: | 17 |
| Total Watchers: | 3 |
| Total Forks: | 42 |
| Total Open Issues: | 5 |
This is a service provider for interacting with the Freshdesk API v2 via the freshdesk-php-sdk in Laravel and Lumen applications.
To add this bundle to your app, use Composer.
Add mpclarkson/freshdesk-laravel to your composer.json file:
{
"require": {
"mpclarkson/freshdesk-laravel": "dev-master"
}
}
Then run:
composer update
You must then register the provider in your application.
Register the provider in the providers key in your config/app.php:
'providers' => array(
// ...
Mpclarkson\Laravel\Freshdesk\FreshdeskServiceProvider::class,
)
Then add the Freshdesk facade alias in the aliases key in your config/app.php:
'aliases' => array(
// ...
'Freshdesk' => Mpclarkson\Laravel\Freshdesk\FreshdeskFacade::class,
)
To customize the configuration file, publish the package configuration using Artisan.
php artisan vendor:publish
Update the settings in the app/config/freshdesk.php file.
return [
'api_key' => 'your_freshdesk_api_key',
'domain' => 'your_freshdesk_domain',
];
In a controller you can access Freshdesk resource as follows:
//Contacts
$contacts = Freshdesk::contacts()->update($contactId, $data);
//Agents
$me = Freshdesk::agents()->current();
//Companies
$company = Freshdesk::companies()->create($data);
//Groups
$deleted = Freshdesk::groups()->delete($groupId);
//Tickets
$ticket = Freshdesk::tickets()->view($filters);
//Time Entries
$time = Freshdesk::timeEntries()->all($ticket['id']);
//Conversations
$ticket = Freshdesk::conversations()->note($ticketId, $data);
//Categories
$newCategory = Freshdesk::categories()->create($data);
//Forums
$forum = Freshdesk::forums()->create($categoryId, $data);
//Topics
$topics =Freshdesk::topics()->monitor($topicId, $userId);
//Comments
$comment = Freshdesk::comments()->create($forumId);
//Email Configs
$configs = Freshdesk::emailConfigs()->all();
//Products
$product = Freshdesk::products()->view($productId);
//Business Hours
$hours = Freshdesk::businessHours()->all();
//SLA Policy
$policies = Freshdesk::slaPolicies()->all();
All GET requests accept an optional array $query parameter to filter
results. For example:
//Page 2 with 50 results per page
$page2 = Freshdesk::forums()->all(['page' => 2, 'per_page' => 50]);
//Tickets for a specific customer
$tickets = Freshdesk::tickets()->view(['company_id' => $companyId]);
Please read the Freshdesk documentation for further information on
filtering GET requests.
This is a work in progress and PRs are welcome. Please read the contributing guide.
The library was written and maintained by Matthew Clarkson from Hilenium.