2017 © Pedro Peláez
 

library harvest-php-client

A PHP Client for the Harvest V2 API

image

valsplat/harvest-php-client

A PHP Client for the Harvest V2 API

  • Thursday, May 10, 2018
  • by valsplat
  • Repository
  • 1 Watchers
  • 0 Stars
  • 0 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 1 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

, (*1)

(Unofficial) Harvest v2 API Client for PHP

Contributing

$ git clone git@github.com:valsplat/harvest-php-client.git
$ cd harvest-php-client
$ composer update -o

Installation

$ composer require valsplat/harvest-php-client

Endpoints

This API client is very much a work in progress and is incomplete at this time. You can only use the Client, Project, Task, TaskAssignment, User and UserAssignment endpoints. Feel free to create a Pull Request to increase coverage., (*2)

Authentication

Authentication is done via providing your account ID and a personal access token:, (*3)

$connection = new \Valsplat\Harvest\Connection();
$connection->setAccessToken('ACCESS_TOKEN');
$connection->setAccountId('ACCOUNT_ID');

Get your token and account ID here: https://id.getharvest.com/oauth2/access_tokens/new, (*4)

Errors

The API client throws two exceptions:, (*5)

  • \Valsplat\Harvest\Exceptions\NotFoundException - Entity could not be found
  • \Valsplat\Harvest\Exceptions\ApiException - Generic Api exception

Basic Usage

Each endpoint is accessible via its own method on the \Valsplat\Harvest\Harvest instance. The method name is singular, camelcased:, (*6)

$vlak = new \Valsplat\Harvest\Harvest($connection);
$vlak->TaskAssignment();

Generic methods & filters

  • list((array)params) - get a collection of entities. You find the available params per endpoint in the Harvest docs.
  • get((int)id) - get a single entity via its id.
  • create() - create given entity.
  • update() - update given entity.
  • save() - convenience method; calls update() if the entity already exists, create() otherwise.
  • delete() - delete given entity.

Usage examples

Authentication and usage examples: example.php, (*7)

TODO

  • Tests w/ mocked http client
  • Complete endpoint support
  • Automatic marshaling of attributes

The Versions

10/05 2018

dev-master

9999999-dev https://github.com/valsplat/harvest-php-client

A PHP Client for the Harvest V2 API

  Sources   Download

MIT

The Requires

 

by Bjorn Post
by Joris Leker

api php guzzle harvest