Harvest is a time tracking and invoicing tool.
This PHP SDK is generated automatically with JanePHP using a Harvest OpenAPI specification generated from the HTML documentation. It means that:
- all the API endpoints and parameters are supported. See the list of available endpoints;
- when the documentation changes, it is easy to update the library and keep up-to-date.
The API is tested against the examples provided by the Harvest API documentation.
This library is built atop of PSR-7 and PSR-18. So you will need to install some implementations for those interfaces.
If no PSR-18 client or PSR-7 message factory is available yet in your project or you don't know or don't care which one to use, just install some default:
composer require symfony/http-client nyholm/psr7
You can now install the Harvest client:
composer require jolicode/harvest-php-api
First, you need to retrieve an access token. Please checkout Harvest's documentation about the OAuth2 Authorization Flow.
Then, use the factory that is provided to create the client:
// $harvestClient contains all the methods to interact with the API
$harvestClient = JoliCode\Harvest\ClientFactory::create(
$accessToken,
$harvestAccountId
);
$clients = $harvestClient->listClients([
'is_active' => true,
])->getClients();
dump($clients);
Want more example or documentation? See the documentation, which lists all the available methods.
Got some problems using this library? Need a missing feature? Do not hesitate to open an issue and share it with us.
You can see the current and past versions using one of the following:
- the
git tag
command - the releases page on Github
- the file listing the changes between versions
And finally some meta documentation:
This library is licensed under the MIT License - see the LICENSE file for details.