This SDK currently supports these APIs:
Are you missing functionality? Feel free to create an issue, or hit us up with a pull request.
composer require sandwave-io/freshdesk-php
<?php
use SandwaveIo\Freshdesk\SerializerFactory;
use SandwaveIo\Freshdesk\FreshdeskClient;
use SandwaveIo\Freshdesk\Client\RestClient;
use SandwaveIo\Freshdesk\RestClientFactory;
$factory = new RestClientFactory(
'api-endpoint',
'API key',
);
// The optional logger should implement \Psr\Log\LoggerInterface
$logger = new YourFavoritePSRLogger();
$serializer = SerializerFactory::create();
$restClient = new RestClient(
$factory->create(),
$serializer,
$logger
);
$freshdeskClient = new FreshdeskClient($restClient);
$freshdeskClient->getTicketClient()->get(123);
Feel free to create a PR if you have any ideas for improvements. Or create an issue.
- When adding code, make sure to add tests for it (phpunit).
- Make sure the code adheres to our coding standards (use php-cs-fixer to check/fix).
- Also make sure PHPStan does not find any bugs.
composer analyze # this will (dry)run php-cs-fixer, phpstan and phpunit
composer phpcs-fix # this will actually let php-cs-fixer run to fix
These tools will also run in GitHub actions on PR's and pushes on main.