christophe-rouille / teamleader-php-sdk

Teamleader API v2 PHP SDK

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Teamleader API v2 PHP SDK

This is a PHP wrapper for the Teamleader API v2. Documentation of the API can be found here: https://developer.teamleader.eu/. Please note that the Teamleader API v2 is not complete and some Entities and Actions are missing.

Currently we only support a few entities and per entity only a few actions:

  1. Company (create and update, getById)
  2. Contact (create, update, linkToCompany, getById)
  3. Deal (create, update, move)
  4. Deal phases (get)
  5. Deal sources (get)
  6. Activity types (get)
  7. Event (create, update, delete, get, getById)
  8. Business types (get)
  9. Tags (get)
  10. Invoice (get)
  11. Credit notes (get)
  12. Payment terms (get)
  13. Tax rates (get)
  14. Withholding tax rates (get)
  15. Departments (get)
  16. User (me, get, getById)
  17. Webhook (get, register)

Teamleader API v2 works with OAuth2. This means your application needs to be registered on the Teamleader Marketplace (you can keep them private though).

Please contact me at jan@jannesmannes.nl if you have any feedback or questions.

Examples

See all examples in the examples directory.

Request an access token

You need to do this once, after you get an access token you can use the refresh token to obtain a new access token after it expires.

<?php
require __DIR__ . '/../vendor/autoload.php';

require __DIR__ . '/credentials.php';

$redirectUrl = 'https://teamleader-php-sdk.dev/examples/acquire-access-token.php';

$connection = new \Teamleader\Connection();
$connection->setClientId( $clientId );
$connection->setClientSecret( $clientSecret );
$connection->setRedirectUrl( $redirectUrl );

$connection->acquireAccessToken();

Create a company

$company = $client->company( [
    'name' => 'Test API v2',
] )->save();

Get deal phases

$dealPhases = $client->dealPhase()->get();

TODO

  • Support custom actions on Deals
  • Add all other Entities

Change log

2.0.0 (2019-09-24)

Full change log

Many thanks to @Senjutsuu and @carakas from @sumocoders for most of the below changes!

Features:

  • Move deals
  • List and register webhooks
  • Added repo license
  • Added old id to new id migration endpoint
  • Moved to PHP 7.1
  • Activity type entity added
  • Event entity added
  • Added a remove endpoint to all storable entities
  • Added businesstype entity
  • Added tag entity
  • Added invoice entity
  • Added credit note entity
  • Added tax rate entity
  • Added payment term entity
  • Added withholding tax rate entity
  • Added department entity
  • Added unit tests
  • A lot of code refactoring
  • Added filter, paging en sorting attributes to entities
  • Added JSON serialisation
  • Added fetchAll method to entities
  • Added user entity

Fixes:

  • Updated outdated attributes for the company entity
  • Fix getting data from the cache when there is no cached data
  • Storable::update fixed

1.2.0 (2018-08-23)

Full change log

Features:

  • Added Contact->linkToCompany Action

1.1.1 (2018-08-23)

Full change log

Features:

  • Added readme

Fixes:

  • Switched back to GuzzleHttp 6

1.1.0 (2018-08-22)

Full change log

Features:

  • Added more examples
  • Implemented FindAll action
  • Added DealPhase entity
  • Added DealSource entity

About

Teamleader API v2 PHP SDK

License:MIT License


Languages

Language:PHP 100.0%