All Projects → jolicode → harvest-php-api

jolicode / harvest-php-api

Licence: MIT license
🌾 A Harvest API PHP Client

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to harvest-php-api

HibiAPI
一个实现了多种常用站点的易用化API的程序 / A program that implements easy-to-use APIs for a variety of commonly used sites.
Stars: ✭ 427 (+2035%)
Mutual labels:  openapi
datadog-api-client-python
Python client for the Datadog API
Stars: ✭ 44 (+120%)
Mutual labels:  openapi
nx-trumbitta
💡An attempt to start collecting all of my Nx-related Open Source work in a mono-repo.
Stars: ✭ 31 (+55%)
Mutual labels:  openapi
OpenAlchemy
Define SQLAlchemy models using the OpenAPI specification.
Stars: ✭ 39 (+95%)
Mutual labels:  openapi
microblog-api
A modern (as of 2022) Flask API back end.
Stars: ✭ 218 (+990%)
Mutual labels:  openapi
optimade-python-tools
Tools for implementing and consuming OPTIMADE APIs in Python
Stars: ✭ 38 (+90%)
Mutual labels:  openapi
advanced-spring-scaffold
This project provides an advanced baseline to help you kick start a Spring project.
Stars: ✭ 21 (+5%)
Mutual labels:  openapi
Unchase.OpenAPI.Connectedservice
📜 Visual Studio extension to generate OpenAPI (Swagger) web service reference.
Stars: ✭ 69 (+245%)
Mutual labels:  openapi
cli
Panacloud Command Line Interface (CLI) uses the design-first approach for developing APIs. It generates Modern Multi-Tenant Serverless Cloud API infrastructure, mocks, stubs, tests, and stages using CDK. GraphQL schemas and OpenAPI specifications are used to implement the design-first approach.
Stars: ✭ 23 (+15%)
Mutual labels:  openapi
client-encryption-java
Library for Mastercard API compliant payload encryption/decryption.
Stars: ✭ 55 (+175%)
Mutual labels:  openapi
yamlinc
Compose multiple YAML files into one with $include tag. Split Swagger/OpenAPI into multiple YAML files.
Stars: ✭ 103 (+415%)
Mutual labels:  openapi
n26-api
Unofficial N26 Bank API documentation
Stars: ✭ 41 (+105%)
Mutual labels:  openapi
quart-openapi
Module for Quart to add Flask-RESTPlus like functionality
Stars: ✭ 70 (+250%)
Mutual labels:  openapi
apispec-webframeworks
Web framework plugins for apispec (formally in apispec.ext).
Stars: ✭ 25 (+25%)
Mutual labels:  openapi
rdme
ReadMe's official CLI and GitHub Action
Stars: ✭ 44 (+120%)
Mutual labels:  openapi
dataclasses-jsonschema
JSON schema generation from dataclasses
Stars: ✭ 145 (+625%)
Mutual labels:  openapi
rapiclient
Dynamic Open API (Swagger) Client for R
Stars: ✭ 55 (+175%)
Mutual labels:  openapi
lagom-openapi
OpenAPI/Swagger module for Lagom
Stars: ✭ 34 (+70%)
Mutual labels:  openapi
openapi-specification
Pinnacle REST API Open API Specification (swagger)
Stars: ✭ 20 (+0%)
Mutual labels:  openapi
java-crud-api
No description or website provided.
Stars: ✭ 24 (+20%)
Mutual labels:  openapi

A PHP Client for Harvest API

example workflow

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.

Installation

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

Usage

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.

Troubleshoot

Got some problems using this library? Need a missing feature? Do not hesitate to open an issue and share it with us.

Further documentation

You can see the current and past versions using one of the following:

And finally some meta documentation:

License

This library is licensed under the MIT License - see the LICENSE file for details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].