Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Freshdesk Php Sdk Laravel Package

mohamed-fathy/freshdesk-php-sdk

PHP 5.5+ SDK for Freshdesk API v2. Create an Api client with your API key and domain, then manage tickets, contacts, agents, companies, groups, and more with simple CRUD methods returning plain arrays.

View on GitHub
Deep Wiki
Context7

Freshdesk PHP SDK API v2

Build Status Scrutinizer Code Quality SensioLabsInsight Packagist

This is a PHP 5.5+ SDK for the Freshdesk API v2.

If you have questions, please contact me or open an issue on GitHub.

Quick Start

require __DIR__ . '/vendor/autoload.php';
use \Freshdesk\Api;

$api = new Api("your_freshdesk_api_key", "your_freshdesk_domain");

$all = $api->tickets->all();
$some = $api->tickets->all(['page' => 2]);
$new = $api->tickets->create($data);
$updated = $api->tickets->update($data);
$api->tickets->delete($id);
$existing = $api->tickets->view($id);

//Responses are simple arrays, e.g.:
$id = $existing['id'];
$first = $all[0];

Framework Integration

Installation

To integrate this library into your application, use Composer.

Add mpclarkson/freshdesk-php-sdk to your composer.json file:

{
    "require": {
        "mpclarkson/freshdesk-php-sdk": "dev-master"
    }
}

Then run:

php composer.phar install

API Overview

Full documentation is available here

Getting started

Creating a new API instance is very easy. All you need is your Freshdesk API key and your Freshdesk domain.

require __DIR__ . '/vendor/autoload.php';
use \Freshdesk\Api;

$api = new Api("your_freshdesk_api_key", "your_freshdesk_domain");

Resources

The available methods for each resource are available via a public property on the api, for example:

//Contacts
$contacts = $api->contacts->update($contactId, $data);

//Agents
$me = $api->agents->current();

//Companies
$company = $api->companies->create($data);

//Groups
$deleted = $api->groups->delete($groupId);

//Tickets
$ticket = $api->tickets->view($filters);

//Time Entries
$time = $api->timeEntries->all($ticket['id']);

//Conversations
$ticket = $api->conversations->note($ticketId, $data);

//Categories
$newCategory = $api->categories->create($data);

//Forums
$forum = $api->forums->create($categoryId, $data);

//Topics
$topics = $api->topics->monitor($topicId, $userId);

//Comments
$comment = $api->comments->create($forumId);

//Email Configs
$configs = $api->emailConfigs->all();

//Products
$product = $api->products->view($productId);

//Business Hours
$hours = $api->businessHours->all();

//SLA Policy
$policies = $api->slaPolicies->all();

Responses

All responses are arrays of data. Please refer to Freshdesk's documentation for further information.

Filtering

All GET requests accept an optional array $query parameter to filter results. For example:

//Page 2 with 50 results per page
$page2 = $this->forums->all(['page' => 2, 'per_page' => 50]);

//Tickets for a specific customer
$tickets = $this->tickets->view(['company_id' => $companyId]);

Please read the Freshdesk documentation for further information on filtering GET requests.

Contributing

This is a work in progress and PRs are welcome. Please read the contributing guide.

Nearly all api calls are available except for the Solutions and Surveys, which Freshdesk has not yet implemented.

  • Solutions
  • Surveys
  • Uploading files is not yet supported
  • More tests. You can never have enough!
  • Nicer documentation

Author

The library was written and maintained by Matthew Clarkson from Hilenium.

Reference

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
directorytree/privacy-filter-classifier
directorytree/privacy-filter
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
develia/geo-bundle
dreamzy/livewire-charts
touchestate-sdk/php-sdk
22h/doctrine-garbage-collection-bundle
agtp/agtp-php
agtp/mod-php
splash/sonata-admin
splash/metadata
splash/openapi
splash/scopes
splash/toolkit
testo/output-teamcity
testo/bridge-symfony
spatie/flare-daemon-runtime