sandwave-io / freshdesk-php
A PHP SDK for the Freshdesk REST API.
Installs: 25 031
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 10
Forks: 0
Open Issues: 0
Requires
- php: ^8.1
- ext-json: *
- guzzlehttp/guzzle: ^7.5.0
- jms/serializer: ^3.23
- psr/log: ^3.0
- webmozart/assert: ^1.11
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.14
- phpstan/extension-installer: ^1.2
- phpstan/phpstan: ^1.10.6
- phpstan/phpstan-phpunit: ^1.3.10
- phpunit/phpunit: ^10.0.15
- sandwave-io/php-cs-fixer-config: ^1.0
- spaze/phpstan-disallowed-calls: ^v2.12.0
README
Freshdesk API - PHP SDK
Supported APIs
This SDK currently supports these APIs:
Are you missing functionality? Feel free to create an issue, or hit us up with a pull request.
How to use (REST API)
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);
How to contribute
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.